Ralf Westphal im Gespräch über Clean Code Developer

Architektur/Methoden  –  Kommentare
Ralf Westphal, Microsoft MVP für Softwarearchitektur, ist freiberuflicher Berater, Projektbegleiter und Trainer für Themen rund um .NET-Softwarearchitektur.

Anfang des Jahres wurde die "Clean Code Developer"-Initiative gestartet. Sie hat zum Ziel, ein Qualitätsbewusstsein in der professionellen Softwareentwicklung zu schaffen. heise Developer nutzte die Gelegenheit, Mitbegründer und .NET-Experte Ralf Westphal ein ausführliches Resumee ziehen zu lassen.

heise Developer: Ralf, ihr bezieht euch mit eurer Initiative auf das Buch von Robert C. Martin, wollt euch aber von einigen seiner Ideen unterscheiden. Vielleicht stellst du erst mal kurz dar, wie es zur "Clean Code Developer"-Initiative kam?

Ralf Westphal: Clean Code Developer ist fast schon das konsequente Ergebnis zweier Lebenswege anlässlich einiger Zufälle. Stefan Lieser und ich hatten uns auf dem Open Space 2008 in Leipzig kennen gelernt und waren danach in E-Mail-Kontakt geblieben, in dessen Verlauf wir zufällig darüber stolperten, dass wir beide "Clean Code" gelesen hatten. Wir überlegten, wie man die Inhalte des Buchs einer größeren Zahl von Entwicklern nahe bringen könnte. Dass es mit einer Aufforderung zum Lesen nicht getan sein konnte, war uns klar. Außerdem fehlten uns einige Aspekte hochqualitativen Codes in Martins Buch. Mit manchen seiner Empfehlungen stimmen wir auch nicht überein. Also war für uns klar, dass wir etwas Eigenes auf die Beine stellen mussten.

Stefan erwähnte, dass Martin ein Armband trägt, das seine Clean-Code-Haltung zum Ausdruck bringen soll. Das erinnerte mich an eine andere Bewegung, von der ich gehört hatte, die mit Armbändern nicht nur eine Haltung demonstriert, sondern sie auch als Hilfsmittel benutzt, um die Haltung einzuüben. So kamen wir auf die Gürtel im Kampfsport, die eine Weiterentwicklung symbolisieren. Am Ende standen die sogenannten "Clean Code Developer"-Grade und die Armbänder. Die Grade definieren einen Weg durch die "Clean Code Developer"-Inhalte, und die Armbänder sind gleichermaßen Symbol für die Arbeit daran wie auch Lernhilfsmittel. Im Wiki beschreiben wir das näher.

Die Armbänder sind natürlich nur eine Äußerlichkeit. Ob man eines trägt oder nicht, das ist letztlich egal. Sie sind nicht jedermanns Sache. Wichtig ist, ob ein Entwickler eine "Clean Code Developer"-Haltung verinnerlicht. Das kann man nicht an einem Armband ablesen, sondern nur an Softwareartefakten.

heise Developer: Was wollt ihr mit der Initiative bewirken?

Westphal: Hier enden die Zufälligkeiten, und unsere Lebenswege treten in den Blick: Für Stefan zieht sich das Thema Qualität durch sein berufliches Leben. Hohe Qualität dessen, was er produziert – heute Software, früher Hardware-Infrastruktur –, befriedigt ihn nicht nur in einem absoluten Sinn, sondern er hält sie auch für erfolgskritisch.

Bei mir ist die innere Qualität von Software erst in den letzten Jahren in den Blick gerückt, seitdem ich mich mit Architektur beschäftige. Vorher war ich technikorientiert – allerdings immer schon auf dem Weg vom Konkreten ins Allgemeine, ins Konzeptionelle. Irgendwann hatte ich dann mal die Idee einer "Qualitätsbilanz", das heißt eines Dokuments, mit dem ein Softwarehaus beschreibt, was es für die Qualität seiner Software tut. Wenn Unternehmen Bilanzen ihrer Finanzen veröffentlichen müssen, um der Öffentlichkeit Einblick in ihre Wirtschaftlichkeit zu geben, warum sollten Unternehmen oder zumindest Softwareteams nicht auch Einblick in ihre Fähigkeit geben, langfristig wirtschaftliche Software herzustellen?

Mir ging es darum, Unternehmen bewusst zu machen, wie viel Geld sie mit schlechter Softwarequalität "verbrennen" – selbst wenn die Umsätze sie irgendwie gerade noch tragen. Die Idee stieß bei Stefan auf offene Ohren, und so sahen wir das Buch "Clean Code" als pragmatischen Ausgangspunkt für mehr Bewusstsein hinsichtlich innerer Softwarequalität. Denn um die geht es uns. Wir machen keine Aussage zu äußerer Qualität, die zum Beispiel mit Funktionen, Usability oder Skalierbarkeit zu tun hat. Uns geht es um Wartbarkeit – auch wenn wir den Begriff unglücklich finden. Sehr viele Projekte stecken in einem Wartungsalbtraum. Aus dem wollen wir sie wecken. Andere Projekte bewegen sich darauf zu. Denen wollen wir zeigen, dass der Albtraum vermeidbar ist.