12.0 Wasserfall vs. zyklisches Projektmanagement (Teil 5) – Bedingungen für das Management zyklischer Projekte

Nutzer/Kunden nehmen aktiv teil #

Jeder Zyklus des zyklischen Projektmanagements umfasst die Entwicklung von Anforderungen, das Design, die Ausführung und das Testen. Dies impliziert, dass im Laufe eines Zyklus viele Entscheidungen getroffen werden müssen. Wenn das Programm die Wünsche des Kunden genau widerspiegeln soll, muss der Kunde ein aktives Mitglied des Projektteams sein.

Kunden müssen Programmierern und Designern ihre Anforderungen so klar wie möglich kommunizieren. Dies beinhaltet oft eine wöchentliche (oder zumindest zweiwöchentliche) Mitarbeit im Projektteam.

Innerhalb eines Projekts tragen Verbraucher zur Definition der erforderlichen Funktionen und zur Zyklusplanung bei. Sie kooperieren bei Abnahmetests, genehmigen oder lehnen Zwischenergebnisse ab und tragen zur Gesamtausrichtung des Projekts bei. Darüber hinaus führt eine aktive Kundeneinbindung zu verbesserten Ergebnissen bei der Verwendung der Wasserfallmethode.

Das Team ist mit der Autorität ausgestattet, Entscheidungen zu treffen. #

Innerhalb eines Zyklus muss das Projektteam befähigt werden, eigene Entscheidungen zu treffen. Fehlt dem Projektteam diese Autorität, wird das zyklische Modell des Projektmanagements nicht funktionieren. Wenn über einen Zyklus hinweg eine ständige Zustimmung von Vorgesetzten erforderlich ist, kann dies zu Stagnation führen. Darüber hinaus sind Außenstehende häufig nicht informiert, weil sie nicht aktiv in das Projektteam eingebunden sind; Dies erschwert es ihnen, rationale Entscheidungen zu treffen.

Die Ausgabe des Projekts (Software) kann in kleinere Komponenten zerlegt werden. #

Zyklisches Projektmanagement ist eine Methode zur Verwaltung von Projekten, bei der Teile des Projekts in einer Reihe von Zyklen abgeschlossen werden. Dies ist nur möglich, wenn die zu entwickelnde Software in mehrere mehr oder weniger unterschiedliche Komponenten zerlegbar ist.

Die Anforderungen des Managements an Projektmanagement-Software sind in erster Linie global; Das Management stellt keine direkten, konkreten oder spezifischen Anforderungen. Einer der Vorteile des zyklischen Projektmanagements ist die enge Zusammenarbeit zwischen Kunde, Designern, Programmierern und eventuellen Testern während der Zyklen. Wenn zu Beginn eines Projekts spezifische und konkrete Anforderungen festgelegt werden, schränkt dies die Fähigkeit des Projektteams ein, Designentscheidungen nach bestem Wissen und Gewissen zu treffen. Zahlreiche Anforderungen an ein Projekt erweisen sich im Laufe des Prozesses als anpassungsbedürftig und sollten daher nicht zu Beginn (zu) fest verankert werden.

Der Kunde versteht die Aktivitäten. #

Müssen innerhalb eines Zyklus erhebliche technische Arbeiten anfallen, die für den Kunden schwer nachvollziehbar sind, besteht die Gefahr, dass der Kunde das Team nicht effektiv mitgestalten kann. In einer solchen Situation hat der Kunde nur sehr wenig Einfluss auf die zu treffenden Designentscheidungen.

Ein ähnliches Risiko besteht, wenn der Kunde den Fortschritt nicht kennt. Zum Beispiel kann ein Großteil der Arbeit der Codierung gewidmet sein, während der Benutzeroberfläche wenig Aufmerksamkeit geschenkt wird. Für Kunden ist es wichtig, ausreichend Einblick in Inhalt und Ablauf eines Zyklus zu haben, um nicht ins Abseits gedrängt zu werden.

Es sollte möglich sein, die eigenen Schritte zurückzuverfolgen. #

Auch im zyklischen Projektmanagement gehen Teams gelegentlich Wege, die sich als falsch herausstellen. In einem solchen Fall sollte ein Rückschritt möglich sein. Sollte ein während eines Zyklus neu angelegtes Modul nicht ausreichen, muss mit dem vorherigen Modul weitergearbeitet werden können. Dies stellt vor allem Anforderungen an die Archivierung und Dokumentation von Projektmaterialien. CVS und Subversion sind zwei nützliche Werkzeuge für diese Aufgaben (siehe Anhang 3 für eine vollständige Liste der Werkzeuge).

Programmierer sollten neben Programmierkenntnissen in der Lage sein, effektiv mit Kunden zu interagieren und umgekehrt. Teammitglieder müssen intellektuelle Denker sein. Disziplin ist erforderlich, um mit der Arbeit fortzufahren.

Auch die Organisation, in der das Projekt durchgeführt wird, muss diese Arbeitsweise ausreichend unterstützen. Zur Unterstützung der Projekte werden Zeiterfassungs-, Archivierungs- und Terminplanungssysteme benötigt. Diese Registrierungssysteme bieten die notwendige Offenheit, um eine gerechte Verteilung der Ressourcen über Projekte und Zeiträume hinweg zu gewährleisten.

Priorisierung #

Projekten sollte ein angemessener Stellenwert eingeräumt und Teammitglieder für sie zur Verfügung gestellt werden. Von Teammitgliedern zu verlangen, dass sie zu viele Aufgaben gleichzeitig bearbeiten, ist ineffektiv. Wenn eine Organisation nicht angemessen an projektbasiertes Arbeiten angepasst ist, führt die zyklische Flexibilität des Projektmanagements wahrscheinlich zu Chaos. Darüber hinaus profitiert die Wasserfalltechnik von einem organisierten Ansatz im Projektmanagement (vgl. Wijnen, 2004, S. 111).

Der Geschäftsführer einer Softwareentwicklungsfirma, der eher visionär als Manager war, hatte fast jeden Monat eine tolle Idee und initiierte ständig neue Initiativen in seinem Unternehmen. Infolgedessen wurden ältere Projekte nie abgeschlossen und die Arbeiter arbeiteten an bis zu fünf Projekten gleichzeitig. Der charismatische Regisseur hatte gerade ein Buch über Rapid Application Development (RAD) gelesen und war sehr gespannt darauf – vor allem auf das „schnelle“ Element. Er klebte die grundlegenden Ideen von RAD auf den Kopierer und erwartete dann, dass jeder anfangen würde, mit diesen Ideen zu arbeiten. Schließlich war es eine hervorragende Technik.

Risiken des zyklischen Projektmanagements #

Zyklische Projektmanagementtechniken lassen manchmal nicht genügend Zeit, um die erforderlichen Funktionen auszuführen. Da die Projektlaufzeit feststeht, werden mit ziemlicher Sicherheit weniger Funktionen hinzugefügt als ursprünglich erwartet.

Dies ist zwar ein berechtigtes Anliegen, aber auch dem Wasserfallansatz innewohnend . Der definierende Schritt des Wasserfall-Ansatzes beinhaltet eine eingehende Prüfung der Anforderungen. Diese Analyse wird wahrscheinlich zu einem verbesserten Zeitmanagement führen. Dies ist aus den oben genannten Gründen in der Realität oft nicht der Fall.

Darüber hinaus werden Funktionalitäten bei diesem Ansatz aus Mangel an Mitteln für deren Entwicklung weggelassen.

In zyklischen Ansätzen werden Anforderungen pragmatisch behandelt. Beispielsweise können Bedarfe in Zyklen anhand der MoSCoW-Kriterien (Stapleton, 2003) wie folgt klassifiziert werden:

  • Must Have: systemkritische Anforderungen
  • Sollten: kritische Bedürfnisse, die Benutzer wirklich wünschen
  • Könnte haben: wünschenswerte Bedürfnisse, die leicht ignoriert werden können
  • Want to Have: Anforderungen, die dieses Mal nicht erfüllt werden: Anforderungen, die bis später warten können

Unabhängig davon, ob bestimmte Fähigkeiten nicht mehr verfügbar sind, sind die Projektmanager von DANS der Meinung, dass zyklisches Arbeiten zu einer höheren Kundenzufriedenheit führt als der Wasserfall-Ansatz. In jedem Fall werden Erwartungen regelmäßig effektiver kontrolliert und Projekte produzieren routinemäßig Ergebnisse, die funktionieren, auch wenn sie weniger komplex sind als ursprünglich gedacht.

Potenzielle Nachteile verstehen #

Ein häufig zitierter Nachteil von XP besteht darin, dass den Programmierern erhebliche Macht übertragen wird. Missbrauchen sie diese Befugnis, können sie die mangelnde Fachkompetenz des Kunden zu ihrem Vorteil ausnutzen. Um dieses Szenario zu vermeiden, braucht es einen Projektleiter, der sowohl die Interessen der Programmierer als auch der Kunden im Auge behält. Diese Projektleiter helfen ihren Kunden bei der Auswahl und Planung von Zyklen, beim Verstehen der technischen Grundlagen ihrer Auswahl sowie bei der Verwaltung und Berichterstattung.

Schließlich besteht ein weiterer Nachteil von XP darin, dass die Implementierung der Methode eine hohe Lernkurve für Programmierer, Manager und Verbraucher erfordert.