Je nachdem, welche aktuelle Studie man zugrunde legt sind bei größeren IT Projekten 70 bis 80 Prozent der Projekte "Out of Time” oder "Out of Budget”. Da drängt sich natürlich die Frage auf, ob da nur Laien am Werk sind, oder ob es andere Gründe für die Probleme gibt.
Die Beleuchtung der drei projektbestimmenden Eckpunkte Budget, Deadline und Fachlichkeit bringen dabei Licht ins Dunkel.
Aus der eigenen Erfahrung kann ich das nur für komplexe Hosting-Projekte beurteilen, allerdings dürften die Probleme eher grundsätzlicher Natur sein und in allen Branchen auftreten.
Schauen wir uns die Rahmenbedingungen von etwas größeren Projekten an: alle Projekte haben ein Budget, einen Zeitrahmen mit Deadlines und eine definierte Fachlichkeit, meist über ein Pflichten- oder Lastenheft beschrieben. Das sind die drei Eckpunkte, die ein Projekt festnageln.
Bei kleinen, einfach gelagerten Projekten funktioniert das auch hervorragend. Solange man sich ein wenig Mühe gibt, die Fachlichkeit genau definiert, das benötigte Budget zusammenrechnet und sich genau überlegt, wie lange man braucht.
Bei Projekten, die man immer wieder umsetzt, und bei denen man sich genau auskennt, funktioniert das: Auspuff reparieren, Wohnzimmer anstreichen, Standard Webserver aufsetzen und zur Verfügung stellen.
Die Grenzen des Schätzens in der Praxis
Problematischer wird es bei Projekten, die komplexer sind und bei denen die Projektverantwortlichen Neuland betreten. Hier fangen wir an Annahmen zu treffen und zu schätzen - und zwar viele Male.
Leider sind wir Menschen extrem schlecht im Schätzen.
Die Adacor betreibt im Kerngeschäft Individualprojekte. Software wird individuell entwickelt und dann von uns betrieben - und das teilweise mit Hunderten bis Millionen Nutzern, je nach Art des Projektes. Zu dem Zeitpunkt an dem der Betrieb der Infrastruktur ausgeschrieben wird, ist in der Regel die Software noch nicht einmal fertig entwickelt, man weiß nicht genau wie viele Leute zugreifen werden und wie diese die Software nutzen.
Aber es gibt schon eine klare Anforderung an die Infrastruktur und man möchte feste SLAs eine feste Architektur und eine definierte Verfügbarkeit zum Festpreis.
Die Katastrophe beginnt bei der Ausschreibung: Ein Beispiel
Eine typische Situation aus der Praxis. Wir bekommen eine Ausschreibung auf den Tisch, ca. 100 Seiten, Infrastruktur für ein neues Projekt, Software wird noch entwickelt und alles genau spezifiziert. Für die Erstellung der Ausschreibung wurde sogar eine Consulting Firma beauftragt.
-
Nach Lektüre der Ausschreibung und ein wenig Analyse antworten wir: Leider können wir nicht an der Ausschreibung teilnehmen, weil die Spezifikationen technisch gesehen nicht funktionieren werden. Natürlich mit Begründung.
-
Antwort: Bitte nehmen Sie trotzdem teil und bieten etwas an, was nicht funktioniert, damit die Vergleichbarkeit gewahrt bleibt.
-
Da denke ich mir: "Na super. Wie wird das Projekt wohl laufen?" Das bedeutet im Klartext: Man weiß eigentlich noch nicht sicher, was man im Detail benötigt, aber man schreibt es schon fest. Man weiß auch nicht wie viel man benötigt, dafür schreibt man das auch schon fest, mit einem festen Preis. Dann wird auch noch der Termin für das "going live” gefixt und fertig ist die Katastrophe.
Bei solchen Projekten gibt es auch noch immer mehrere Parteien (mindestens Kunde, Software-Dienstleister und uns), die alle drei ihre Aufgaben erfüllen und Deadlines einhalten müssen.
Wenn jetzt alle drei Säulen - Fachkonzept, Budget und Deadline - fixiert werden und sich dann herausstellt, dass irgendwelche Annahmen und Schätzungen falsch waren, explodiert das Projekt.
Und mal ehrlich, wie wahrscheinlich ist es bei einem Projekt, in dem es um etwas Neues geht und man keinerlei Erfahrungswerte hat, dass man treffgenaue Schätzungen abgibt? Gleich Null!
Demgemäß ist auch die Wahrscheinlichkeit nicht sehr hoch, dass ein Projekt genauso läuft wie geplant und alle drei Eckpunkte eingehalten werden. Nur sind dann alle überrascht und entsetzt, dass die böse Realität sich einen Weg gebahnt hat.
Halten wir also fest
-
Bei komplexen Projekten ist es unglaublich schwierig, die genauen fachlichen Anforderungen schon vor Beginn des Projektes zu definieren, da die Erfahrung fehlt. Deshalb werden Annahmen getroffen.
-
Wir Menschen sind schlecht im Schätzen, vor allem wenn wir wenig Erfahrungswerte haben. Das wirkt sich besonders negativ auf die Frage der Dauer aus.
-
Also können wir nicht davon ausgehen, dass wir ein Projekt exakt im Voraus planen können, ohne eine Menge Fehler zu begehen.
Bekannte Unsicherheiten lassen sich managen
Was kann man also tun? Der erste und wichtigste Schritt ist sich über die Projektunsicherheiten bewusst zu werden und auch die Zusammenhänge zwischen den Eckpunkten zu verstehen.
Hier ein sehr einfaches Beispiel aus der Praxis: In der Regel sind Webkampagnen von der Fachlichkeit recht überschaubar. Ein Gewinnspiel, oder eine Mitmachplattform für Fotos und oder Videos, Promiblog usw. Also nichts was sich von der technischen Seite nicht gut planen lässt.
Die Deadline ist meist durch äußere Ereignisse vorgegeben. Sei es ein Großereignis oder andere begleitende Werbekampagnen.
Der unbekannte Faktor ist die Menge. Kein Mensch weiß vorher, wie erfolgreich die Kampagne sein wird und wie viele User auf die zugrunde liegende Applikation zugreifen werden.
Also muss man sich über diesen Unsicherheitsfaktor im klaren sein, dies mit einplanen und sich die Frage stellen, wo diese Unsicherheit relevant wird.
Natürlich schlussendlich beim Budget. "All-You-Can-Eat Angebote" gibt es in diesem Umfeld nicht, oder sie wären nicht bezahlbar.
Wenn die Anzahl der Nutzer unbekannt ist, muss in der Planung ein Skalierungskonzept her, um auf positive Überraschungen nach oben vorbereitet zu sein. Das bedeutet allerdings, dass das Budget nicht von Anfang an feststehen kann, sondern vom Erfolg der Kampagne abhängt.
Das hört sich ja erst einmal sehr einfach, sinnvoll und nachvollziehbar an, wenn die Kosten vom Erfolg abhängen.
Das Ziel: Agile Projektmanagement-Methoden statt jubelnder Controller
Wenig Erfolg, wenig Kosten. Viel Erfolg, höhere Kosten. Man könnte meinen, die Controllingabteilung jubelt. Aber meistens weit gefehlt. Dies entspricht nicht den Prozessen von großen Unternehmen. Da muss ein festes Budget für ein Projekt gemacht werden.
Man könnte ja meinen, dann macht man eben ein etwas größeres Budget für den Erfolgsfall und freut sich, dass man Geld spart, wenn es nicht maximal gut läuft. Geht leider auch nicht. Wird das Budget nicht voll ausgeschöpft, steht im nächsten Jahr die Kürzung an. Und für die nächste Kampagne mit maximalem Erfolg ist dann nicht genug Geld da. Also werden häufig wegen unflexiblen Budgets Kompromisse in der Mitte gemacht, die häufig zu Geldverschwendung und manchmal zum Scheitern eines Projektes führen.
Flexibilisierung der Projektplanung und Budgetierung verhindert Misserfolge
An dieser Stelle ist auch bei kleineren Projekten ein Umdenken erforderlich. Unternehmen müssen hier ihre Budgetplanung flexibilisieren, um erfolgreiche Projekte umzusetzen.
Bei großen und komplexen Projekten muss man moderne agile Projektmanagementmethoden einsetzten, um die oben beschriebenen Probleme in den Griff zu bekommen. Bekannte Beispiele sind Scrum und Kanban. Beide sind in der IT aus der Softwareentwicklung heraus entstanden.
Bei der Softwareentwicklung ist es schon seit einigen Jahren von allen großen Playern im Markt erkannt und akzeptiert, dass man große Softwareprojekte nur mit agilen Managementmethoden zum Erfolg führen kann. In der gesamten Unternehmens-IT setzt sich diese Erkenntnis nur sehr langsam durch. Vor allem, weil dadurch etablierte Managementmethoden, z.B. der Umgang mit Budgets, massiv in Frage gestellt werden.
Iterativem Vorgehen gehört die Zukunft des Projektmanagements
Allen agilen Methoden ist gemeinsam, dass sie iterativ sind. Das bedeutet: Man plant nur einen überschaubaren Zeitraum im Detail, setzt um, macht Erfahrungen, bewertet sie und bringt diese in die Planung des nächsten Zeitabschnitts ein.
Unsere Entwickler gehen bereits seit geraumer Zeit so vor.
Nur so entgeht man willkürlichen Schätzungen. Ganz platt gesagt: Klein Anfangen, laufend Erfahrungen sammeln und Schritt für Schritt weiterentwickeln und verbessern. Und das nicht nur in der Softwareentwicklung, sondern auch in der Infrastruktur, im Betrieb, im Compliance- und Securitymanagement usw.
Bei den meisten komplexen Projekten, mit denen wir zu tun haben, handelt es sich um Projekte, bei denen die fachlichen Anforderungen noch nicht feststehen und sich auch erst aus dem Projekt und den ersten Erfahrungen im Betrieb ergeben.
Hier hilft es auf jeden Fall, wenn man die fachlichen Anforderungen im Detail offen lässt und mit dem einfachsten möglichen Szenario in den Betrieb geht, um so schnell wie möglich echte Erfahrungen zu sammeln und die Architektur nicht auf Annahmen und Schätzungen aufzubauen, sondern auf Fakten.
Das kann dazu führen, dass Mehrkosten in geringem Maße entstehen oder gar noch die Basisarchitektur umgebaut werden muss. Im Gegenzug vermeidet man allerdings die Risiken, eine falsche Architektur aufzubauen oder eine weit überdimensionierte.
Beides würde immense Kosten verursachen. Auch ohne eine konsequente Umsetzung von Scrum oder Kanban lässt sich so mit Best-Practice-Ansätzen vieles an Projektrisiken minimieren.
So kann man das Problem natürlich auch lösen
Hier noch ein Beispiel, wie es auch geht: Wenn ich keine Planungssicherheit habe, nicht auf viele Erfahrungswerte zurückgreifen kann und auch noch keine agilen Managementmethoden implementiert habe, muss mindestens einer der drei Eckpunkte flexibel bleiben (wäre beim agilem Management natürlich sowieso gegeben), sonst kann es nicht ohne böse Überraschung funktionieren.
Mit Geld lässt sich natürlich eine Menge lösen. Wenn ich eine klar definierte, aber komplexe Anforderung habe, einen festen Abgabetermin und Geld keine Rolle spielt, habe ich gute Chancen auf Erfolg. Das konnte ich vor kurzem bei einer nicht näher genannten Bank beobachten, die von der Bafin für die Erhaltung der Banklizenz relevante Auflagen im Riskmanagement der IT bekommen hatte: Komplexe Anforderung, feste Deadline und so existenzbedrohlich, dass Geld keine Rolle spielte. Also wurden genug Ressourcen zur Verfügung gestellt. Natürlich wichen die Ressourcen deutlich von den ursprünglich geschätzten ab (so um die 100 Prozent nach oben). Aber es wurde ein voller Erfolg.
Thomas Wittbecker ist Geschäftsführer der Adacor Hosting GmbH.