Interview mit Sandro Mancuso

Software Craftsmanship – warum man stolz sein sollte, ein Entwickler zu sein

Coman Hamilton

© Shutterstock.com/Brian Goodman

Code als eine Art Kunstwerk zu betrachten ist ein Fehler. Gleichzeitig müssen wir jedoch damit beginnen, die Programmierung als originäre, professionelle Anerkennung verdienende Fertigkeit zu betrachten. Diese Ansicht vertritt zumindest Sandro Mancuso, Verfechter der Handwerkskunst im Softwarebereich und Speaker auf der JAX London.

JAXenter: Im Rahmen deines Workshops auf der JAX London möchtest du Entwicklern dabei helfen, besseren, kunsthandwerklichen Code zu schreiben. In deiner Rolle als Gründer der London Software Craftsmanship Community gefragt: Welchen Einfluss hat die Craftsmanship-Bewegung auf das Qualitätsniveau des Codes?

Mancuso: Software Craftsmanship ist nach wie vor eine junge Bewegung und ihre Auswirkung auf die Softwareindustrie als Ganzes betrachtet noch gering. Ich glaube, dass Software Craftsmanship eine natürliche Ergänzung der agilen Softwareentwicklung darstellt – und die hat immerhin mehr als 10 Jahre benötigt, um Mainstream zu werden.

Die agile Softwareentwicklung hat die Art und Weise, wie wir Softwareprojekte durchführen und ausliefern, komplett geändert. Sie bedeutete für die gesamte Industrie einen gewaltigen Schritt nach vorne. Leider ist dabei jedoch auch ein Teil der ursprünglichen agilen Botschaft verloren gegangen, vor allem im Hinblick auf die Qualität der Software.

Die Methodologien und Praktiken, die sich auf die Prozessseite konzentrieren, sind deutlich wichtiger geworden als jene, die den technischen Aspekt betonen. Für viele Organisationen ist Agile zu einem Synonym für Scrum und XP geworden, während wirklich gut gemachte Software nirgends in Sicht ist. Software Craftsmanship bringt nicht nur Agile wieder ins Gleichgewicht, sondern sorgt auch für eine massive Fokussierung auf die Professionalität in der Softwareentwicklung.

Software Craftsmanship hilft den Entwicklern dabei, sich als hochqualifizierte Fachkräfte zu verstehen und stolz auf diesen Umstand zu sein. Doch nur von sich selbst zu behaupten, eine hochqualifizierte Fachkraft zu sein, genügt nicht; vielmehr muss man auch von anderen als solche anerkannt werden. Die professionelle Anerkennung stammt von Kunden und Kollegen, je nachdem wie zufrieden sie sind bzw. wie kompetent man ist. Je mehr sich Entwickler als professionelle Softwareentwickler sehen, desto eher werden sie nach Exzellenz streben. Je mehr sie nach Exzellenz streben, desto größer ihre Fähigkeiten und ihr positiver Einfluss auf die Softwareindustrie. Das ist es, worum es bei Software Craftsmanship wirklich geht.

JAXenter: Warum hat es so lange gedauert, bis die IT-Community damit begonnen hat, die Softwareentwicklung als Handwerkskunst zu verstehen? Und war das Ziel „Funktionierende Software“ des Agilen Manifests nicht genug?

Mancuso: Einige der ersten Softwareprojekte waren sowohl geschäftskritisch als auch lang und sehr kostspielig, weshalb diese Projekte wie ähnliche Projekte in anderen Bereichen angegangen wurde. In den 1960ern bedeutete das, sich am Ingenieurwesen zu orientieren. Zudem hielten die Unternehmen das im Laufe der industriellen Revolution erworbene Erbe hoch und verfügten über streng hierarchische Strukturen, mit den Fabrikarbeitern an deren unterstem Ende. Erst im Laufe einer Jahrzehnte dauernden, massiven Hardware- und Software-Evolution hat unsere Industrie gelernt, die Dinge auf andere Weise zu sehen.

Der im Agilen Manifest genannte Wert „Funktionierende Software“ ist für sich genommen etwas schwach. Um zu verstehen, was funktionierende Software wirklich bedeutet, müssen wir uns einige der 12 agilen Prinzipien ansehen. Hier können wir Dinge wie „wertvolle Software“, „liefere funktionierende Software
regelmäßig“ und – am wichtigsten – „ständiges Augenmerk auf technische Exzellenz und 
gutes Design fördert Agilität“ lesen.

Die 17 Erstunterzeichner des Agilen Manifests haben verstanden, dass „funktionierende Software“ eigentlich „qualitativ hochwertige funktionierende Software“ bedeutet. Das heutige Problem von Agile besteht meiner Ansicht nach darin, dass viele Agile-Coaches niemals selber Softwareentwickler waren – oder zumindest keine guten. Deshalb ziehen sie es vor, nicht allzu viel über Software und XP-Praktiken zu sprechen, wenn sie ein Unternehmen beraten. Nur sehr wenige Agile-Coaches könnten sich mit einem Entwickler zusammensetzen und ihm dabei helfen, seine Build-Pipeline zu konfigurieren oder bessere Designansätze vorzuschlagen. Stattdessen ziehen sie es vor, sich darauf zu beschränken, einige Dinge nachzuplappern, die sie in Scrum-Guides gelesen haben. Ab und zu empfehlen sie Entwicklern auch – mit einer Attitüde der Überlegenheit – dieses oder jenes Instrument der testgetriebenen Entwicklung – ganz so, als wüssten sie wirklich, wovon sie da reden.

JAXenter: Ich habe schon häufig gehört, dass Programmierer in Südostasien wie Handwerker behandelt werden – wie ein Klempner, der für einen ganz bestimmten Job angeheuert wurde. Fragst du dich manchmal, ob die Craftsmanship-Bewegung nicht dazu führen könnte, dass die Vorstellung von einem Programmierer auf die eines einfachen Handwerkers reduziert wird?

Mancuso: Die einfache Antwort lautet: Nein. Zunächst einmal glaube ich nicht, dass das Ansehen der Programmierer in Südostasien die Behandlung ihrer Kollegen in Europa oder den Vereinigten Staaten verändern wird. Tatsächlich glaube ich, dass genau das Gegenteil der Fall sein wird: Europa und die Vereinigten Staaten werden dafür sorgen, dass sich die Behandlung der Programmierer in Südostasien wandelt. Ich habe schon häufiger in Unternehmen mit Offshore-Teams gearbeitet, und meiner Erfahrung nach übernehmen mehr und mehr südostasiatische Firmen agile Methoden und Software Craftsmanship. Ich habe auch persönlich einige Unternehmen besucht und ihnen die entsprechenden Praktiken vorgestellt. Und ich weiß, dass viele europäische und amerikanische Profis das selbe getan haben. Es werden auch mehr und mehr Agile-Konferenzen in dieser Region abgehalten – ein Zeichen dafür, dass sich die Dinge dort ändern.

JAXenter: Wird Software Craftsmanship angesichts der wachsenden Bedeutung von Programmierern in allen Unternehmen, die von Technik abhängig sind, zu einem immer wichtigeren Konzept? Besonders dann, wenn man seinen Anspruch „nicht nur auf Veränderung zu reagieren, sondern stets Mehrwert zu schaffen“ bedenkt?

Mancuso: Absolut. Große Unternehmen realisieren endlich, wie ineffizient sie sind und investieren massiv in Agile und Craftsmanship. Ich persönlich konnte das bei Investmentbanken, Medien- und Telekommunikationsunternehmen, und – das aktuellste Beispiel – der Regierung des Vereinigten Königreichs beobachten. Es ist zwar noch ein weiter Weg, doch es tut sich definitiv etwas.

JAXenter: Die Craftsmanship-Debatte führt häufig zu Diskussionen à la „Code ist eine Kunst“. Glaubst du, es ist der Sache zuträglich, wenn man Code als etwas schönes, etwas künstlerisches betrachtet?

Mancuso: Nein. Je mehr ich darüber nachdenke, desto mehr bin ich davon überzeugt, dass das ein Fehler ist. Unglücklicherweise habe ich in der Vergangenheit den selben Fehler begangen. Code für etwas schönes oder künstlerisches zu halten ist eine sehr irrige, romantische und simplifizierende Sichtweise auf die Softwareentwicklung. Das gleiche gilt für das Ingenieurwesen, das Handwerk etc. Die Softwareindustrie ist einfach deutlich komplexer und die Softwareentwicklung schließt eine Vielzahl unterschiedlicher Fähigkeiten ein. Manchmal fühlt es sich gut an, es als Kunst zu bezeichnen, aber das hat mehr mit dem eigenen Ego zu tun als mit irgendetwas sonst.

Ein einzelnes Softwareprojekt kann Elemente des Ingenieurwesens, des Handwerks und sogar der Kunst enthalten. Manch ein Code stellt das Werk eines Genies dar und ist wunderschön gearbeitet. Anderer Code wiederum ist ein Beispiel für langweiligen, mechanischen Mist, erledigt seine Aufgabe jedoch wunderbar. Für manch einen von uns mag es deutlich mehr bedeuten, ein Software Craftsman zu sein: Eine Verpflichtung zur Exzellenz, einen Lebensstil.

Am Ende läuft es darauf hinaus, dass von uns als Profis erwartet wird, unseren Kunden eine qualitativ hochwertige Dienstleistung zu erbringen, was normalerweise bedeutet, gut gemachte Software abzuliefern. Es ist nicht wichtig, es als Kunst oder Handwerk zu bezeichnen. Für mich würde die Bezeichnung auch nichts ändern. Ich selbst bevorzuge zwar die Handwerk-Metapher, aber wie das mit Metaphern eben so ist: Man findet immer Beispiele, bei denen sie nicht greifen oder schlichtweg falsch sind. Auf einer persönlichen Ebene gesprochen: Worum es mir wirklich geht, ist zu lieben, was ich tue. Und das Glück zu haben, dafür bezahlt zu werden.

Aufmacherbild: overhead view of a set of old wood working tools von Shutterstock.com / Urheberrecht: Vladimir Arndt

Geschrieben von
Coman Hamilton
Coman Hamilton
Coman was editor of JAXenter.com at S&S Media Group. He has a master's degree in cultural studies and has written and edited content for numerous websites and magazines, as well as several ad agencies.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: