Agile Release-Planung in hybriden und agilen Projekten

Wenn Sie in einem agilen Projekt arbeiten oder agile Methoden anwenden möchten, kann die agile Release-Planung eine kritische Technik für IT- und produktzentrierte Projekte sein. Die agile Release-Planung ist als Planungstechnik im PMBOK (PMI’s Project Management Body of Knowledge) aufgeführt. Es ist daher auch für die Zertifizierung zum Project Management Professional (PMP) relevant.

Obwohl diese Methode nicht unbedingt in allen echten agilen Ansätzen erforderlich ist, ist sie ein gutes Werkzeug für Release-getriebene agile und hybride Projekte. Dies liegt daran, dass agile Release Planning die Lücke zwischen traditioneller Projektplanung und agiler oder iterativer Produktentwicklung schließen kann.

Lesen Sie weiter, um mehr über diese Technik zu erfahren.

Wie funktionieren Releases?

Ein Release besteht in der Regel aus einer Reihe von Features oder Softwarekomponenten, die innerhalb eines bestimmten Zeitraums entwickelt und getestet werden. Nach der Entwicklung und dem Testen werden diese Funktionen als Teil des Releases auf einmal bereitgestellt.

Releases können Funktionen und Verbesserungen von Software sowie Teile und Teile größerer Entwicklungsprojekte enthalten. So kann beispielsweise das Upgrade eines selbst entwickelten oder handelsüblichen Systems in verschiedene Releases aufgeteilt werden, um einen reibungslosen Übergang, den Fortbestand des Betriebs und die mit Big Bang-Migrationen verbundenen Risiken zu vermeiden.

Was ist ein Release-Plan?

Der Freigabeplan ist das Dokument, das den Umfang, den Zeitplan und in einigen Organisationen die mit einer Freigabe verbundenen Ressourcen und Kosten festlegt.

Ein Release-Plan beschreibt, welche Systemkomponenten in einem festgelegten Zeitraum (oft zwischen 1 und 6 Monaten) entwickelt, getestet und implementiert werden. Der Release-Plan kann als priorisierte Liste von Funktionen angesehen werden, ähnlich wie Produktrückstände in einigen agilen Frameworks. Dies erfordert in der Regel eine gewisse Priorisierung, da häufig nicht alle Systemanforderungen von einem einzigen Release abgedeckt werden können. Dies gilt insbesondere in komplexeren Organisations- und IT-Umgebungen.

Ein Release-Plan kann neben neu entwickelten Features oder Produkten auch Fehlerbehebungen und kritische Erweiterungen oder Änderungen an bestehenden Systemen beinhalten.

Release-Pläne werden oft im Voraus für ein paar kommende Releases erstellt (z. B. Pläne für 4 Releases innerhalb von 1 Jahr). Dies ermöglicht die Zuordnung von Komponenten zu einer Zielversion basierend auf der individuellen Priorität, dem Risiko und der Kritikalität der Funktionen. Normalerweise ist der Plan für die nächste Version detailliert, während die Pläne für nachfolgende Versionen in der Regel grob sind. Diese Pläne werden jedoch in der Regel verfeinert und detaillierter, je näher das jeweilige Release rückt. Dies ist vergleichbar mit dem Konzept der progressiven Ausarbeitung im Projektmanagement.

Release-Pläne in traditionellen und agilen Projekten

In traditionellen IT-Projekten sind Release-Pläne eine sehr verbreitete Technik zur Verwaltung der Softwareentwicklung und -bereitstellung.

Außerdem verwenden einige agile Frameworks Releases und Release-Pläne. In Extreme Programming (XP) besteht ein Release beispielsweise aus mehreren Iterationen, die kürzer und einfacher zu verwalten sind, da die Ergebnisse in kleinere Teile des Umfangs eines Releases aufgeteilt werden.

Der generische Scrum-Ansatz hingegen definiert Sprints anstelle von Iterationen und Releases, die zwischen 2 und 4 Wochen dauern können. Daher beinhaltet die Softwareentwicklung mit Scrum nicht unbedingt Releases und Release-Planung, aber es kann Scrum-Releases in der Praxis geben (lesen Sie mehr unten).

Anforderungen werden aber auch in priorisierten Listen verwaltet: das Sprint Backlog und das Product Backlog sind solche Listen, die vom Product Owner dynamisch priorisiert werden.

Was ist ein Release Candidate in Agile?

Ein Release Candidate ist allgemein definiert als eine Softwareversion oder eine Reihe von Funktionen, die funktionsfähig ist, aber noch nicht für die Vermarktung bereit ist, z. B. um Tests abzuschließen und Benutzerfeedback zu erhalten (Quelle).

In der agilen Release-Planung kann sich ein Release Candidate oft auf ein Feature beziehen, das entwickelt wurde, im Grunde funktional ist und gerade innerhalb einer Iteration getestet wird. Sobald es vollständig getestet wurde und alle Fehler behoben wurden, wird es in die Gesamtversion aufgenommen.

Wenn Release Candidates in einer Iteration fehlschlagen, wird ihre Fehlerbehebung und Finalisierung häufig in der nachfolgenden Iteration durchgeführt.

Was ist Agile Release Planning?

Agile Release Planning bezieht sich auf die Umfangs- und Timeline-Einstellung für ein iteratives oder inkrementelles Produktentwicklungsprojekt. Es wird in agilen oder hybriden Projekten eingesetzt, bei denen eine mittel- bis langfristige Planung der Produkt- oder Systementwicklung oder -integration erforderlich ist.

 Agile Release-Planung im Kontext von Produktvision und Roadmap, Releases und Iterationen / Iterationspläne
Überblick über die Agile Release-Planung.

Agile Release-Planung wird oft als der Prozess der Erstellung des Gesamtbildes gesehen, das die Produktvision und Roadmap mit dem Release-Zeitplan und der Veröffentlichung von Iterationen verknüpft, die wiederum einen Iterationsplan verwenden, der Funktionen und Aufgaben auf einer detaillierteren Ebene definiert.

Der Begriff wird im Project Management Body of Knowledge des PMI als Technik im Rahmen des ‚Develop Schedule‘-Prozesses erwähnt (PMBOK®, 6. Aufl., Kap. 6.5.2.8). Obwohl sich der PMBOK tendenziell auf die eher prädiktiven und traditionellen Projektmanagementansätze konzentriert, wird diese Technik im PMI-Framework eingeführt, um iterationsbasierte agile Projekte zu berücksichtigen.

Der Begriff ‚Iteration-based agile‘ ist im PMI Agile Practice Guide (Kap. 5.2.6). Es beinhaltet die anfängliche (grobe) Planung von Iterationen, die Teile eines Releases sind. Wenn mehr Informationen bekannt sind, die eine genauere Projektion ermöglichen, planen agile Teams ihre Iterationen neu, um diese Verfeinerung zu berücksichtigen. Dies kann auch Anpassungen des Release-Plans erfordern.

Wie wird Agile Release Planning in der Praxis eingesetzt?

Agile Release-Planung kann je nach Projektansatz und organisatorischen Anforderungen einer Reihe von Zwecken dienen

Hier einige Beispiele:

Release-Planung in agilen Projekten

In agilen Ansätzen und Projekten, die Releases und Iterationen verwenden, ist die Release-Planung eine Technik zur Implementierung der Produkt-Roadmap, die aus der Produktvision abgeleitet wird. Die Produkt-Roadmap enthält die übergeordneten Anforderungen, die in Releases unterteilt sind.

Der Release-Plan legt die Anzahl der Iterationen innerhalb eines Releases fest. Auf einer detaillierteren Ebene definiert der Iterationsplan die Features, die innerhalb eines Releases entwickelt werden sollen.

Während Releases und Release-Pläne eine mittel- bis langfristige Perspektive haben, sind Iterationen viel kürzer und daher enger im Umfang. Dies erleichtert die agile Entwicklung und insbesondere die Verarbeitung von Feedback und kurzfristigen Änderungen an Anforderungen und Features.

In der folgenden Grafik finden Sie ein Beispiel dafür, wie die Release-Planung in agilen Frameworks wie XP durchgeführt wird.

 Extreme Programming Projektflussdiagramm
Beispiel für Release- und Iterationsplanung in XP (Quelle & credit: extremeprogramming.org).

Die Planung von agilen Releases kann manuell oder mittels Projektmanagement-Software erfolgen. Zum Beispiel veröffentlichte Lucidchart einen Leitfaden zur Entwicklung eines agilen Release-Plans mit ihrer Software.

Release-Planung in hybriden Projekten

Neben der oben erwähnten Verknüpfung von Produkt-Roadmap und Iterationen können agile Release-Pläne auch helfen, agile Entwicklungsprojekte in eine release-orientierte Organisation oder Architektur zu integrieren.

 Zentrale Release-Management- und Organisationsplanungsanforderungen werden durch die Technik der agilen Release-Planung mit Iterationen und agiler Produktentwicklung verknüpft
Illustration, wie agile Release-Planung verwendet werden kann, um die Lücke zwischen organisatorischen Release-Planungsanforderungen und agiler Produktentwicklung zu schließen.

Zum Beispiel könnte ein kundenorientiertes System mit agilen Ansätzen entwickelt werden. Dieses System müsste jedoch in die komplexe IT-Architektur des Unternehmens integriert werden und auch Schnittstellen zu anderen Systemen beinhalten. Daher würde die Entwicklung und Bereitstellung dieses kundenorientierten Systems notwendigerweise der zentralen Release-Planung der Organisation unterliegen.

In solchen Fällen kann die Technik der agilen Release-Planung die Releases der Organisation mit den Iterationen und Features verknüpfen, die in einem agilen (Teil-)Projekt entwickelt werden.

Was ist ein agiler Release-Plan in Scrum?

Ein Release-Plan in Scrum stellt die Zuordnung von Elementen eines Product Backlogs (die Liste der Funktionen und Anforderungen eines Produkts) zu Releases dar. Diese Funktionen werden dann in Sprints entwickelt.

In Übereinstimmung mit den Werten und Prinzipien von Scrum soll ein Release-Plan eine Richtlinie und ein lebendiges Dokument sein, das dynamisch aktualisiert wird, wenn sich Dinge ändern oder neue Informationen bekannt werden.

Laut dem Scrum Institute™ erfordert ein Scrum Release Plan ein priorisiertes und geschätztes Product Backlog, den Velocity-Indikator des Teams und die ‚Bedingung der Zufriedenheit‘ (oder Definition von done), die das Ziel der Produktentwicklung umfasst.

Basierend auf den Aufwandsschätzungen für Features (der benötigte Arbeitsaufwand) und der Geschwindigkeit des Teams (die Produktivität des Teams) können Features verschiedenen Releases und Sprints zugewiesen werden.

Was ist der Unterschied zwischen Releases, Iterationen und Sprints?

Releases beziehen sich auf die geplante Entwicklung und Bereitstellung von Softwarefunktionen oder -änderungen über einen typischen Zeitraum von 1 bis 3 (oder sogar mehr) Monaten. In agilen, iterativen und einigen hybriden Projekten werden Releases in mehrere Iterationen unterteilt, die einen kleineren Umfang und einen kürzeren Zeitrahmen haben, häufig zwischen 1 oder 2 Wochen und 1 Monat. In einigen agilen Frameworks wie Scrum werden Iterationen auch als Sprints bezeichnet.

Wie lange dauert ein Sprint in Agile/Scrum?

Ein Sprint in Scrum dauert in der Regel 2 Wochen bis 1 Monat. Es kann jedoch auch kürzer oder länger sein, wenn dies für das Entwicklungsprojekt als angemessener erachtet wird.

Fazit

Ob Sie als Projektmanager oder Product Owner in einem agilen, iterativen oder hybriden Projekt arbeiten oder sich auf Ihre PMP–Prüfung vorbereiten – das Verständnis der agilen Release-Planung ist der Schlüssel, um eine agile oder iterationsbasierte Entwicklung in Kombination mit einer mittel- bis langfristigen Release- und Projektplanung zu ermöglichen. Lesen Sie unsere Artikel über die anderen Zeitplanverwaltungstechniken, wenn Sie mehr über die Entwicklung und Verwaltung von Projektplänen erfahren möchten.

Dank des agilen Release-Plans können ein Umfang, der weiter verfeinert werden muss, und ein Zeitplan für einige Monate im Voraus festgelegt werden. Gleichzeitig können agile Entwicklungsteams ihre Planungsfreiheit behalten und den genauen Umfang jeder Iteration regelmäßig neu planen. Bis zu einem gewissen Grad ist agile Release Planning eine Technik, die es Projektmanagern und Product Ownern ermöglicht, die Vorteile sowohl des traditionellen Projektmanagements (z. B. mittel- / langfristige Planung) als auch agiler Projektansätze (z. B. Reaktionsfähigkeit auf Änderungen und Feedback) zu kombinieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.