Ich hatte diese Woche die Ehre, einmal mehr Stefan Lieser zu erleben. Stefan Lieser ist Berater und Trainer im Bereich Clean Code und hat in den letzten Jahren zusammen mit Ralph Westphal eine Frage gestellt: Was macht einen professionellen Software Entwickler aus?
Stephan Lieser stellte diese Frage an der Hochschule Bonn-Rhein-Sieg.
Ich bin großer Fan de Buchs "Clean Code: A Handbook of Agile Software Craftsmanship" von Robert C. Martin (a.k.a. Uncle Bob). Und genau diese Ansätze griffen Stefan Lieser und Ralph Westphal auf und arbeiteten ein Wertesystem aus, welches sie unter www.clean-code-developer.de zur Diskussion stellen.
Diese Woche stellte Frank Stefan Lieser Aspekte des Wertesystems in unserer Hochschule vor. Und ich muss sagen: ich bin beeindruckt. Alles begann mit der Fragestellung danach, was einen Professionellen Softwareentwickler ausmacht, und was ihn wohlmöglich vom einfachen Programmierer unterscheiden. Relativ schnell wurde klar, dass das Wissen alleine nicht ausreicht, es bedarf auch einer gewissen Ethik. Diese Ethik, von CCD als "Werte" bezeichnet, wurden in ein System gegliedert. In einem Brainstorming wurde erarbeitet, welche Aspekte dazugehören. Unter anderem wurde dabei der Begriff "Software warten" abgeschafft: Software braucht keinen Ölwechsel und besitzt keine Verschleißteile. Software muss angepasst und weiterentwickelt werden. Dafür muss sie evolvierbar sein.
Anschließend folgten einige Interessante Diskussionen. Beispielsweise, warum sich UML nicht als Universalwerkzeug eignet, besonders nicht bei der Planung von Software. Auch interessant war die Frage nach Tests. Tests sind wichtig: zum einen erwartet der Kunde automatisch, dass das Produkt einwandfrei funktioniert. Eine geniale Analogie: "Wenn ich in ein Geschäft gehe, muss ich auch nicht explizit fragen, ob die Butter, die ich kaufen will, eventuell giftig sein könnte." Zum anderen sorgen Tests aber in erster Linie für ein flexibles Programmdesign.
Dann gab es ein kurzes Code-Review. Abschließend wurden die bekannten Armbänder vorgestellt, welche den Programmierer stets daran erinnern sollen, welche Grundsätze er einhalten soll.
Fazit: Wie Eingangs erwähnt bin ich von der Idee von Clean Code begeistert. Klar, man kann es damit natürlich übertreiben, aber ich behaupte, dass an vielen Stellen noch viel zu wenig darauf geachtet wird. Die Rechnung kommt erst viel später. Ohne das ganze vergöttern zu wollen: ich besitze die Armbänder ebenfalls und freue mich auf weitere spannende Diskussionen zu dem Thema. Und wenn der geneigte Leser die Möglichkeit hat, Stefan Lieser live zu erleben: er möge sie wahrnehmen!