Zeitschätzungen, Erfahrungen und Prototypen
Bild: Wikimedia Commons / W. Carter - CC0 1.0 |
Um zu verstehen warum das so ist empfiehlt sich zuerst ein Blick auf eine Industrie in der die grosse Frage sehr genau beantwortet werden kann. Nehmen wir die Auto-Industrie. Die grossen Automobilhersteller können z.T. bis auf die Minute genau kalkulieren wie lange es dauern wird ein Fahrzeug zusammenzubauen. Warum sie das können? Weil der Fertigungsprozess hochgradig standardisiert und dadurch berechenbar ist. Wenn aber die Standardisierung der Arbeitsschritte die Lösung ist, ist das nicht der Weg zu verlässlichen Schätzungen? Nochmals die tragische Antwort: Leider nein, zumindest nicht in der IT.
Die Voraussetzung der Standardisierung ist die Erfahrung. Erst durch die weiss man welche Schritte stabil immer wieder das gleiche Ergebnis bringen wenn man sie wiederholt. Und erst durch die Erfahrung weiss man in welchem Abstand zueinender zusammengehörige Schritte gestartet werden müssen, damit die so erzeugten Teilergebnisse gleichzeitig fertigwerden und ohne Verzögerung zusammengebaut werden können. Aber war diese Erfahrung schon immer da? Natürlich nicht.
Wann auch immer eine Auto-Firma (bleiben wir beim Beispiel) zum ersten mal mit einer Produktion beginnt, fehlen zu Beginn die Erfahrungswerte - sonst wäre es kein Beginn. Aufgrunddessen sind die ersten Prognosen durch die Bank unzuverlässig und die ersten Produktionsziele werden verfehlt. Erst nach Jahren ermöglichen die Erfahrungen einen reibungslosen und planbaren Ablauf. Das war so vor einem Jahrhundert bei Ford und das ist heute so bei Tesla.
Um den Exkurs Richtung Automobil abzuschliessen: die Aufwands- und Zeitschätzungen sind dann besonders genau wenn ein identisches Produkt bereits tausendfach erzeugt wurde und dadurch viele Erfahrungswerte vorliegen. Wurde es dagegen erst wenige Male erzeugt ist die Unsicherheit und Unplanbarkeit deutlich grösser, und vorherzusagen wie lange der Bau eines Prototypen dauern wird ist schwierig bis unmöglich. Und an der Stelle schlagen wir den Bogen wieder zurück zur IT - die baut nämlich nur Prototypen. Immer. Ausschliesslich. Sonst nichts.
Wenn auf vierhundert Millionen Rechnern Windows als Betriebssystem läuft, dann wurde das dafür nicht vierhundert Millionen mal gebaut sondern nur exakt einmal. Und dieses eine einzige Betriebssystem wurde dann auf alle vierhundert Millionen Rechner aufgespielt. Alles andere wäre auch wirtschaftlich unvernünftig - warum sollte man Windows in jahrelanger Arbeit für jeden Rechner neu entwickeln, wenn man es nur einmal bauen muss und dann quasi durch Copy und Paste beliebig oft vervielfältigen kann? Das Gleiche gilt auch für jede andere Software.
Wenn aber in der IT nur Prototypen gebaut (oder erweitert) werden, und wenn der für einen Prototypen nötige Aufwand nur schwierig bis gar nicht vorhersagbar ist, dann ist die Folge genau die, die weiter oben beschrieben ist. Es lässt sich nicht genau vorhersagen wann eine Software fertig entwickelt sein wird. Tragisch aber wahr. Das bedeutet natürlich nicht, dass man dem hilflos ausgeliefert ist, es gibt Möglichkeiten damit umzugehen. Aufwandsschätzungen gehören aber nur als begleitender Indikator dazu.