Was ist agiles Projektmanagement?
Jeder, der schon einmal mit Projektmanagement zu tun hatte, weiß, wie schwierig es sein kann, eine kohärente Teamarbeit zu organisieren, und angesichts der sich ständig ändernden Anforderungen an die Projektergebnisse können alle Bemühungen umsonst sein. Agiles Projektmanagement ist für solche Projekte ideal geeignet. Daher bieten wir eine Weiterbildung für agiles Projektmanagement.
Agile Projektmanagement-Methode
Das agile Projektmanagement besteht aus mehreren Arbeitsschritten, die durch strenge Fristen definiert sind – Sprints, die es dem Team ermöglichen, die Ergebnisse der geleisteten Arbeit kontinuierlich zu bewerten und Feedback vom Kunden und anderen Projektteilnehmern zu erhalten. Dieser Ansatz ermöglicht sofortige Produktänderungen, wenn neue Anforderungen entstehen.
Agiles Arbeiten und Ihre Entstehung
Evolutionäres Projektmanagement und adaptive Softwareentwicklung entstanden in den frühen 1970er Jahren. 1970 legte Dr. Winston Royce ein Papier mit dem Titel Managing the Evolution of Large Software Systems vor, in dem er die sequentielle Entwicklung kritisierte. Er argumentierte, dass Software nicht wie ein Auto am Fließband entwickelt werden sollte, bei dem jedes Teil in aufeinander folgenden Phasen hinzugefügt wird. In solchen aufeinanderfolgenden Phasen sollte jede Phase des Projekts abgeschlossen sein, bevor die nächste Phase beginnt. Dr. Royce empfahl einen stufenweisen Ansatz, bei dem die Entwickler zunächst alle Anforderungen des Projekts erfassen, dann die gesamte Architektur und das Design fertigstellen, dann den gesamten Code schreiben und so weiter.
In den 1990er Jahren wurden als Reaktion auf die vorherrschenden schwergewichtigen Methoden eine Reihe von agilen Softwareentwicklungsmethoden entwickelt. Dazu gehören: seit 1991 RAD (Rapid Application Development); seit 1994 Dynamic Systems Development Method (DSDM); seit 1995 Scrum; seit 1996 Crystal Clear und Extreme Programming (XP); und seit 1997 Feature driven development (FDD). Obwohl sie vor der Veröffentlichung des Manifests für agile Softwareentwicklung entstanden sind, werden sie unter dem Begriff „agile Softwareentwicklungsmethoden“ zusammengefasst.
Im Februar 2001 trafen sich siebzehn Softwareentwickler im Snowbird Resort in Utah, um über agile Entwicklungsmethoden zu diskutieren. Gemeinsam veröffentlichten sie das agile Software Development Manifesto.
Agiles Manifest
Das agile Manifest besteht aus 4 grundlegenden Ideen und 12 Prinzipien. Jede agile Methode wendet diese Ideen auf andere Weise an, aber alle stützen sich auf sie, um Projekte so effektiv wie möglich zu verwalten.
Agile Ideen
Menschen und Zusammenarbeit sind wichtiger als Prozesse und Werkzeuge.
Funktionierende Software ist wichtiger als Dokumentation.
Die Zusammenarbeit mit den Kunden ist wichtiger als die Aushandlung von Vertragsbedingungen.
Die Bereitschaft, Änderungen vorzunehmen, hat Vorrang vor dem Festhalten am ursprünglichen Plan.
12 Prinzipien des agilen Projektmanagements
Kundenzufriedenheit durch frühzeitige und kontinuierliche Bereitstellung von Software. Die Kunden sind zufriedener, wenn sie in regelmäßigen Abständen funktionierende Software erhalten.
Änderungen an den Produktanforderungen während des gesamten Entwicklungsprozesses vornehmen.
Regelmäßige Lieferung von Arbeitssoftware (jeden Monat, alle zwei Wochen, jede Woche usw.).
Zusammenarbeit zwischen den Beteiligten (Kunde und Entwickler) während des gesamten Projekts.
Unterstützung, Vertrauen und Motivation der beteiligten Personen. Motivierte Teams leisten mit größerer Wahrscheinlichkeit ihre beste Arbeit als Mitarbeiter, die mit ihren Arbeitsbedingungen unzufrieden sind.
Interaktion von Angesicht zu Angesicht. Die Kommunikation ist erfolgreicher, wenn die Entwicklungsteams direkt miteinander kommunizieren können.
Eine funktionierende Software ist ein wichtiger Gradmesser für den Fortschritt. Die Auslieferung funktionaler Software an den Kunden ist der ultimative Maßstab für den Fortschritt.
Beibehaltung eines gleichmäßigen Arbeitstempos. Die Teams legen ein wiederholbares und vertretbares Tempo fest, in dem sie funktionierende Software liefern können.
Aufmerksamkeit für technische Details und Design. Die richtigen Fähigkeiten und ein gutes Design ermöglichen es dem Team, das Tempo zu halten, das Produkt ständig zu verbessern und an Änderungen zu arbeiten. Einfachheit. Selbstorganisierende Teams fördern hervorragende Architektur, Anforderungen und Entwürfe. Qualifizierte und motivierte Teammitglieder, die über Entscheidungsbefugnis verfügen, kommunizieren regelmäßig mit anderen Teammitgliedern und tauschen Ideen aus, um ein Qualitätsprodukt zu gewährleisten. Ständige Anpassung an die sich ändernden Bedingungen, was dazu beiträgt, das Produkt auf dem Markt wettbewerbsfähiger zu machen.
Die Grundlage der agilen Methoden
Die Methode des agilen Projektmanagements basiert auf einer Reihe von Schlüsselelementen:
Visuelle Kontrolle. Die Projektteilnehmer verwenden während des Projekts Karten unterschiedlicher Farbe und Art, die anzeigen, welches Element des Endprodukts bereits entworfen, geplant, fertiggestellt usw. wurde. Auf diese Weise hat das Team einen visuellen Überblick über den Status quo. Die Visualisierung stellt sicher, dass alle Beteiligten die gleiche Vorstellung von dem Projekt haben.
Alle Projektbeteiligten arbeiten Seite an Seite, auch der Kunde. Dieser Ansatz beschleunigt nicht nur viele der Prozesse, die mit der Information der Teammitglieder verbunden sind, sondern schafft auch eine gute Atmosphäre für Zusammenarbeit und effiziente Arbeit.
Anpassungsfähige Verwaltung. Der Projektleiter ist keine Person, die Anweisungen erteilt, sondern eine Führungspersönlichkeit, die die Grundregeln der Arbeit und der Zusammenarbeit festlegt.
Gemeinsame Arbeit. Team, Projektleiter und Kunde arbeiten zusammen, um Informationsverluste und Missverständnisse über die Ziele zu vermeiden. Auch die Transparenz aller Prozesse ermöglicht den sofortigen Ausschluss von Problemen und die Identifizierung von erfolgreichen Lösungen und Verbesserungen.
Die Arbeit basiert auf der Aufteilung des Gesamtprojekts in Teilbereiche. Dieses Arbeitssystem reduziert die Projektkomplexität erheblich und ermöglicht es den Teams, sich auf jeden einzelnen Teil zu konzentrieren.
Arbeit an Fehlern. Im Laufe eines Zyklus erlernt das Team neue Fähigkeiten und analysiert aufgetretene Fehler, um sie im nächsten Zyklus zu vermeiden.
Sprints und tägliche Besprechungen. Sprints – Zeitabschnitte, in denen Teams eine Reihe von Aufgaben erledigen – ermöglichen es Ihnen, die Ergebnisse Ihrer Arbeit klar zu sehen. Wenn Sie Ihre Projektzeit in Sprints aufteilen, erhalten Sie z. B. 10 Sprints, die jeweils vierzehn Tage dauern. Tägliche Besprechungen von nicht mehr als 15 Minuten helfen jedem Teammitglied, drei Fragen für sich selbst zu beantworten: Was habe ich gestern getan, was werde ich heute tun, was hindert mich daran, meine Arbeit zu erledigen?
Die Umsetzung von Agile ist also unter den folgenden Bedingungen möglich:
- der Wert des Projekts ist klar angegeben,
- der Kunde ist während des gesamten Projekts aktiv beteiligt,
- es ist möglich, den gesamten Projektumfang Schritt für Schritt abzuarbeiten,
- das Ergebnis der Arbeit ist wichtiger als die Dokumentation,
- die Arbeitsgruppe besteht aus nicht mehr als 7-9 Personen.
Derzeit ist die agile Methodik im IT-Bereich weitverbreitet und beginnt, den Unternehmensbereich zu beherrschen, insbesondere Marketing, Management, Ausbildung usw. Die agile Projektmanagement-Methode wird von vielen Unternehmen und Behörden eingesetzt. So arbeiten unter anderem die Regierungen von Norwegen und Neuseeland mit agilen Methoden.
Agile Methoden des Projektmanagements
Es gibt viele Methoden, die auf der agilen Idee basieren, die bekanntesten sind Scrum und Kanban.
Scrum
Scrum ist eine Projektmanagement-Methodik, die sich auf die Qualitätskontrolle des Arbeitsprozesses konzentriert. Hirotaka Takeuchi und Ikujiro Nonaka, die den Scrum-Ansatz als Erste beschrieben, erklärten ihn als einen „Rugby-Ansatz“, bei dem Scrum ein Kampf um den Ball ist. Die Methode selbst ist ein Entwicklungsprozess, der in kleine Iterationen – Sprints – unterteilt ist, an deren Ende die Benutzer eine verbesserte Version der Software erhalten. Der Sprint ist zeitlich streng festgelegt und dauert zwischen 2 und 4 Wochen. Die Arbeit in einem Sprint besteht aus mehreren Phasen:
- Planen von Aufgaben für einen Sprint
- Tägliche Besprechungen von 15 Minuten Dauer, um die Arbeit des Teams zu korrigieren und Zwischenergebnisse zusammenzufassen.
- Demonstration der Arbeitsergebnisse.
- Eine Sprint-Retrospektive, in der die erfolgreichen und erfolglosen Ereignisse des vergangenen Sprints betrachtet werden.
Scrum wird am häufigsten für das Management komplexer Software- und Produktentwicklungen unter Verwendung iterativer und inkrementeller Methoden eingesetzt. Scrum steigert die Produktivität erheblich und verkürzt die Zeit bis zur Erzielung von Vorteilen im Vergleich zu klassischen „Wasserfall“-Prozessen. Scrum-Prozesse ermöglichen es Unternehmen, sich reibungslos an schnell wechselnde Anforderungen anzupassen und ein Produkt zu entwickeln, das den sich ändernden Geschäftszielen entspricht.
Scrum ermöglicht:
- Verbesserung der Qualität der Ergebnisse;
- Den Wandel besser bewältigen;
- Sie können genauere Kostenvoranschläge erstellen und benötigen weniger Zeit für die Erstellung;
- Sie haben eine bessere Kontrolle über Projektszenarien und Meilensteine.
Kanban
Kanban ist ein Prozess, der Teams helfen soll, effektiver zusammenzuarbeiten. Im Japanischen bedeutet Kanban „Anschlagtafel, Beschilderung“, und die Methode selbst ist dem Produktionssystem von Toyota entnommen und angepasst. Das Wesen von Kanban besteht darin, den Entwicklungsprozess so transparent wie möglich zu gestalten und die Arbeitslast gleichmäßig auf die Teammitglieder zu verteilen. Kanban fördert die kontinuierliche Zusammenarbeit und regt zu aktivem, kontinuierlichem Lernen und Verbessern an.
Kanban basiert auf drei Prinzipien:
Visualisierung von Aufgaben:
- Die Sichtbarkeit aller Projektinformationen hilft, Fehler und Überschneidungen zu erkennen.
- Kontrolle und Begrenzung des WIP (work in progress): Dies trägt dazu bei, den fließenden Ansatz auszubalancieren, damit die Teams nicht zu viel Arbeit auf einmal beginnen und erledigen.
- Kontrolle der Zeit für die Erledigung einer Aufgabe und Optimierung der Arbeit, um Zeit zu sparen.
Vor- und Nachteile agiles Projektmanagements
Jede Methodik hat Vor- und Nachteile. Betrachten wir die Vor- und Nachteile von Agile.
Vorteile agiles Projektmanagement
1. mehr Flexibilität im Vergleich zur Wasserfall-Methodik.
Bei der traditionellen Wasserfall-Methode sind die Arbeitsschritte klar vorgegeben. Bei der agilen Methodik sind Zeitplan und Kosten die wichtigsten Determinanten, und dies ist ein Bereich, der sich ändert, um die Anforderungen der Kunden und Verbraucher an das Produkt zu erfüllen.
2. Weniger Fehler im Endprodukt.
Dies ist das Ergebnis von Qualitätskontrollen, die in jeder Phase der Arbeit durchgeführt werden. Ein kontinuierlicher „Design-, Build- und Test“-Prozess reduziert auch die Anzahl der Fehler, da die iterativen Zyklen fortgesetzt werden.
Nachteile agiles Projektmanagement
1. Ständige Rückmeldungen führen dazu, dass der Fertigstellungstermin des Projekts immer weiter hinausgeschoben wird.
Durch die sofortige Rückmeldung, die Agile bietet, besteht die Gefahr von langen Vorlaufzeiten. Endbenutzer, die sehen, dass diese Anforderungen „leicht“ erfüllt werden können (sie sehen nur das Ergebnis, nicht den Aufwand), werden zusätzliche Funktionen anfordern. Wenn der Projektleiter und die Entwickler die Erwartungen nicht im Griff haben, werden die Endbenutzer immer mehr verlangen, bis das gesamte Team mit zusätzlicher Arbeit belastet ist.
2. Dokumentation
Aufgrund des agilen Charakters von Agile muss die Dokumentation den sich schnell ändernden Bedingungen des Projekts folgen. Eine Änderungs- oder Funktionsanforderung kann zwar mit Endbenutzern, Entwicklern und Testern ausführlich besprochen und vereinbart werden, aber wenn das Team nicht informiert wurde, wird ein wichtiges Dokument wie ein Benutzerhandbuch, ein Architekturdokument oder ein funktionales Anforderungsdokument obsolet.
3. häufige Treffen
Agiles Projektmanagement empfiehlt zwar, solche Meetings täglich abzuhalten, damit jeder über den Fortschritt des anderen informiert ist, aber die Nachhaltigkeit dieser Praxis beeinträchtigt den Fortschritt der Iterationen. Die Entwickler konzentrieren sich auf das, was sie tun. Sie für eine Besprechung abzuziehen, die sie von ihrer eigentlichen Arbeit ablenken könnte, wird von ihnen nicht gerne akzeptiert.
Einführung agiles Projektmanagement
Wahl einer Methode
Es gibt verschiedene agile Methoden, die auf bestimmte Bedingungen zugeschnitten sind. Der erste Schritt bei der Arbeit mit Agile besteht darin, die Ziele der Arbeit, den Zeitplan, die Anzahl der Mitarbeiter usw. zu definieren und eine agile Projektmanagement-Methode zu wählen, die alle Anforderungen erfüllt.
Ausbildung des Personals
Schulungen sind notwendig, damit die Mitarbeiter die grundlegenden agilen Prinzipien verstehen und wissen, wie sie damit arbeiten können. In dieser Phase werden die Fallstricke identifiziert, die die Wirksamkeit von Agile beeinträchtigen können. Ist das Team bereit für Veränderungen? Sind die Projekte des Unternehmens für agile Methoden geeignet? Diese und viele andere Fragen werden in der Regel von Business Coaches beantwortet, die sich auf Agile spezialisiert haben. Unter anderem wird es auch eine Liste von Schulungen und einen Plan für die Einführung von Agile im Unternehmen geben.
Testen des agilen Arbeitens
Eine Art agile Testfahrt unter der Leitung eines Spezialisten, die alle Arbeitsschritte aufzeigt, die Funktionen der Rollen erklärt, die Interaktion innerhalb und zwischen den Teams, usw.
Teambildung
Neben der Auswahl der Mitarbeiter umfasst die Teambildung auch die Festlegung von Zuständigkeiten, die Zuweisung von Aufgaben, die Aufstellung eines Sitzungsplans usw. Jede der Techniken ist für eine bestimmte Anzahl von Personen im Team ausgelegt.
Auswahl der erforderlichen Tools für Aufgabenverteilung, Berichterstattung, Analyse usw.
Erstes Projekt mit Agile
Im ersten Projekt wird es Fehler, Unstimmigkeiten, die Ablehnung einiger Werkzeuge und die Auswahl anderer geben. Jede Methodik erfordert eine gewisse Anpassung an die Besonderheiten des Unternehmens, in dem sie eingeführt wird.
Es gibt sehr viele Tools für agiles Projektmanagement im IT, jedes Team arbeitet unterschiedlich und mit für sich ausgesuchten Tools, eines davon ist zum Beispiel Jira, das gerne von Entwicklern genutzt wird, vor allem die Kanban Methode. Inzwischen gibt es natürlich viele weitere tolle Tools.