Sie können ein Softwareprojekt mit größter strategischer Hingabe planen und sich dabei auch gerne auf den Kopf stellen - trotzdem werden Sie nicht akkurat abschätzen können, welche Schwierigkeiten bei der eigentlichen Arbeit - der Codeerstellung - auf Sie und Ihr Team zukommen. Der ein oder andere Leser mag diese Aussage für verrückt halten - ich bin allerdings davon überzeugt, lediglich etwas auszusprechen, dass alle wissen, aber niemand wahrhaben will.
Softwareprojektrealitäten
Es wurden unzählige Bücher geschrieben, Konferenzen abgehalten, Beratungs-Sessions verkauft und schier endlose Blogbeiträge darüber verfasst, wie sich der Aufwand hinter Softwareprojekten besser abschätzen lässt. Das ist einerseits verständlich, schließlich warten diverse Entscheider nur darauf, neue Funktionen anpreisen zu können - weswegen Deadlines auch häufig an Event-Kalendern festgemacht werden, statt am Status Quo der Entwicklung. Andererseits muss man aber eben auch festhalten, dass das eigentlich nicht geht: Denn Aufwandsschätzungen für Softwareprojekte liegen so gut wie immer daneben. Daran ändern auch ausufernde Trainingsprogramme und teure Consultants nichts. Und es ist höchste Zeit, sich das einzugestehen.
Natürlich hat es auch Gründe, warum Aufwandsschätzungen für Softwareprojekte nicht funktionieren wie sie sollen. Der wohl wichtigste: Jedes Softwareprojekt ist einzigartig und weist eine eigene, lange Liste "unbekannter Unbekannter" auf. Sie können für ein Projekt unzählige Arbeitsstunden verplanen, strategische Glanzleistungen vollbringen und es in so viele Bestandteile aufsplitten wie Sie wollen. Trotzdem werden Sie die potenziellen Schwierigkeiten in der Umsetzungsphase nicht planen können. Vielmehr werden Sie jedoch diverse Aspekte zur Verzweiflung treiben, die Sie im Rahmen Ihrer Aufwandsschätzung drastisch unterschätzt haben.
Das liegt natürlich auch daran, dass der durchschnittliche Softwaremanager davon ausgeht, dass der Weg zum Ziel über eine Autobahn führt, die stets geradeaus führt und ausschließlich mit bestem Wetter gesegnet ist. Leider ist das allerdings nie der Fall: Anforderungen ändern sich, Prioritäten verschieben sich, Projekte ufern aus, Mitarbeiter werden krank. Kurzum: Softwareprojekte laufen in absolut keinem Fall von Anfang bis Ende in absolut ruhigem Fahrwasser. Das eigentliche Problem liegt allerdings darin, dass die Softwareentwicklung keine Ingenieursdisziplin ist, sondern ein Prozess, der von menschlicher Wechselhaftigkeit, interagierenden Persönlichkeiten und nicht-wissenschaftlichen Lösungen geprägt ist. Es handelt sich um einen Kreativprozess, der nicht auf festgelegte, wiederholbare Schritte heruntergebrochen werden kann.
Dass ein Unternehmen seinen Kunden nicht sagen kann, dass ein Auftrag eben kommt, wenn er fertiggestellt ist, ist klar. Die Konsequenz wäre, dass dieser sich einen neuen Anbieter sucht, der ihm sagt, was er hören möchte - auch wenn es völliger Unsinn ist. Trotzdem müssen wir einen Weg finden, zu akzeptieren, dass Aufwandsschätzungen nicht sinnvoll sind. Die IT- und Softwarebranche sucht seit Jahrzehnten nach dem heiligen Gral für die Aufwandsschätzung von Softwareprojekten - der nie gefunden werden wird. Ein Mittel, um das Problem aufzulösen, ist nicht in Sicht. Die Fakten zu akzeptieren wie sie sind, wäre dennoch der erste Schritt, um sich diesem Problem überhaupt einmal zu stellen. (fm)