Agile Projektplanung

Agile Projektplanung bei der Entwicklung komplexer Softwarelösungen.


Agile Projektmanagement-Methoden erfordern auch eine agile Projektplanung. Im Gegensatz zur Entwicklung traditioneller Software nach dem „Waterfall“-Modell, werden Lösungen, die mit einem agilen Ansatz entwickelt werden, nicht in jedem Detail vollständig ausgearbeitet – vielmehr, ist zunächst das Ziel, die Lösung in einer Produktvision zu beschreiben. Diese wird dann schrittweise im Laufe des Projekts weiter ausgearbeitet. Dies wird mithilfe eines sogenannten Backlogs erreicht. Hier werden alle Aufgaben erfasst und priorisiert sowie der notwendige Aufwand geschätzt. Einige von ihnen sind immer noch ziemlich grob, andere äußerst detailliert. Entwickler und Kunden erhalten durch diesen Ansatz auch einen guten Überblick über den gesamten Projektumfang.

Projektumfang

Jedes Projekt beinhaltet eine Reihe von Unsicherheiten, da in der Regel der volle Projektumfang bei Projektbeginn noch unklar ist – man startet zunächst nur mit einer Produktvision und geht erst nach und nach in die Detailplanung. Diese Unsicherheit nimmt jedoch mit zunehmendem Projektfortschritt und kontinuierlichem Wissenszuwachs (Domainwissen) sukzessive ab. Man nennt das den so genannten Cone of Uncertainty. Abweichungen können dabei in beide Richtungen auftreten, wichtig ist aber, dass sich das Projektvolumen, bzw. dessen Schätzung im Laufe des Projektes kontinuierlich präzisiert. Das führt dazu, dass der Auftragnehmer nur den tatsächlichen Aufwand bezahlt anstatt, wie in klassischen Projekten, all die kalkulierte Unsicherheit (Puffer für Änderungswünsche), die zu Projektbeginn eines jeden IT-Projektes herrscht.

Für Projektelemente mit großer Unsicherheit verfolgt AOE einen unterschiedlichen Lösungsansatz: Die Elemente werden zunächst analysiert (z. B. Timeboxed auf einen Tag) und danach dem Kunden zur Priorisierung vorgelegt. Er kann entscheiden, ob die Kosten dem zu erwartenden Nutzen entsprechen. Eventuell kann dann auch nach alternativen Lösungen gesucht werden, ohne bereits hohe Kosten erzeugt zu haben.

Releaseplanung

Da die Größe des Backlogs und auch die bisherige Produktivität des Teams (Team Velocity) bekannt sind, kann zu Projektbeginn eine zuverlässige Releaseplanung erstellt werden, die in enger Abstimmung mit dem Kunden regelmäßig überarbeitet und aktualisiert wird. Die Releaseplanung beinhaltet alle geplanten Releases, die wiederum aus verschiedenen Iterationen bestehen. So lässt sich der Projektverlauf stets an Hand der Releaseplanung verfolgen und transparent darstellen.

Die Geschwindigkeit eines Teams ist neben diversen Faktoren u. a. auch von der Größe des Teams abhängig. Zu diesen Faktoren zählt zum Beispiel die Erfahrung und der Reifegrad des Teams, aber auch die Teamentwicklung. Ein Team kann dann seine maximale Leistung abrufen, wenn sich das Team in der sogenannten Performing Phase befindet. Das Erreichen dieser Phase erfordert jedoch eine gewisse Zeit. Daher setzt AOE auf langfristig zusammengestellte Teams, die dediziert für einen Kunden oder ein Projekt arbeiten.

Wasserlinienmodell

Im Gegensatz zu klassischen Methoden werden beim agilen Projektmanagement das Budget und der Fertigstellungstermin bereits zu Projektbeginn festgelegt. Gleichzeitig wird abgeschätzt, welcher Projektumfang mit den gegebenen Ressourcen im vorgegeben Zeitraum umgesetzt werden kann. Da in jeder Schätzung aber auch immer ein Rest Unsicherheit enthalten ist, hat es sich als sinnvoll erwiesen, das Backlog in folgende drei Bereiche zu unterteilen:

  • Der zugesicherte Lieferumfang (Must-have)
  • Einen variablen Bereich (Nice-to-have)
  • Diejenigen Aufgaben, die erst in einer späteren Phase umgesetzt werden (Not-for-now)

Innerhalb des variablen Bereiches wird nun eine so genannte Wasserlinie gezogen. Alle Aufgaben oberhalb der Wasserlinie sind nach der aktuellen Einschätzung „in Scope“. Sollten sich Änderungen am Projektumfang oder an der Geschwindigkeit des Teams ergeben, so wird sich auch die Wasserlinie verändern.

Werden nachträglich Änderungen am Projektumfang vorgenommen, wie beispielsweise Change Requests, so kann der Auftraggeber entscheiden, ob diese neuen Aufgaben oberhalb der Wasserlinie aufgenommen werden und somit andere Aufgaben unter die Wasserlinie rutschen. Alternativ kann auch der Projektumfang durch das Hinzufügen einer oder mehrerer Iterationen geändert werden.

Als agile Organisation hat AOE 1.500 Projekte mit agilen Methoden für global agierende Unternehmen realisiert. Agilität ist dabei nicht nur ein wichtiges Element in unserer Entwicklung und im Projektmanagement, sondern auch essenzieller Bestandteil unserer Unternehmenskultur.