Sessiondokumentation zum Thema Release Planung in agilen Projekten.
Motivation
Agile Projekte haben, im Gegensatz zu Wasserfall-Projekten, die Eigenschaft, dass sie über den Scope gesteuert werden. Budget und Zeit ist fix, der Scope variabel.
Kunden haben sehr oft den Bedarf zu wissen, was sie für ihr Geld bekommen und wie lange es dauert, bis sie die gewünschten Features bekommen. Diese Informationen zu haben hilft auch in der Kundenkommunikation.
Business Value in Abhängigkeit zur Zeit
Zeichnet man die erreichten Story Points (Buisness Value) eines Teams als eine art kummuliertes BurnUp Chart über die Zeit, entsteht die im nachfolgenden Bild zu sehende rote Kurve.
Die minimal bzw.maximal Werte ergeben den Korridor in dem sich das Team während der Umsetzung bewegt (der Durchschnitt davon ergibt die Velocity).
Voraussetzung für einen solchen Graph ist eine gewisse Menge an Daten. Je mehr Sprints das Team bereits zusammen gearbeitet hat, desto genauer die Daten.
Fester Scope / variable Zeit
Betrachtet man nun einen fixen Scope (blaue Kurve), ergeben sich aus dem Korridor zwei mögliche Fertigstellungstermine.
Voraussetzung für diese Vorhersage ist ein entsprechend gepflegtes Backlog. Das Backlog muss entweder:
- Detailliert genug sein, um so weit in die Zukunft zu schauen oder
- Man wendet eine Methode wie Magic Estimation an, um eine große Menge des Backlogs im Voraus zu schätzen
Feste Zeit / variabler Scope
Gibt es, z.B. vom Kunden vorgegeben, einen festen Release-Termin (graue Kurve) gibt es einen minimalen und einen maximalen Scope den das Team, auf Grundlage der gesammelten Daten, schaffen kann.
Trimestrierung der Entwicklungszeit
Um zum Ende eines Releasetermins sicher zu sein, dass der gewünschte Business Value auch umgesetzt und ausgeliefert werden kann, sollten nach 1/3 der Umsetzungszeit folgende Artefakte verfügbar sein:
- komplexe und risikobehaftete Themen werden zuerst bearbeitet (Risikominimierung bei Verkürzung der time-to-market)
- Bereitstellung einer Produktivumgebung
- Entwicklungsumgebung anpassen, um sie technisch nah genug an die produktivumgebung zu bringen
- CI / CD Prozesse
Nach 2/3 der Zeit, sollte ein Release 1.0 als full build auf der Produktivplattform möglich sein. Das letzte Trimester ist dann für die weitere Entwicklung von notwendigen Features und weiterer Defectbehebung notwendig.
Daraus ergibt sich die logische Konsequenz zum Abschnitt "Business Value in Abhängigkeit zur Zeit" die Notwendigkeit auf den Termin nach 2/3 der Zeit zu planen.
Relative Schätzung zwischen Releases
Als Voraussetzung für die Relative Schätzung von Relases eignet sich eine User Story Map. Als Spalten der Map werden die Releases gewählt.
Füllt man das erste Release mit entsprechend verfeinerten und schätzbaren User Storys ist es mit der oben beschriebenen Methode möglich, die Dauer bis zur Umsetzung des ersten Releases (mit der beschriebenen Unschärfe) zu schätzen.
Das Team kann nun die Komplexität des Releases 2 in Abhängigkeit zu Release 1 schätzen.
Beispiel: Dauert die Umsetzung des ersten Releases 6 Sprints und wird das Release 2 als 1,5 mal so komplex eingeschätzt, kann daraus geschlussfolgert werden, dass das zweite Release nach etwa 9 Sprints fertiggestellt sein wird.
Durchschnittliche Zeitdauer einer User Story
Zusätzlich, kann mit entsprechend großem Datenbestand, bei ähnlicher technischer Umgebung und stabilem Team, die durchschnittliche Dauer zur Umsetzung einer User Story berechnet werden. Daraus kann wiederum nach der oben beschriebenen Methode oder bei der Abschätzung des Umfangs eines Releases die Dauer zur Umsetzung berechnet werden. Umso mehr Daten vorhanden sind, desto genauer die Methode. Die Unterschiede (maximal und minmal Dauer der Storys) nivellieren sich über die Zeit.
Danke
Vielen Dank für den Input in der Session geht an:
Als Quelle diente das Video "Agile Product Ownership in a nutshell" von Henrik Kniberg
Attachments:
Agil-Wasser-MagischesDreieck.png (image/png)
AgilesProjekt-Trimestrierung.png (image/png)