Projektmanagement: Waterfall vs. Agile

Zwei der bekanntesten Methoden für grössere Softwareprojekte sind Agile und Waterfall: Projekte, die schnell zum Einsatz kommen müssen oder bei Projektbeginn noch nicht komplett definiert sind, weil das Einsatzgebiet beständigen Änderungen unterworfen ist, werden besser mit agilen Methoden gemanagt. Geht es um ein sehr langfristiges und genau definiertes Projekt, bei dem nicht mit grossen Änderungen der Anforderungen zu rechnen ist, würde sich die Waterfall-Methode empfehlen.

Die Ursprünge der Waterfall-Methode sind über 50 Jahre alt und stammen aus der Baubranche und Industrieproduktion. Projekte wurden streng sequentiell abgewickelt (das Dach nicht vor den Grundmauern) und diese Methodik wurde auf die Software-Entwicklung übertragen: Jeder neue Schritt wird erst nach Beendigung des vorherigen angegangen. Die Vorteile der prozessorientierten Waterfall-Methode liegen im streng vorgegeben Gerüst mit genauester Dokumentation aller erfolgten Schritte. Durch die exakten Vorgaben kann auch personelle Fluktuation innerhalb des Projekts gut aufgefangen werden. Die Methode verlässt sich allerdings darauf, dass die einmal festgelegten Projektvorgaben auch genauso bleiben. Nachträgliche Änderungen oder spät auffallende grundsätzliche Programmfehler können die gesamte Codebasis beeinflussen und Verzögerungen und Budgetüberschreitungen zur Folge haben.

Die Idee zur Verwendung agiler Methoden in der Softwareentwicklung stammt aus den frühen 90er-Jahren. Zu den agilen Methoden zählen XP (Extreme Programming), FDD (Feature Driven Development) und Scrum, welche hier exemplarisch für alle Agile-Methoden erläutert werden soll. Im Gegensatz zu linearen Methoden setzt Agile auf einen iterativen Ansatz. Es wird direkt mit einem einfachen Grunddesign begonnen und die gewünschte Funktionalität wird Modul für Modul entwickelt. Bei der Agile-Methode Scrum werden diese Module in wöchentlichen oder monatlichen sogenannten Sprints gebaut. Nach jedem Sprint werden die Projektprioritäten neu bewertet und Tests durchgeführt. Entdeckte Fehler und Kunden-Feedback und ggf. Änderung der Prioritäten fliessen dann ins Design ein, bevor der nächste Sprint ausgeführt wird.

Ein agile Herangehensweise erlaubt ein dynamisches Projektdesign, mit dem im Verlauf der Softwareentwicklung auf die Änderung von Kundenwünschen eingegangen werden kann. Die Evaluierung nach jedem Sprint kann sogar einen schrittweisen Einsatz einzelner Module vor der Fertigstellung des gesamten Projekts ermöglichen.

Dieser Artikel erschien im New Media Magazin AM|START #21.

Daniela Warndorf

Über Daniela Warndorf

Daniela arbeitet als freie Redakteurin und Kommunikationsberaterin mit dem Schwerpunkt Online-Kommunikation. Seit März 2013 unterstützt sie die Redaktion von Zweiblog.
Dieser Beitrag kann auf folgenden seiten gefunden werden: Corporate Websites, Links & Lesetipps, Strategie und markiert , , , , . Bookmarken permalink.

Hinterlasse eine Antwort

Deine E-Mail Adresse wird nicht veröffentlicht. Die benötigten Felder sind markiert *

*

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>