Direkt zum Hauptbereich

Der Software-Handwerker


Nachdem das Agile Manifest in der Welt der Softwareentwicklung vielen ein Begriff ist und irgendwie jeder 'agil' sein will, macht sich eine weitere Bewegung bemerkbar. Die der Software Craftsmanship mit einem eigenen Manifest.

Aber was ist denn dieses Software Craftsmanship und brauchen wir noch ein weiteres Manifest?



Geschichtlich gesehen gehen die Wurzeln der Software Craftsmanship Bewegung bis ins Jahr 1999 zurück, als Andy Hunt und Dave Thomas "The Pragmatic Programmer" veröffentlichten. 2001 folgte dann "Software Craftsmanship - The New Imperative" von Pete McBreen, welches der Bewegung wohl ihren Namen gab. Aber erst 2008 hat sie begonnen Fahrt aufzunehmen. Damals hat Robert C. Martin (Uncle Bob) einen fünften Wert für das agile Manifest vorgeschlagen: "Craftsmanship over Crap". Im gleichen Jahr erschien auch sein Buch "Clean Code".

Bei einem Bonn Agile Meetup Event Anfang 2011 haben wir versucht für die Bezeichunung Softwarecraftsman eine passende Übersetzung zu finden. Die zwei Hauptbegriffe hierbei waren Handwerker und Kunsthandwerker. Beide scheinen es aber nicht gut zu treffen denn der Handwerker hier teilweise mit einfachen Tätigkeiten verbunden wird und beim Kunsthandwerker kommt dann schnell der Gedanke an unnötige Schnörkel.

Ich habe "craftsmanship" noch einmal nachgeschlagen und Begriffe wie "handwerkliches Können" und "Handwerkskunst" gefunden. Ich denke dies trifft es ganz gut. Jeder Heimwerker kann aus ein paar Brettern einen Schrank bauen. Aber erst jemand der sein "handwerkliches Können" beherrscht wählt die richtigen Bretter mit der entsprechenden Sorgfalt und Augenmaß aus um dann mit den richtigen Werkzeugen einen qualitativen Schrank zu bauen.
Das Nachschlagen von "Craftsman" ergab neben "Facharbeiter" und "gelernter Handwerker" auch den Begriff: "Gewerbetreibender" zum Vorschein. Ein Gewerbetreibender ist ein Geschäftsmann und ist nicht nur daran interessiert zufriedene Kunden zu haben sondern auch nicht mehr zu liefern als Bezahlt.

Ich denke genau darum geht es: Nicht einfach eine Software zu erstellen die irgendwie ihren Zweck erfüllt sondern die gleichzeitig gut gearbeitet ist ohne unnötige Schnörkel zu haben.

Robert C. Martin beschreibt die Beweggründe der Bewegung und ihre Motivation so:
"One thing; and one thing only: We are tired of writing crap."
Brauchen wir denn wirklich eine weitere Bewegung dafür könnte man nun fragen?

Wenn man sich das agile Manifest und vor allem die gern übersehenen 12 Prinzipien dahinter ansieht so kann man zu dem Schluss kommen, dass es sich nicht um eine neue Bewegung handelt, sondern nur um eine SubBewegung die besonders an eins der zwölf Prinzipien erinnert:
Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.
In einer Zeit in der die sichtbaren SCRUM-Hüllen gern genommen werden um damit endlich einen "agilen" Prozess zu haben ist die Software Craftsmanship Bewegung zumindest mit der Hoffnung verbunden, dass auch in der Software was vom agilen Mainstream ankommt.

Arbeiten wir dran!

Auch wenn in anderen Ländern die Bewegungen zu dem Thema schon verbreiteter sind gibt es in Deutschland erste Initiativen welche sich dem Thema annehmen;

  • Clean Code Developer Eine Initiative welche Clean Code als Fundament der professionellen Softwareentwicklung sieht und einen Weg zur Einführung der daraus resultierenden Prinzipien aufzeigt.
  • Softwerkskammer Lokale UserGroups zum Thema SoftwareCraftsmanship
  • SoCraTes Das Software Craftsmanship and Testing Camp ist der Geburtsort der Softwerkskammern
Hinweis: Dies ist ein überarbeiteter und erweiterter Beitrag aus meinem alten Blog.

Kommentare

  1. Hi Christoph,

    danke für diese knackige Zusammenfassung!

    Was die Entstehung des Namens angeht, noch eine kleine Ergänzung von mir: Bereits 2001 hat Pete McBreen das Buch "Software Craftsmanship - The New Imperative" geschrieben (mit einem Vorwort von Dave Thomas - hier schließen sich also die Kreise).

    Viele Grüße
    Nicole

    AntwortenLöschen
    Antworten
    1. Danke Nicole! Das Buch kannte ich noch nicht. Ich habe den entsprechenden Absatz angepasst.

      Löschen

Kommentar posten

Beliebte Posts aus diesem Blog

Eine Retro im Kreis

Für die letzte Retro habe ich die Tische und Stühle alle beseite gestellt um dann mit Klebeband (Malercrep) drei unterschiedlich große Kreise um einen Mittelpunkt zu kleben. Der innerste Ring war groß genug, dass das gesamte Team da drin Platz finden konnte.

Für die erste Phase der Retro habe ich Kärtchen mit den Zahlen 50, 40, 30, 20 in den Ringen verteilt. Die 50 in der Mitte und dann absteigend nach außen. Um so eine Zielscheibe anzudeuten.

Speed Temenos auf dem AgileDay der JAX

Letzte Woche hatte ich die Gelegenheit auf dem AgileDay der JAX zu sein. Neben Vorträgen am Vormittag mit Beiträgen zu Retrospektiven agile in Konzernen sowie einer spezifischen Implementierung in einem Unternehmen stand nach der Mittagspause ein Speed Temenos mit Olaf Lewitz und Christine Neidhardt auf dem Programm. Zur Unterstützung hatten sie sich Unterstützung über die Softwerkskammer organisiert, so dass die Anwesenden von insgesamt 20 Facilitatoren betreut wurden.

Bei Temenos handelt es sich um einen "geschützten Raum" in dem Menschen Offenheit und Vertrauen erleben können. Das Speed Temenos mit seinen 3 Phasen, in welchen es um die Persönliche (Berufliche) Vergangenheit, den Ist-Zustand und die Vision für die Zukunft geht hilft über Geschichten erzählen, sich selbst zu reflektieren und Gemeinsamkeiten in der Gruppe zu entdecken. Details sind auf http://trusttemenos.de/ viel besser erklärt als ich es hier kann.

Ich hatte Temenos mit Olaf bereits auf der Play4Agile 201…

Der Wasserfall ist immer noch vorherrschend in der Softwareentwicklung

In den letzten Jahren sind viele "neue" Bewegungen auf der Bildfläche des Mainstream-Bewusstseins der Softwareentwicklung erschienen. Und viele aktuelle Studien berichten, dass die Agilität den Wasserfall abgelöst hat. In allen Softwareunternehmen und viele der Entwickler die ich treffe reden zumindest viel über Agilität.

Wenn aber mal einen Schritt zurück macht sieht das (ideal) Bild eher so aus:

Die neue Lösung wird mit Design Thinking gefunden und definiert. In der Entwicklung ist dann eher die Rede von agile (meist Scrum) und selten SoftwareCraftsmanship. Von der Betriebsseite heißt es nun DevOps. Aber dazwischen gibt es immer noch Brüche und es existiert keine Ganzheitlichkeit.

Jahrzehnte lang haben wir in der Softwareentwicklung geglaubt und es so auch allen Kunden beigebracht, dass die "Cost of Change Curve" gilt und daher der Wasserfall als Vorgehen perfekt ist.
(Was nun was bedingt, lass ich mal dahingestellt)

Dadurch haben sich natürlich auch die Struktur…