Software Craftsmanship

Was ist das?

Software Craftsmanship ist eine Bewegung innerhalb der Softwareentwicklung, die Software als Handwerk betrachtet. Diese Bewegung betont die Wichtigkeit von hoher Qualität, kontinuierlicher Verbesserung und persönlicher Hingabe bei der Erstellung von Software. Software Craftsmanship wurde 2009 durch das Manifest von Robert C. Martin und anderen prominenten Entwicklern wie Sandro Mancuso und Martin Fowler formalisiert. Das Prinzip hinter Software Craftsmanship ist, dass Softwareentwicklung nicht nur ein technischer Prozess ist, sondern auch ein kreatives Handwerk, das ständiges Üben und Verbessern erfordert.

Wie funktioniert ?

Software Craftsmanship funktioniert durch die Anwendung von Best Practices, kontinuierliches Lernen und den Austausch von Wissen innerhalb der Entwicklergemeinschaft. Ein zentraler Aspekt ist die Einhaltung von Prinzipien wie Clean Code, Test-Driven Development (TDD) und Pair Programming. Clean Code, ein Konzept von Robert C. Martin, betont die Bedeutung von verständlichem, wartbarem und gut strukturiertem Code. TDD ist eine Methodik, bei der Tests vor dem eigentlichen Code geschrieben werden, um sicherzustellen, dass die Software den Anforderungen entspricht und weniger Fehler enthält.

Ein weiterer wichtiger Aspekt ist das Lernen und die kontinuierliche Verbesserung. Softwareentwickler, die sich der Software Craftsmanship-Bewegung verschrieben haben, investieren kontinuierlich in ihre Weiterbildung, sei es durch Lektüre, Kurse, Konferenzen oder die Arbeit an Open-Source-Projekten. Die Community spielt eine wichtige Rolle in dieser Bewegung, indem sie Plattformen und Veranstaltungen bereitstellt, auf denen Entwickler Wissen und Erfahrungen austauschen könne

Wer braucht Software Craftsmanship?

Software Craftsmanship richtet sich an alle Softwareentwickler und -ingenieure, die sich für die Erstellung qualitativ hochwertiger und nachhaltiger Software engagieren. Dazu gehören sowohl Anfänger als auch erfahrene Entwickler, die ihre Fähigkeiten verbessern und die Qualität ihrer Arbeit steigern möchten. Auch Unternehmen, die langfristig wartbare und gut funktionierende Softwarelösungen benötigen, profitieren von der Anwendung der Prinzipien des Software Craftsmanship.

Softwareentwickler, die sich als Software Craftsmanship verstehen, setzen sich für hohe Standards in der Softwareentwicklung ein und legen großen Wert auf die Qualität ihres Codes. Sie vermeiden „Crap“, also minderwertigen Code, der zwar kurzfristig funktioniert, aber langfristig Probleme verursacht. Stattdessen streben sie nach „Craftsmanship over Crap“, d.h. nach sauberem, gut designtem und wartbarem Code.

Softwareentwicklung als Handwerk

Softwareentwicklung als Handwerk bedeutet, dass der Prozess der Softwareerstellung mit der gleichen Hingabe und Sorgfalt wie ein traditionelles Handwerk betrieben wird. Dazu gehört das ständige Üben und Verfeinern von Fertigkeiten, das Lernen von Meistern ihres Fachs und die Anwendung bewährter Techniken und Werkzeuge. Software Craftsmanship hebt die Messlatte für professionelle Softwareentwicklung und fördert die Idee, dass Entwickler nicht nur funktionierende, sondern auch gut gemachte Software produzieren sollten.

Aspekt: Wissen, Werte und Community

Ein zentrales Element der Software Craftsmanship-Bewegung ist die Betonung von Wissen, Werten und Gemeinschaft. Die Entwicklergemeinschaft spielt eine entscheidende Rolle dabei, diese Prinzipien lebendig zu halten und weiterzugeben.

Wissen:

  • Kontinuierliches Lernen: Software Craftsmen investieren stetig in ihre Weiterbildung durch Kurse, Bücher, Konferenzen und praxisorientierte Projekte.
  • Mentoring: Erfahrene Entwickler geben ihr Wissen an jüngere Kollegen weiter, fördern deren Fähigkeiten und unterstützen ihre berufliche Entwicklung.
  • Best Practices: Der Austausch von bewährten Methoden und Techniken innerhalb der Community verbessert die allgemeine Code-Qualität und Effizienz.

Werte:

  • Linke Seite des Manifests:
    • Funktionierende Software: Die oberste Priorität ist es, Software zu erstellen, die zuverlässig und performant arbeitet.
    • Zusammenarbeit: Enge Kooperation mit Kunden und Teammitgliedern, um die bestmöglichen Ergebnisse zu erzielen.
  • Rechte Seite des Manifests:
    • Gut gestaltete Software: Wertschätzung für gut durchdachte und wartbare Softwarearchitektur.
    • Technische Exzellenz: Streben nach höchster Qualität und Präzision im Code, um nachhaltige und langlebige Lösungen zu schaffen.

Community:

  • Gemeinschaft: Die Entwicklergemeinschaft unterstützt sich gegenseitig durch regelmäßige Treffen, Hackathons und Workshops.
  • Code-Reviews: Kritisches Feedback und konstruktive Kritik durch Kollegen helfen, die Qualität des Codes kontinuierlich zu verbessern.
  • Netzwerken: Aufbau und Pflege von Beziehungen innerhalb der Community fördern den Wissensaustausch und berufliche Möglichkeiten.

Durch die Betonung von Wissen, Werten und Gemeinschaft wird die Software Craftsmanship-Bewegung zu einer starken Plattform, die Entwicklern hilft, ihre Fähigkeiten zu verbessern und qualitativ hochwertige, nachhaltige Software zu produzieren.Diese Aspekte fördern nicht nur die persönliche und berufliche Entwicklung der Entwickler, sondern auch die Gesamtqualität der Softwareentwicklung.

Kontakt aufnehmen