JAX Countdown

Der Agile Architekt: Warum es nicht genügt, ein guter Programmierer zu sein

Hartmut Schlosser

In dieser Folge des JAX Countdown sprechen mit Codecentric CTO Uwe Friedrichsen über emergente Architekturen, die Software-Craftsmanship-Bewegung und darüber, warum es für einen agilen Architektren nicht genügt, stets nur seine Programmierfähigkeiten zu verbessern.

JAXenter: Hallo Herr Friedrichsen! In Ihrer JAX-Sesion „der Agile Architekt“ gehen Sie von der „Software Craftsmanship“ Bewegung aus. Worum handelt es sich dabei?

Uwe Friedrichsen: Das ist eine sehr gute Frage. Aus meiner Wahrnehmung gibt es sehr unterschiedliche Auffassungen zu dem Begriff. Das beginnt mit sehr eng gefassten Interpretationen, in denen es ausschließlich darum geht, das persönliche Programmiergeschick zu optimieren, bis hin zu sehr breiten Sichtweisen, die den Software-Entwicklungsprozess in seiner ganzen Breite von der Anforderung bis zum Betrieb sehen und entsprechend eine ganzheitliche Weiterentwicklung eines IT-Professionals fordern.

Ich persönlich bin eher ein Verfechter eines breiter angelegten Craftsman-Begriffs, denke aber, dass alle Interpretationen ihre Berechtigung haben. Craftsmanship ist für mich eine ständige Weiterentwicklung mit dem Ziel, Mehrwert und Qualität für unsere Kunden zu schaffen. Als wenig erfahrener Entwickler muss ich dafür erst einmal Expertise auf einem relativ klar umrissenen Gebiet aufbauen, und da Code letztlich ein Kernergebnis all unserer Anstrengungen ist, macht es Sinn, mit dem Verbessern der eigenen Programmierfähigkeiten zu beginnen.

Mit wachsender Erfahrung sollte ich mich dann sukzessive breiter aufstellen, da Programmieren nur eine von diversen Fähigkeiten ist, die ich benötige, um Qualität und Mehrwert für meine Kunden zu schaffen. Ein guter Craftsman sollte für mich Freude daran haben, seine Kunden zufriedenzustellen, oder besser noch zu begeistern, und hervorragende Programmierfähigkeiten alleine sind dafür nicht ausreichend.

JAXenter: Welche Werte werden im Software Craftsmanship Manifesto vertreten?

Uwe Friedrichsen: Das Manifest ist als Weiterführung des agilen Manifests formuliert worden. Es arbeitet wie das agile Manifest mit einer „Linke-Seite-rechte-Seite“-Darstellung. Die Form ist dabei jeweils „Nicht nur , sondern auch <erweiterter Craftsmanship-Wert>“. So konnten die vier Werte aus dem agilen Manifest aufgegriffen und weiterentwickelt werden. Die vier Werte, die das Manifest dabei formuliert, sind frei übersetzt: qualitativ hochwertige Software, konsequente Wertorientierung, Professionalität und partnerschaftliche Zusammenarbeit.

Was ich persönlich an dem Manifest noch für bemerkenswert halte, ist die Tatsache, dass es sich von der Formulierung her zwar wie eine Verfeinerung des agilen Manifests anhört, faktisch aber weit darüber hinausgeht. Wenn man das Manifest liest, könnte man denken, dass das Manifest nur eine „radikale Teilgruppe“ der Agilisten adressiert, denen das agile Manifest nicht weit genug geht. Das ist aber nicht der Fall. Craftsmanship geht weit über Agilität hinaus und spricht auch viele Leute an, die sich von Agilität nicht angesprochen fühlen.

JAXenter: Gleichzeitig üben Sie ja auch Kritik, indem Sie sagen, dass Craftsmanship ohne Architektur wenig Wert hat. Ist Ihnen die Craftsmanship-Bewegung zu stark auf die Entwickler-Perspektive gerichtet?

Uwe Friedrichsen: Ich erlebe eine starke Fokussierung auf die Entwickler-Perspektive, und in mancher Diskussion kann ich mich des Gefühls nicht erwehren, dass Craftsmanship dort als Vorwand verwendet wird, sich ausschließlich um eigene Vorlieben zu kümmern und den Rest zu ignorieren, der zu professioneller Software-Entwicklung dazugehört. Letzteres gilt natürlich nicht für die breite Masse der Bewegung, aber eine starke Fokussierung rein auf die Entwickler-Perspektive, genauer Verbesserung der Kodierfähigkeiten, sehe ich häufig.

Das greift für mich aber zu kurz, weil es nur auf den ersten Wert des Manifests „well-crafted Software“ fokussiert. Die anderen Werte werden dadurch nicht adressiert. Beispielsweise bleibt der zweite Wert „steadily adding value“ bei einem solch eng gefassten Fokus außen vor. Der Wert wird durch den Kunden bestimmt, nicht durch uns. Wenn wir uns nur auf die reine Programmierung konzentrieren, dann wissen wir ja gar nicht, ob wir Mehrwert erzeugen oder nicht.

Gleiches gilt aus meiner Sicht für die anderen zwei Werte „community of professionals“ und „productive partnerships“. Letzteres ist nur möglich, wenn ich mich mit allen Beteiligten – insbesondere auch meinen Kunden – auf Augenhöhe unterhalten kann. Als „Profi“ werde ich von anderen nur wahrgenommen, wenn ich in der Lage bin, ihre Bedürfnisse zu verstehen und meinen Teil zur Lösung beizutragen. Auch dafür reicht es nicht, ausschließlich seine Programmierfähigkeiten zu verbessern.

Wie ich es bereits bei meiner Antwort auf die erste Frage gesagt habe: Seine Programmierfähigkeiten zu verbessern, ist ein guter Startpunkt auf seinem Weg zu einem Software Craftsman. Mit wachsender Erfahrung muss man sich aber breiter aufstellen und auch Expertise jenseits der reinen Entwickler-Perspektive aufbauen, um wirklich ein Craftsman zu werden.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare
  1. Kalleos2016-08-14 20:35:20

    Nichtssagender Artikel...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.