„Wir möchten Thema X umsetzen. Könnt ihr uns eine Größenordnung für die Kosten und einen groben Fertigstellungstermin nennen?“ Diese Frage steht regelmäßig am Beginn eines Projekts oder Releases mit einem Zeithorizont von ca. drei bis sechs Monaten.
In einem agilen Vorgehen ist der Scope zu Beginn – wenn überhaupt – nur unzureichend bekannt und ändert sich mit der Zeit laufend. Welchen Sinn hat in diesem Kontext eine Planung für ein bis zwei Quartale? In den meisten Fällen soll in diesem Zeitraum ein größeres Business-Ziel erreicht werden: die Einführung von eBooks auf einer Plattform, ein völlig neuer Vertriebskanal, eine neue App-Plattform, die Einführung eines Features, das sich durch die gesamte Software-Plattform zieht. Für dieses große Ziel möchten wir einen groben Weg abstecken bzw. einen Plan haben, wie wir es erreichen können.
Aber wie verträgt sich eine solch „langfristige“ Planung mit den Ideen des agilen Manifests? Der agile Grundsatz „auf Änderungen zu reagieren ist wichtiger, als einen Plan zu verfolgen” bedeutet nicht, keinen Plan zu haben. Stellt das Produktteam während der Entwicklung fest, dass bestimmte Aspekte oder Features wichtiger/unwichtiger bzw. aufwändiger/einfacher sind als gedacht, wird der bisherige Plan geändert – eine bewusste Entscheidung. Keinen Plan für die Erreichung des Ziels zu haben, läuft in der Regel auf eine Art „Sichtflug“ hinaus und das große Ziel gerät schnell aus den Augen. Stattdessen erstellen wir eine grobe Planung, die wir jederzeit anpassen können.
Diese Planung ist aber nicht nur für das Produktteam, sondern auch für die übrigen Stakeholder einer Produktentwicklung (Management, Marketing & Co) wichtig. Aus dieser Richtung wird meist die eingangs formulierte Frage nach Aufwand und Dauer für die eigene Planung gestellt:
Die Planung entsteht ähnlich wie die Planung für eine Reise: Welche Stationen müssen wir zurücklegen, um unser Ziel zu erreichen? In unserem Fall handelt es sich bei der Reiseplanung um ein Product Backlog. Die einzelnen „Stationen“ sind grobe Backlog Items. Um zu diesem initialen Backlog zu kommen, gibt es mehrere Herangehensweisen. Welche die „richtige“ ist, hängt davon ab, wie das Ziel definiert ist:
Unabhängig welche der drei beschriebenen Wege benutzt wird, um das Backlog zu füllen, sollte es vom gesamten Produktteam im Rahmen eines Workshops erarbeitet werden – nicht von Einzelpersonen. Die einzelnen Backlog Items werden später beschätzt. In den Diskussionen während des Workshops kommen viele wichtige Informationen zur Sprache, die Einfluss auf die Schätzung haben. Aus diesem Grund ist es hilfreich, wenn diese Informationen direkt als Notizen an den Backlog Items vermerkt werden. Die Notizen und das Backlog erheben aber keinen Anspruch auf Vollständigkeit aller Details. Kommen später Informationen hinzu, wird die Planung geändert.
Als nächstes werden die Backlog Items mit einer Schätzung versehen. In einem agilen Team liegt es nahe, diese Schätzung in Form von Story Points durchzuführen. Die Erfahrung zeigt aber, dass Story Points für eine Schätzung mit dieser „Flughöhe“ zu feingranular sind. Ich rate deshalb dazu, eine andere Schätzgröße zu verwenden, die zunächst nicht mit Story Points in Verbindung steht:
Am Ende des Planungs- und Schätz-Workshops liegt ein erstes Product Backlog vor, das aus beschätzten Items besteht. Im Idealfall wurde das Backlog auch bereits priorisiert, so dass die Items weiter „unten“ nur oberflächlich besprochen und beschätzt werden müssen.
Ein solches Backlog enthält eine Größenordnung von drei bis vier Dutzend Items. Durch ein entsprechendes Schätzverfahren lässt sich die Ermittlung der Schätzungen beschleunigen – das Team ordnet die Items visuell Aufwandskategorien zu. Befinden sich mehr Einträge im Backlog könnte die Flughöhe zu niedrig sein.
Um aus dem beschätzten Backlog eine Planung abzuleiten, benötigen wir zwei bis drei Erfahrungswerte aus der bisherigen Arbeit des Produktteams. Die Teammitglieder suchen sich Features, Prozesses oder Module, die sie bereits erfolgreich umgesetzt haben und ordnen sie in dasselbe Raster ein wie die neuen Backlog Items.
Während der Entwicklung werden diese beiden Planungsgrößen laufend aktualisiert. Die Terminplanung durch ein Burn-Up-Diagramm und die Budgetplanung durch eine „Wasserlinie“ im Backlog.
Im Gegensatz zu einem Burn-Down- ist beim Burn-Up-Diagramm der zu erledigende Scope nicht fixiert und eignet sich damit für die langfristige Planung besser. In der folgenden Abbildung ist ein beispielhaftes Diagramm zu sehen.
Sobald die untere Linie der kumulierten erledigten Arbeit die Scope-Linie erreicht, ist der gesamte Scope umgesetzt. Durch ein Verlängern der Linie in die Zukunft lässt sich dieser Zeitpunkt prognostizieren und erlaubt eine kontinuierliche, transparente Darstellung, ob der usprünglich ermittelte Termin noch haltbar ist. Insbesondere wird ersichtlich, welche Auswirkungen Scope-Änderungen auf den Termin haben.
Die Wasserlinie im Backlog beruht auf den Kosten eines Sprints und stellt den Punkt da, bis zu dem „noch Geld da ist“. Backlog Items oberhalb diese Linie können mit dem aktuellen Budget noch umgesetzt werden, Elemente darunter nicht. Am Anfang steht diese Wasserlinie unterhalb aller bisher bekannten Elemente (siehe Abbildung unten). Werden zusätzliche Elemente bei gleichbleibendem Budget hinzugefügt, wandert die Linie nach oben.
Was passiert, wenn die Umsetzung der einzelnen Backlog Items mit höherem oder niedrigerem Aufwand geschieht, als ursprünglich geplant? Die Wasserlinie wird regelmäßig (z.B. nach jedem Sprint) mit dem aktuellen Budgetverbrauch aktualisiert:
Es gibt Situationen, in denen die Sprints nicht „gleich teuer“ sind. Fehlt beispielsweise ein Freiberufler krankheitsbedingt einen ganzen Sprint lang, wird das Team wahrscheinlich wenige Scope umsetzen, es fallen während dieser Zeit aber auch geringere Kosten an. In Situationen mit ungleich teueren Sprints, rate ich die Wasserlinie aufgrund der tatsächlichen Sprint-Kosten anzupassen.
Auch für agile Vorhaben lohnt sich eine Planung, die die nächsten ein bis zwei Quartale abdeckt. Diese Planung ist im agilen Sinne „good enough“, um grobe Prognose zu Zeit und Budget zu geben. „Good enough“ heißt, dass sie sich mit möglichst wenig Aufwand erstellen und anpassen lässt („minimize waste“). Sie gibt eine grobe Orientierung für die Erreichung eines Produkt- oder Projektziels. Wichtig ist eine solche Planung oft für die Termin- und Budgetplanung eines Vorhabens.
Während der Entwicklung wird die Terminprognose mit Hilfe eines Burn-Up-Diagramms laufend angepasst. Für die Budgetprognose wird eine Wasserlinie im Backlog verwendet.