Ein Software-Projekt, bei dem Fertigstellungstermin oder Projektbudget deutlich überschritten wird, hat für den Auftraggeber oft gravierende Auswirkungen. So verzögert sich durch eine verspätete Fertigstellung beispielsweise der Markteintritt, und eine Überschreitung des Budgets gefährdet u.U. die Wirtschaftlichkeit des Entwicklungsprojekts.

Das Magische Dreieck des Projekt-Managements

Die genannten Punkte „verzögerte Fertigstellung“ und „Budgetüberschreitung“ finden sich in den Zieldimensionen des Magischen Dreiecks des Projekt-Managements wieder. Das Magische Dreieck lehrt uns, dass sich Projektziele in folgende drei Dimensionen einteilen lassen:

  1. Zeit
  2. Kosten
  3. Leistungsumfang (inkl. Qualität)

Diese Zieldimensionen beeinflussen sich dabei wechselseitig. Wenn beispielsweise die Kosten (Dimension 2) gesenkt werden sollen, so ist das nur durch einen verzögerten Liefertermin (Dimension 1) und / oder einen reduzierten Leistungsumfang (Dimension 3) erreichbar. Oder ein erweiterter Leistungsumfang (Dimension 3) hat Auswirkungen auf den Liefertermin (Dimension 1) und / oder die Projektkosten (Dimension 2).

Nun ist das Wesen eines Projekts, dass es ungeplante Änderungen geben kann, die Auswirkungen auf eine oder mehrere der o.g. Zieldimensionen haben. Projekt-Manager und Auftraggeber müssen dann mit dem geänderten Rahmen umgehen und in mindestens einer Zieldimension Anpassungen vornehmen.

Termin- und Kostentreue in agilen Projekten

Wie in der Einführung oben dargestellt, haben aus der Sicht des Auftraggebers die Termin- und Kostentreue (Dimensionen 1 und 2) häufig einen wesentlichen Einfluss auf den Gesamterfolg eines Projekts.  Sicher darf auch die Dimension 3 (Leistungsumfang) nicht vernachlässigt werden. Aber oft ist hier eine gewisse Flexibilität beim Auftraggeber gegeben. So gibt es meist Anforderungen, deren Umsetzung zwar wünschenswert aber nicht erfolgskritisch ist.

Das ist sicher keine neue Erkenntnis. Mit dem Magischen Dreieck des Projekt-Managements ist jedoch der Blick auf agile Entwicklungsprozesse sehr interessant.

Zieldimensionen „Zeit“ und „Kosten“

Die Planung zu Projektbeginn ergibt eine Schätzung des Entwicklungsaufwands. Geschätzt wird der Gesamtaufwand, der dann beispielsweise als Zahl der benötigten Personentage vorliegt. Vereinfacht dargestellt leiten sich daraus dann die Projektkosten (Personentage multipliziert mit Tagessatz) und die Projektdauer (Personentage dividiert durch Zahl der Entwickler) ab.

Zu Beginn des Projekts sind also die Ziele der Dimension 1 (Fertigstellungstermin), 2 (Projektkosten) und 3 (Leistungsumfang) bekannt. Da in praktisch jedem Projekt Risiken stecken und Abweichungen auftreten, könnte es nun für Auftraggeber attraktiv sein, die Einhaltung des Fertigstellungstermins und des Projektbudgets (Zieldimensionen 1 und 2) als unverrückbar fest zu definieren.

Leistungsumfang: priorisierte Liste der Anforderungen

Wir haben nun den Fertigstellungstermin und die Kosten unverrückbar vorgegeben. Der wechselseitige Einfluss der Zieldimensionen im Magischen Dreieck sagt uns, dass wir bei Unvorhergesehenem im Projekt nun gegebenenfalls Anpassungen an der dritten Dimension, dem Leistungsumfang, vornehmen müssen.

Hier unterstützt uns das agile Vorgehen. Denn beim agilen Vorgehen werden alle bekannten Anforderungen zu Projektbeginn priorisiert und in eine Rangreihe gebracht: von den wichtigen Kernanforderungen hin zu wünschenswerten Anforderungen, auf die notfalls verzichtet werden kann.

Nun startet die erste Entwicklungsiteration, es werden die wichtigsten Anforderungen aus der Rangreihe realisiert. In jeder folgenden Iteration werden dann immer die wichtigsten der verbliebenen Anforderungen umgesetzt. So ist sichergestellt, dass die wichtigsten Projektanforderungen in frühen Iterationen auf jeden Fall umgesetzt werden. Der Kunde erhält an jedem Iterationsende – und damit auch am Projektende – den größten Wert aus seinem Projekt .

Unter Umständen verbleiben damit am Projektende noch ein paar nicht umgesetzte Anforderungen. Die Projektziele der Dimension 3 (Leistungsumfang) sind also nicht vollständig erreicht worden. Da diese nicht umgesetzten Anforderungen sich jedoch am Ende der Rangreihe der Anforderungen befinden, haben diese eine geringere Relevanz für den Gesamterfolg des Projekts.

Fazit: Risikominimierung in den Zielen „Kosten“ und „Zeit“

Mit der Entwicklung in Iterationen und der Priorisierung der Anforderung können Projektrisiken in Bezug auf Kosten- und Terminüberschreitungen stark minimiert werden. Kleinere Abstriche beim Leistungsumfang sind aus Kundensicht manchmal nicht so dramatisch wie überzogene Zeit- oder Kostenrahmen. Durch die Priorisierung der Anforderungen nach Wichtigkeit erhält der Kunde den maximalen Wert aus seinem Projekt zum festgelegten Budget und Fertigstellungstermin.

Auftraggeber, die die wirtschaftlichen Folgen gescheiterter Projekten kennen, sind oft dankbar, das Risiko so auf die fehlende Umsetzung von Prio-C-Anforderungen minimieren zu können.

Selbst Änderungen in den Anforderungen, die im klassischen Vorgehen zu kostenpflichtigen Change Requests und Terminverzögerungen führen, können durch die flexible Vorgehensweise in der agilen Software-Entwicklung kosten- und terminneutral nach ihrer Priorität in die Liste der Anforderungen eingefügt werden.