Release Planung in der Softwareentwicklung

April 2020

Komplexe Projekte beinhalten eine Vielzahl an verschiedenen Anforderungen und Funktionen, die es sowohl initial als auch nach dem GoLive zu berücksichtigen gilt. Die Release Planung ist dabei eine hilfreiche Maßnahme, um die komplexen Inhalte im Projektverlauf zu strukturieren und damit den Projektfortschritt zu überwachen und dabei mit Blick auf die Wertschöpfung zielgerichtet das Projekt zu realisieren und stetig weiter zu entwickeln.

Begriffsdefinition: Was ist ein Release?

Unter dem Begriff Release wird eine neue Version einer Software bezeichnet, die einen fertigen und weiteren Funktionsumfang zur bestehenden Software hinzugefügt. Die Größe des Releases ist dabei nicht wirklich fest beschrieben. So können kleinere sogenannte Minor-Releases nur einen sehr kleinen und konkreten Funktionsumfang hinzufügen, wohingegen größere sogenannte Major-Releases meist komplett neue Funktionen hinzufügen können. Versionen müssten auch nicht zwangsweise immer neue Funktionen hinzufügen. So kann eine neue Version auch dazu dienen, um fehlerhaftes Verhalten anzupassen und zu beheben.

Releases im agilen Projektmanagement

Ob im eher klassisch orientierten Projekt Management oder im agilen Scrum Kontext ist die Release Planung hilfreich, um ein großes Projekt mit komplexen Anforderungen in kleinere auslieferbare Pakete einzuteilen. Per Definition liefert zwar jeder Sprint in Scrum eine auslieferbares Produktinkrement, dies muss aber nicht zwingend die Version sein, die auch tatsächlich an den Kunden ausgeliefert wird. Die Verantwortung liegt hier beim Product Owner zu entscheiden, ob das fertiggestellte Produktinkrement auch ausgeliefert wird. Es besteht also die Möglichkeit, das Ergebnis aus mehreren Sprints zu einem Release zusammen zu fassen, welches dann an den Kunden ausgeliefert wird.

Der Vorteil dabei ist, dass sich in den einzelnen Sprints konkret auf die Umsetzung der Funktionen konzentriert werden kann. Natürlich darf zu diesem Zeitpunkt die Qualitätssicherung und auch Dokumentation der implementierten Funktionen nicht fehlen. Die für die eigentliche Umsetzung zur Verfügung stehende Zeit verringert sich jedoch, wenn nach jedem Sprint eine vollwertige, vollständig getestete und dokumentierte Version entstehen muss. Werden jedoch mehrere Sprints zusammengefasst, und eine Version entsteht erst nach 2-3 Sprints, steht mehr Zeit für die Umsetzung zur Verfügung und die Versionen können zu sinnvollen funktionalen Einheiten zusammengefasst werden. Aber auch wenn die Ergebnisse mehrerer Sprints zu einem Release zusammengefasst werden, ist das erklärte Ziel natürlich weiterhin, am Ende eines Sprints ein potentiell auslieferbares Produktinkrement fertiggestellt zu haben.

Das Vorgehen in der Release Planung

Das Vorgehen in der Release Planung versucht verschiedene Blickwinkel zu berücksichtigen. Generell ist es sinnvoll, die größten technischen Risiken des Projektes zu Beginn einzuplanen. So können eventuell gestellte technische oder funktionale Annahmen schnell validiert und auf Richtigkeit geprüft werden. Startet das Projektteam mit diesen Themen zu Beginn, ist die Wahrscheinlichkeit, dass der Zeitplan oder das Budget stark in Mitleidenschaft gezogen wird, noch verhältnismäßig gering sollten hier Änderungen vorgenommen werden müssen. Sind diese Themen jedoch erst später im Projektverlauf eingeplant, ist das Projekt schon schlimmstenfalls zu weit fortgeschritten und jede Änderung kann jetzt fatale Auswirkungen auf die Zeitplanung und das weitere Projektbudget haben.

Auch die notwendige technische Reihenfolge ist bei der Planung zu berücksichtigen. So kann es sinnvoll sein, gewisse Themen recht frühzeitig einzuplanen, um ein notwendiges Grundgerüst aufzusetzen. Die finale Fertigstellung der Themen wird jedoch später im Projektverlauf abgeschlossen.

Und natürlich dürfen auch die Anforderungen und Wünsche des Kunden nicht außer Acht gelassen werden und sollten bei der Planung berücksichtigt werden. Generell sollte die Release Planung stets unter dem Gesichtspunkt der Wertschöpfung für den Kunden stehen.

Iteration in der Planung als Vorteil

Je agiler das Vorgehen durchgeführt wird, je mehr kann auf die diese Reihenfolge Einfluss genommen werden. Auch im klassischen Projektmanagement wird diese Reihenfolge selten vollständig zu Beginn feststehen und geplant werden können. Somit ist eine gewisse Flexibilität notwendig um im Projektverlauf auf die verschiedenen Einflüsse zu reagieren und die Planung entsprechend anzupassen.

Genau hier liegt auch der Vorteil, der sich nicht nur für das Projektteam sondern auch für den Kunden ergibt. Für das Projektteam auf der einen Seite entsteht ein gewisser roter Faden im an sich unüberschaubaren Projekt mit den komplexen Anforderungen. Durch die Release Planung werden wichtige Abhängigkeiten in den Anforderungen untereinander identifiziert, in kleine in sich überschaubare Pakete aufgeteilt und entsprechend eingeplant.

Der Kunde wiederum bekommt frühzeitig die Möglichkeit, die Zwischenergebnisse zu prüfen und damit sicherzustellen, dass die Anforderungen vollständig verstanden und umgesetzt wurden. Durch die gemeinsame Priorisierung der Themen in der Release Planung werden sowohl für Projekt Team als auch für den Kunden die Auswirkungen direkt sichtbar.

Die gefühlte Entwicklungsgeschwindigkeit für den Kunden

Sind die größten Risiken im Projekt frühzeitig eingeplant, ist die Entwicklungsgeschwindigkeit zu Beginn eher langsam. Vor allem, weil zu diesem Zeitpunkt das meiste im Hintergrund passiert und der Kunde hier keine visuellen Ergebnisse sieht. Zudem ist es wichtig zu wissen, dass die Zwischenergebnisse je nach Stadium unfertig aussehen. Hier ist es die Aufgabe des Projekt Managements feinfühlig in der Kommunikation mit Kunden zu agieren, denn nicht jeder Kunde hat ein Verständnis dafür, wenn die Dinge im ersten und auch zweiten Blick noch roh und unfertig aussehen. Hier ist auch mit Sicherheit ein gewisses Abstraktionsvermögen notwendig, um diesen Sachverhalt ein Stück weit auszublenden und sich auf die wesentlichen Bestandteile zu fokussieren. In einem frühen Stadium sind Fehler in der Software auch durchaus normal, durch das frühzeitige Testing werden diese dadurch eben früher identifiziert was auf die spätere Qualitätssicherung einzahlt.

Mit zunehmenden Projektfortschritt steigt dann auch die für den Kunden wahrnehmbare Entwicklungsgeschwindigkeit, da immer mehr konkrete Funktionen bearbeitet und umgesetzt werden können und der Kunde hier tatsächliche Funktionalitäten zu sehen bekommt.

Wertschöpfung in der Release Planung

Durch frühzeitiges Feedback auf die Zwischenergebnisse und die damit einhergehende Möglichkeit zur Anpassung was das Anforderungsmanagement angeht, wird die Gefahr verringert, mit falschen Annahmen in eine falsche Richtig einzuschlagen und das Projektbudget an den falschen Stellen einzusetzen. Stattdessen werden weder Ressourcen noch Projektbudget verbraucht um eine gewisse Nachhaltigkeit im Projektverlauf zu gewährleisten. Wird im Rahmen der Release Planung ein sogenanntes Minimum Viable Product (MVP) definiert, kann somit ein frühestmöglicher Zeitpunkt für den ROI definiert werden, um schon innerhalb des eigentlichen Projektverlauf einen Basis-Funktionsumfang unter einem wirtschaftlichen Aspekt zu nutzen. Wichtiges Feedback der Stakeholder fließt so nicht nur regelmäßig sondern auch frühzeitig in den Entwicklungsprozess mit ein, was ein enormen Wert für die eigentliche Entwicklung darstellt.

Fazit

Die Release Planung hilft insbesondere bei größeren komplexen Projekten für eine sinnvolle und mit dem Kunden abgestimmte zeitliche Reihenfolge im Hinblick auf die Umsetzung der notwendigen Funktionen. Dabei können frühzeitig technische Risiken geprüft und Annahmen validiert werden um bei Bedarf im Projektverlauf gegenzusteuern. Im Zusammenhang mit einer MVP-Definition hilft die Release Planung zudem die Wertschöpfung noch stärker in den Fokus zu rücken.

Chris van Daele

Chris van Daele

Ich bin Fachinformatiker in der Fachrichtung Anwendungsentwicklung und arbeite aktuell als technischer Projekt Manager im Bereich E-Commerce und Individualentwicklung. Zum Profil