Agiles Projektmanagement. Auf Änderungen schnell reagieren.
Was ist agiles Projektmanagement? Wie funktioniert es? Und ist es nur für die Software-Entwicklung geeignet?
Was ist agiles Projektmanagement? Wie funktioniert es? Und ist es nur für die Software-Entwicklung geeignet?
Bereits in den 90er Jahren war man mit den steifen und unflexiblen Prozessen in der Software-Entwicklung unzufrieden, leichtgewichtiger und flexibler sollten sie werden. Und so erblickten neue Prozesse wie Scrum das Licht der Projektewelt. Trotzdem gab es bis 2001 noch keinen Namen, der alle ähnlich denkenden Entwicklungsströme unter einen Hut brachte. Also setzten sich ein paar führende Köpfe zusammen, legten Werte und Prinzipien fest, mit denen sich Software effizienter entwickeln lassen sollte, und nannten diese Art der Entwicklung agil. Ursprünglich stammt das Konzept des Agil-Seins also aus der Software-Entwicklung. Daraus hat sich dann im Laufe der Jahre die Bezeichnung agiles Projektmanagement entwickelt, denn nicht nur Software-Projekte lassen sich agil planen und steuern.
Darum geht es:
Agiles Projektmanagement hinterfragt Rollen, Prozesse und Projektpläne aus der klassischen Vorgehensweise. Stattdessen legt es Wert darauf, Stakeholder während des gesamten Projekts intensiv einzubeziehen und ihnen regelmäßig Ergebnisse zu liefern. Es heißt Änderungen willkommen, weil sich nur so die besten Resultate liefern lassen. Vor allem Anforderungen, die diese ständige Entwicklung und Veränderung widerspiegeln, spielen hier eine wesentliche Rolle. Wenn Sie Ihre Projekte agil managen möchten, folgen Sie den Werten, die bereits vor 20 Jahren, im Februar 2001 im Agilen Manifest niedergeschrieben worden sind:
Wie Sie sehen können, beinhalten diese Werte immer zwei Seiten. Agiles Projektmanagement betrachtet die erste Seite – auch als linke Seite bezeichnet – als wertvoller als die rechte. Funktionierende Software ist so zum Beispiel wichtiger als Dokumentation. Natürlich darf die rechte Seite nicht zu weit in den Hintergrund rücken: Was nutzt Ihnen funktionierende Software, wenn der Anwender immer wieder nachfragen muss, wie sie funktioniert? Oder wenn Sie schon intern eigene Entwicklungen nicht mehr nachvollziehen können? Wenn außerdem Menschen und Interaktionen wichtiger als Prozesse und Tools sind – wie können Sie z. B. noch effizient ausführlich kommunizierte Anforderungen erfassen, priorisieren und schätzen, ohne das passende Tool zu haben? Es geht um eine Ausgewogenheit, in der die linke Seite immer als erstes betrachtet, die rechte Seite aber angemessen nachgezogen werden muss. Nur so lässt sich agil sein.
Die formulierten Werte bieten noch keinen praktischen Leitfaden, den man im eigenen Projekt umsetzen kann. Deshalb wurden 2001 ebenfalls die sogenannten agilen Prinzipien definiert. Mit Hinblick auf den Ursprung des agilen Projektmanagements konzentrieren sich diese Prinzipien auf die Software-Entwicklung:
Sie können basierend auf den Werten und Prinzipien Ihre eigene agile Vorgehensweise entwickeln. Es haben sich aber bereits Prozesse gebildet, die einen Rahmen vorgeben, ohne das Rad neu erfinden zu müssen. Zu den agilen Prozessen gehören u. a. Extreme Programming (XP), Feature Driven Development (FDD), Scrum oder Kanban. Scrum und Kanban sind die beiden agilen Prozesse, deren Verbreitung in Unternehmen auch heute noch zunimmt.
Scrum ist einer der bekanntesten Prozesse für agiles Projektmanagement und eignet sich auch für Projekte außerhalb der Software-Entwicklung, da es allgemein beschrieben ist. In einem Scrum-Projekt gibt es die definierten Rollen Entwicklungsteam, Scrum Master und Product Owner. Anforderungen werden in einem Product Backlog festgehalten und dort ständig angepasst. Das Projekt plant man in Releases und Sprints, für die es Release Backlogs und Sprint Backlogs gibt. Zwischenergebnisse werden nach jedem Sprint geliefert. Weiterhin trifft sich das Team zu Daily Scrums, Sprint Reviews und Sprint Retrospektiven.
Kanban visualisiert den Arbeitsfluss durch ein sogenanntes Kanban Board, auf denen die Anforderungen nach ihren Zuständen sortiert sind. Eine Anforderung wird auf einem Post-It notiert und wandert dann von Zustand zu Zustand auf dem Board entlang. Ein wesentliches Merkmal sind die Obergrenzen der Anforderungen in den jeweiligen Zuständen. Zum Beispiel legt man fest, dass nur höchstens 4 Anforderungen gleichzeitig bearbeitet werden können. Außerdem gibt es keine feste Menge an Anforderungen innerhalb einer Zeitspanne, wie es z. B. das Sprint Backlog in einem Scrum-Projekt vorgibt. Stattdessen holt sich das Team selbstständig neue Anforderungen auf das Kanban Board, sobald es genügend freie Ressourcen hat.
Egal, welchen agilen Prozess Sie nutzen:
Agiles Projektmanagement ist verglichen mit klassischen Projektmanagement-Verfahren durch ein stark reduziertes Rollenmodell gekennzeichnet. So kennt das V-Modell XT z. B. über 30 Projektrollen, Scrum dagegen gerade einmal drei. Reduktion der Rollen bedeutet aber nicht Verringerung der Kompetenzen in agilen Entwicklerteams. Sie sind interdisziplinar aufgestellt, d.h. sie haben alle Fähigkeiten, um Produktinkremente erfolgreich zu entwickeln.
In agilen Organisationen übernimmt der Product Owner heute zunehmend strategische Aufgaben, die in klassischen Organisationen dem Produktmanager zugeschrieben werden:
Zu den operativen Aufgaben des Product Owners gehören:
Die Entscheidung darüber, wie die Anforderungen aus dem Product Backlog in Produktinkremente umgesetzt werden, liegt in der Verantwortung des Teams. Zur Selbstorganisation des Teams gehört deshalb vor allem die Sprintplanung.
Training, Coaching und Support des Teams sind die Aufgaben des Scrum Masters. Darüber hinaus sollte er die Verbreitung agiler Vorgehensweisen in der Organisation fördern. Das bedeutet auch, die Führungskräfte innerhalb einer Organisation zu informieren, auszubilden und mit ins Boot zu nehmen.
Prozesse bilden nur den Rahmen für das agile Projektmanagement. Um ein Projekt agil umzusetzen, lassen sich verschiedene Techniken einsetzen. Dazu zählen u. a.:
Agiles Projektmanagement eignet sich für Projekte:
Stellen Sie sich vor, Sie wollen ein neues Projekt angehen. Zum Beispiel wollen Sie eine neue Software entwickeln. Sofort denken Sie wahrscheinlich an folgende grobe Schritte, um Ihr Ziel zu erreichen:
Als erstes überlegen Sie zusammen mit den Kunden, welchen Mehrwert die Software liefern soll und wie sie das erreicht – Sie stellen Anforderungen auf. Dann entwerfen Sie Architektur und Oberfläche der Software, um anschließend die Funktionen zu entwickeln.
Als nächsten Schritt testen Sie, ob die Software Ihre Anforderungen erfüllt, und liefern eine Produktversion, sobald alles Ihren Wünschen entspricht. Alle Schritte erfolgen hintereinander, Sie können immer einen vorherigen abschließen, um die nächste Phase zu beginnen – ein Traum!
Diese Situation stellt im wahrsten Sinne des Wortes einen Traum dar, denn wie so oft sieht die Realität ganz anders aus: Ihre Kunden stellen immer wieder neue Anforderungen auf, wünschen sich Funktionalitäten, die am Anfang gar nicht zur Debatte standen. Und Sie müssen schnell reagieren, um die Änderungen einzuarbeiten und ihnen das Produkt liefern zu können, das sie zufriedenstellt. In der Regel ergibt sich dadurch ein ganz anderes Ergebnis, als anfänglich geplant. Wenn Sie in einem starren Prozess arbeiten, dann kann Ihnen diese Flexibilität oft schwer fallen. Aber agiles Projektmanagement weiß damit umzugehen.
Natürlich gibt es im agilen Projektmanagement auch noch Planungsphasen. So plant man in Scrum z. B. die Entwicklung in Releases und Sprints, um das fixierte Enddatum der Lieferung einzuhalten. Aber welche Anforderungen genau Sie dort umsetzen, ist immer abhängig von den aktuellen Zielen und Wünschen der Stakeholder. Außerdem arbeiten Sie im agilen Projektmanagement in iterativen Schritten, während Sie gleichzeitig aktiv mit allen Beteiligten kommunizieren. Zum Beispiel ermitteln Sie im ersten Sprint Anforderungen, setzen sie um und testen sie. Am Ende des Sprints stellen Sie das Zwischenergebnis Ihren Auftraggebern vor, holen sich Feedback ein und planen darauf basierend die umzusetzenden Anforderungen für den nächsten Sprint. So entwickeln Sie iterativ ein Endprodukt, das die Stakeholder auch zufriedenstellt, weil sie in die Entwicklung einbezogen werden.
Manche Projekte weisen jedoch nicht alle vorher aufgelisteten Merkmale auf, um agiles Projektmanagement umzusetzen. Oder Ihr Unternehmen ist noch so sehr im klassischen Projektmanagement verankert, dass Sie Ihre Prozesse nicht komplett verwerfen können und wollen. Hier bietet sich dann eine Mischung aus klassischem und agilem Projektmanagement an – auch als hybrides Projektmanagement bezeichnet.
Wenn Sie agil sein wollen, entwickeln Sie Personas und Use Cases, um die Ziele und Wünsche Ihrer Stakeholder festzuhalten. Sie arbeiten mit einer Vielzahl von Anforderungen – je nach Projektgröße geht diese Zahl in die Tausende – und schätzen deren Geschäftswert sowie Aufwand, um sie Releases und Sprints zuzuordnen. Und wenn es Änderungen gibt, dann sind diese schnell einzupflegen, damit Sie das beste Ergebnis für die Stakeholder liefern können. Als Key Performance Indicator brauchen Sie Diagramme wie ein Cumulative Flow Diagram oder eine Earned Value Analyse. Außerdem arbeiten Sie eventuell mit mehreren Teams zusammen, die Sie alle managen müssen. Sie brauchen Transparenz, damit jeder genau weiß, welche Anforderungen umzusetzen sind und in welchem Entwicklungszustand sie sich befinden. Nur mit einem passenden Tool lassen sich solche agilen Projekte effektiv managen.