Mit viel Freude las ich gerade die Folien einer Vorlesung über Cleanroom Software Engineering von Kollege Prechelt von der FU Berlin. Diese Arbeitsweise hätte ich
mir in der Praxis gewünscht und lehre ich auch. Manchen Menschen liegt sie leider grundsätzlich nicht, als würde ihnen Schmerzen zugefügt durch eine saubere Arbeitsweise. Dabei ist der menschliche Geist nicht dazu fähig, ad hoc und agil komplexe Systeme fehlerfrei herzustellen, und beim Testen entwischen ja bekanntlich auch noch 15 % aller Fehler, wobei dann viele entdeckte Fehler auch nicht mehr behoben werden (können). Der einzige Weg zu richtig guter Software sind kontrollierte Vorgehensweisen.
Ich weiß, wirtschaftlich gesehen ist fehlerfreie Software nicht nötig. Kann der Kunde seine Bestellung online nicht abschicken, dann muss er halt anrufen oder faxen. Kein Problem.
Der Hinweis, dass diese Art des Software Engineering gut geschulte Mitarbeiter benötigt, gefällt mir als Wissensvermittlerin natürlich. Und so frage ich mich umgekehrt, ob die agilen Techniken nicht letztlich ein Versuch sind, auch mit ungeschultem Personal irgendwie trotzdem Software herzustellen. Dabei verlassen sich die agilen Projekte voll und ganz auf die "Helden", also erfahrene Mitarbeiter, die Komplexität im Kopf beherrschen und aus Erfahrung alles richtig machen. Da in der Agilität aber keine Techniken für die Verwaltung von Komplexität und systematische Arbeit zur Verfügung stehen, profitieren diese Helden von ihrer Erfahrung im früheren Arbeiten mit nichtagilen Vorgehensmodellen, und diese wird mit der Zeit leider verblassen.
Andrea Herrmann