Die Opposition zwischen Agile und Waterfall ist nicht so sehr theoretisch, sondern praktisch. Die Wahl einer Methodologie, die nicht zu Ihrem Projekt passt, wird im besten Fall die Entwicklung verlangsamen oder im schlimmsten Fall es auf die Liste der “großen Fehlschläge des Jahres” setzen. Flexibles und kaskadierendes Design der Projektentwicklung (Agile und Waterfall) – ist eine der beliebtesten Managementmethoden.
Nachdem Sie die Merkmale Ihres Projekts untersucht und sich mit dem Wissen aus diesem Artikel ausgestattet haben, werden Sie in der Lage sein, die folgende Frage selbstbewusst zu beantworten: “Was passt besser zu meinem Unternehmen – Agile oder Waterfall?”
Agile – ein System von Ideen und “flexiblen” Prinzipien des Projektmanagements, die als Grundlage für andere beliebte Methoden wie Scrum, Kanban und andere dienen. Das Schlüsselprinzip ist die Entwicklung durch kurze Iterationen (Zyklen), und am Ende jeder dieser Zyklen erhält der Kunde (Benutzer) einen funktionierenden Code oder ein Produkt.
Waterfall – eine Projektmanagementmethode, die eine sequenzielle Reihenfolge von einer Phase zur nächsten ohne Auslassungen und ohne Rückkehr zu vorherigen Phasen impliziert.
Was ist Agile
Wie andere beliebte Methoden der Projektentwicklung und ‑management ist Agile vergleichsweise neu in den USA entstanden. Im Gegensatz zu CPM und CCPM sind 17 amerikanische IT-Spezialisten aus dem Bundesstaat Utah für das Aufkommen dieser flexiblen Entwicklungsmethodik verantwortlich. Zusammen mit dem “Manifest für die flexible Softwareentwicklung”, in dem der Begriff “Agile” erstmals auftauchte, entwickelten sie 12 Prinzipien der Agile-Entwicklung.
Die Essenz dieser Prinzipien lässt sich auf die folgenden Schlüsselprinzipien reduzieren, die den Charakter der flexiblen Entwicklungsmethode definieren:
- Menschen und Zusammenarbeit sind wichtiger als Prozesse und Tools.
- Ein funktionierendes Produkt ist wichtiger als umfassende Dokumentation.
- Die Zusammenarbeit mit dem Kunden ist wichtiger als die Aushandlung der Vertragsbedingungen.
- Bereitschaft, sich Veränderungen zu stellen, ist wichtiger als die Einhaltung des ursprünglichen Plans.
Agile wurde zur Grundlage eines ganzen Spektrums flexibler Methoden wie Scrum, Lean und
extreme Programmierung (XP), um nur einige zu nennen.
Scrum – die Methodologie der flexiblen Entwicklung basierend auf Agile, die auf dem “Sprint” basiert – einem Zeitraum von 1 bis 4 Wochen, nach dem eine funktionierende Version eines Produkts erhalten werden sollte.
Lean – eine Methode, die auf dem Toyota-Produktionssystem basiert. Ihre Grundlagen sind eine Philosophie der ständigen Verbesserung auf allen Ebenen der Organisation, wobei einer der zentralen Begriffe der Wert (was der Kunde bereit ist zu zahlen) ist.
Extreme Programmierung (XP) – eine der Agile-Methoden, wo ein wichtiger Teil der Prozessplanung das regelmäßige Spiel mit dem Kunden ist. Es ermöglicht, alle Mängel der vorherigen Integration, Prioritäten der Aufgaben und die gewünschte Produktfunktionalität unter Berücksichtigung der Wünsche des Kunden herauszufinden.
Vorteile und Nachteile der Agile-Methode
Zu den Vorteilen gehören:
- Kurzfristige und klare Iterationen – Entwicklungsschritte dauern von 2 Wochen bis 2 Monate, am Ende derer der Kunde die funktionierende Version eines Produkts erhält.
- Hohe Einbindung der Führungskräfte, Manager und Kunden.
- Das funktionierende Produkt steht im Vordergrund als Hauptfortschrittsindikator – dies kann sowohl als gut als auch als schlecht angesehen werden, da es hohe Anforderungen an die Selbstorganisation stellt.
Waterfall entwickelte sich ebenso wie viele andere Erfindungen: Herbert Bennington im Jahr 1956 und Hosier im Jahr 1961 trugen zur Entwicklung der Methodik bei, während Walker ihre Arbeiten verwendete und sich den Titel “Wasserfall-Schöpfer” sicherte. Wie man so sagt, die Gewinner sollten nicht beurteilt werden…
Das Waterfall-Entwicklungsmodell umfasst den sequenziellen Verlauf des Prozesses, der in Phasen unterteilt ist. Der Übergang zu einer neuen Phase ist nur nach Abschluss der vorherigen möglich.

In dem Originalwerk von Walker “Managing the development of large software systems” werden 6 Phasen der Produktentwicklung beschrieben. Diese 6 Phasen wurden 1985 in den Standards für die Zusammenarbeit mit Softwareentwicklern vom US-Verteidigungsministerium gesichert:
- System- und Programmanforderungen: sind im PRD (Produktanforderungsdokument) festgelegt.
- Analyse: verkörpert in Modellen, Schemen und Geschäftsregeln.
- Design: die interne Softwarearchitektur wird mit Methoden zur Umsetzung der Anforderungen entwickelt. Es geht nicht nur um die Schnittstelle und das Erscheinungsbild der Software, sondern auch um ihre interne strukturelle Logik.
- Coding: der Programmcode wird direkt geschrieben; die Softwareintegration ist im Gange.
- Testen: Bug-Tester (Tester) überprüfen das Endprodukt, indem sie Informationen über Fehler im Programmcode oder in der Funktionalität in die Tracker eingegeben. Bei Fehlern und Verfügbarkeit von Zeit/Geld erfolgen Bugfixes.
- Betrieb: das Produkt wird an verschiedene Betriebssysteme angepasst, regelmäßig aktualisiert, um Fehler zu beheben, die von Benutzern gefunden wurden, und um Funktionen hinzuzufügen. Die Phase bietet auch technischen Support für die Kunden.
Die Toyota Company, die die Lean- und Kanban-Methoden populär gemacht hat, verwendete bis Ende der 2000er Jahre ein kaskadierendes Modell der Softwareentwicklung für Produktionsbedürfnisse.
Vorteile und Nachteile von Waterfall
Die größten Vorteile von Waterfall sind:
- Klare und einfache Struktur des Entwicklungsprozesses – sie senkt die Eintrittsbarriere für Teams
- einfache Berichterstattung – Sie können die eingesetzten Ressourcen, Risiken, die aufgewendete Zeit und das Geld dank der strengen Phasierung des Entwicklungsprozesses und detaillierter Projektunterlagen problemlos nachverfolgen
- Aufgabenstabilität – die Aufgaben, mit denen das Produkt konfrontiert ist, sind dem Team von Anfang an klar und bleiben während des gesamten Prozesses unverändert
- Kostenschätzung und Fristen für das Projekt – die Zeit bis zum Fertigstellen des Produkts sowie die Gesamtkosten können vor Beginn der Entwicklung berechnet werden.
Nachteile der kaskadierenden Methode sind:
- ein Prozess, der an Flexibilität mangelt – das bedeutet, wenn ein Projekt mehr Zeit und finanzielle Ressourcen benötigt, als ursprünglich eingeplant, dann gerät die gesamte Testphase ins Wanken. Laut Forschungen der Rothman Consulting Group sind die Kosten für die Behebung von Fehlern nach der Veröffentlichung eines Produkts im Durchschnitt 20-mal höher als während ausführlicher mehrstufiger Tests während des Entwicklungsprozesses
- “Widerstand” gegen Veränderungen – der starre Rahmen der Entwicklungsphasen und die Bedingung, dass nur das fertige Produkt bereitgestellt wird, bestimmen, dass während der Entwicklung keine Anpassungen möglich sind
- Trägheit – in den frühen Phasen kann die Prognose von Zeit und finanziellen Aufwendungen steigen, doch es ist unmöglich, das Projekt in Richtung Kostenoptimierung und Verbesserung der Funktionalität oder des Konzepts vor der Veröffentlichung des fertigen Produkts zu ändern
- erhöhtes Risiko – das klassische Testsystem sieht vor, dass jede Komponente des Projekts getrennt getestet wird (einschließlich der Testkomponenten in Zusammenarbeit mit anderen). Beim Einsatz von Waterfall wird das fertige Produkt getestet.
Teilweise werden die Nachteile des Waterfall-Entwicklungsmodells in den Waterfall-Modifikationen: Sashimi, Waterfall mit Teilprojekten und das Waterfall-Entwicklungsmodell mit risikomindernden Merkmalen, korrigiert.
Waterfall mit Teilprojekten ist ein Modell, bei dem Sie mit drei großen Blöcken arbeiten: Konzeptualisierung, Anforderungsdesign und architektonische Struktur des Produkts. Dann durchlaufen Sie für jeden von ihnen die Phasen (Teilprojekte) des detaillierten Designs, Codierens und Testens. Am Ende werden alle Komponenten während der Systemtestphase integriert.
Das Waterfall-Entwicklungsmodell mit der Risikominderungskomponente ist eine Modifikation des klassischen Waterfall, bei der Risikominderungsspiralen hinzugefügt werden, die das Projekt in Mini-Projekte unterteilen und einem oder mehreren Schlüsselfaktoren entsprechen.
Agile | Waterfall | |
---|---|---|
Essenz | Flexibles Entwicklungsmodell basierend auf iterativen Prinzipien | Kaskadierendes Entwicklungssystem basierend auf einem strengen sequenziellen Entwicklungsprozess |
Erstellungsdatum | 2001 | 1956, 1961 und 1970 |
Anwendungsprinzipien |
|
|
Vorteile |
|
|
Nachteile |
|
|
Kunden | Unilever, mehrere Banken (Alfa Bank, Home Credit, Raiffeisenbank usw.) | Cisco Ericsson AB, Toyota (bis 2010) |
Es wird für Sie funktionieren, wenn… |
|
|
Es wird für Sie nicht funktionieren, wenn… |
|
|
Urteil
Agile und Waterfall – zwei vollkommen unterschiedliche Methoden der Entwicklung und des Projektmanagements. Jede von ihnen hat Dutzende von Modifikationen und Methoden hervorgebracht, die „geschärft“ auf ein bestimmtes Projektformat zugeschnitten sind.
Das flexible Modell ist ideal für IT-Unternehmen, Start-ups und Projekte in innovativen Bereichen. Das kaskadierende Modell ist in Bauprojekten oder Projekten, in denen das entscheidende Kriterium der Zeitrahmen des Projekts und nicht die Finanzen ist, nach wie vor von Bedeutung.
Unter Berücksichtigung der Besonderheiten jeder Methodik und Ihres Unternehmens sowie der Risikokriterien, Zeit und der Einbeziehung der Beteiligten werden Sie in der Lage sein, eine effektive Methodologie selbstständig zu bestimmen.