Unter den zahlreichen Fragen, die in jedem Projekt schließlich auftauchen, gibt es ein herausragendes Thema: Was ist der beste Weg, den Produktentwicklungsprozess zu steuern? Besonders in den Sinn kommt das Wasserfallmodell – eine der über die Jahre bewährten Optionen (oder ein Kaskaden-Wasserfallmodell zur Verwaltung der Softwareentwicklung).
Tatsächlich wird diese Methodik momentan stark kritisiert, aber ist sie wirklich so schlecht, oder werden wir einmal mehr herausfinden, dass sich die Geschichte wiederholt?
Lebenszyklus der Softwareentwicklung
Jedes Entwicklerteam kann entweder sein eigenes Software-Lebenszyklusmodell erstellen oder etwas verwenden, das allgemein anerkannt ist. Eine der Optionen ist das Wasserfallmodell. Ein Amerikaner, V.U.Royce, gilt als der Begründer dieses Modells. Es wurde ihm nachgesagt, viele Dinge von seinen Kollegen ausgeliehen und sich deren Arbeit angerechnet zu haben. Das geschah 1970. Bis zum heutigen Tag wird die von Royce vorgestellte Methode entweder in ihrer Originalversion oder modifiziert in vielen Projekten verwendet.
Allerdings behaupten einige IT-Insider, dass eine solche Methodik nie existiert hat:
„Als IT-Professional und Lehrer habe ich über 40 Jahre hinweg viele Mythen über die IT-Branche gehört. Aber was mich überrascht, ist der Grund, warum das Wort „Wasserfall“ immer noch verwendet wird, um eine nicht existierende Methodik zu beschreiben und warum die Schöpfer von Entwicklungsmethoden und ‑systemen sie als Vergleichsobjekt nutzen.“
David Dischave, Professor an der School of Information Studies, Syracuse University, USA
Es ist seltsam, so etwas über eine Methodik zu hören, die seit Jahrzehnten in der Softwareentwicklung für verschiedene Aktivitäten wie die Automobilindustrie, den Bau von Gebäuden und Strukturen, Finanzen & Buchhaltung, Medizin und Elektronik verwendet wird.
Wasserfall in der IT
Das grundlegende Prinzip des Wasserfallmodells für die Softwareentwicklung besteht darin, dass jeder nachfolgende Schritt erst begonnen werden kann, wenn der vorherige abgeschlossen ist. Gleichzeitig sind keine willkürlichen Vor- oder Rückschritte erlaubt, und die Phasen sollten sich nicht überschneiden. Dies ist das Grundlegende, das die Kaskadenmethodik von ihren agilen Pendants (oder Rivalen) wie Agile, DSDM, Scrum oder FDD unterscheidet.
Handlungsalgorithmus im Wasserfall

Um Royce’ Ideen, die dem Modell zugrunde liegen, zu verstehen, können Sie seine ursprüngliche Arbeit studieren:
Royce, Winston (1970), Managing the Development of Large Software Systems.
Kaskadenbasierter Workflow
Eine Idee formulieren und besprechen
Diese Phase umfasst grundsätzlich keine Entwicklung. Es wird lediglich eine bestimmte neue Idee, die für eine oder mehrere Personen interessant ist, in Betracht gezogen.
Anforderungen analysieren
Diese Phase umfasst die detaillierteste Spezifikation der Anforderungen des Kunden für das Projekt. Die Wege zum Ziel werden festgelegt; Fristen für die Arbeiten werden skizziert, zusammen mit dem finanziellen Aspekt. Gleichzeitig wird ein gewisser Zeit- und Geldreserven für jede Arbeitseinheit eingeplant. Wenn die Analyse der Anforderungen abgeschlossen ist, sind ein technisches Mandat für Programmierer und ein Budget bereit.
Software entwerfen
Diese Phase umfasst bestimmte Schritte:
- Auswahl einer Programmierplattform (Python, PHP, JS usw.)
- Präzisierung technischer Details (z.B. Interaktion zwischen dem Dienst oder Produkt mit Servern, ob eine API verwendet werden soll oder nicht, Logik der externen und internen Schnittstellen usw.)
- Lösung von Sicherheitsfragen des Projekts (z.B. ob HTTPS, SSL-Verschlüsselung usw. verwendet werden soll)
- Skizzierung der Rollen der Softwarebenutzer (Administrator, Kunde, Manager usw.)
- Abschluss der Fragen zu Zuverlässigkeit, Effizienz und weiterer technischer Unterstützung des Zielprodukts.
- Bildung eines festgelegten Teams.
Softwareentwicklung
Diese Phase umfasst das Schreiben eines Codes, der den zuvor erstellten Dokumenten entspricht.
Software testen
Spezialisten testen die endgültige Version des Produkts unter Bedingungen, die der Realität nahekommen, indem sie Fehler darin aufzeichnen. Die kritischsten Fehler für den allgemeinen Betrieb der Software werden behoben, weniger bedeutende können unbeachtet bleiben, wenn die Zeit abgelaufen ist oder das Budget ausgegeben ist.
Technische Unterstützung der Software
Das resultierende funktionsfähige Softwareprodukt wird entsprechend seinem Verwendungszweck genutzt, mit bereitgestellter Unterstützung. Das bedeutet, sicherzustellen, dass das Produkt funktionsfähig ist, Fehler zu beheben und Funktionalitäts-Upgrades basierend auf dem Feedback der Nutzer zu planen.
Alle oben genannten Phasen werden in einer strengen Reihenfolge durchgeführt, und ihre Ergebnisse werden dokumentiert.
Um die Entwicklung der oben beschriebenen klassischen Wasserfallmethodik zu verstehen, können Sie den Project Management Body of Knowledge studieren. Die 3. und 4. Version haben eine Reihe von Diskrepanzen, die helfen werden, den „Kaskaden“-Pfad zu verstehen.
Vorteile und Nachteile des Kaskadenmodells der Softwareentwicklung
Leider ist nichts perfekt in unserer Welt, daher hat die Kaskadenmethodik sowohl Stärken als auch Schwächen.
Stärken des Kaskadenmodells der Softwareentwicklung | Schwächen des Kaskadenmodells der Softwareentwicklung |
|
|
|
|
| |
|
|
|
|
|
Wie verwendet man das Kaskadenentwicklungsmodell und in welchen Fällen?
Nach der Praxis ist das Wasserfallmodell der Softwareentwicklung in den folgenden Fällen ziemlich relevant:
- Der Kunde beteiligt sich nur in der ersten Phase am Projekt und akzeptiert anschließend das Endprodukt;
- Die Anforderungen an das Produkt sind nicht veränderlich;
- Das Projekt ist äußerst kompliziert, langfristig und teuer;
- Qualität hat oberste Priorität, selbst wenn dies zulasten der Zeit geht;
- Es mangelt an einem Team aus erstklassigen Entwicklern;
- Es ist möglich, Spezialisten für die Umsetzung des Projekts auszulagern.
Um mögliche Motive für die Abkehr von der Kaskadenmethodik zu verstehen, können Sie das
Buch Scrum. The Revolutionary Method of Project Management von Jeff Sutherland lesen.
Beispiele für den Einsatz von Wasserfall
Das reine Kaskadenmodell ist in der modernen Entwicklung nicht so weit verbreitet, und sehr oft
wird das, was nicht als agil klassifiziert werden kann, als Wasserfall bezeichnet, sodass es ziemlich schwierig ist, festzustellen, wo genau diese Methodik verwendet wird.
Laut Experten wird ein erheblicher Teil der ERP-Systeme und Programme, die für Bau, Medizin, Einsätze unter Regierungsverträgen, industrielle Nutzung oder für ähnliche grundlegende Anwendungen entwickelt wurden, unter Verwendung einer gewissen, modifizierten Wasserfallversion entwickelt.
Besondere Merkmale der Handhabung solcher Projekte werden besser mit dem Buch „Pattern-based Development of Enterprise Systems“ von Sergey Zykov verstanden.
Und dies ist logisch gerechtfertigt. Auch Chuck Cobb, Mentor, Trainer und Autor von Büchern, die sich mit agilen Methoden im Projektmanagement befassen, beschrieb dies.
Wenn Sie eine Brücke über einen Fluss bauen, wäre es lustig zu sagen: „Wir werden die erste Überstruktur bauen, dann sehen wir das Ergebnis und dann entscheiden wir, ob wir die restlichen Überstrukturen beenden oder nicht!“
Unter den Unternehmen, in denen Wasserfall verwendet oder verwendet wurde, können die folgenden genannt werden:
Firmenname | Zweck der Verwendung des Wasserfallmodells | Ob die Methodik jetzt verwendet wird | Kommentar des Unternehmensvertreters |
Wüstenrot & Württembergische (W&W) | Entwicklung des ERP-Systems für den Finanzsektor | Keine Daten | — |
Cisco | Entwicklung von Sicherheitssystemen | Ja | — |
EPAM | Verschiedene Produkte oder Lösungen oder Teile davon | Ja | Aleksey Ionov: „…es ist nicht notwendig, ein ganzes großes Projekt agil zu machen – flexible Entwicklung kann in bestimmten Phasen oder Workflows eingesetzt werden…” |
IBM | Verschiedene Produkte oder Lösungen oder Teile davon | Ja | Rosalind Radcliffe: „Jetzt ist die Zeit, in der Entwicklungsteams, die Wasserfall verwenden, die geschäftlichen Anforderungen nicht mehr erfüllen können, sodass solche Projekte und Produkte mehr Wartungsarbeiten erhalten … Wasserfall wird schrittweise durch neue Technologien und neue Teams ersetzt, die mit der Einführung neuer Geschäftspraktiken beschäftigt sind.“ |
Microsoft IT | Verschiedene Produkte oder Lösungen oder Teile davon | Nein | „In den letzten Jahren… haben alle unsere Teams flexible Methoden erworben. Wir haben entdeckt, dass sie viele Probleme lösen, die aus dem traditionellen Wasserfallmodell resultieren, bei dem Projekte im Voraus geplant werden und Monate oder sogar Jahre dauern können. Innerhalb dieses Modells kann sich ein Produkt als veraltet erweisen, sobald es von uns veröffentlicht wird.“ |
AT Consulting | Verschiedene Produkte oder Lösungen oder Teile davon | Ja | Vasiliy Korablev: „Um Systeme „von Grund auf“ zu entwickeln, verwenden wir entweder flexible (Agile) oder kaskadierende (Wasserfall) Entwicklungsansätze oder beides kombiniert.“ |
Parallels | Verschiedene Produkte oder Lösungen oder Teile davon | Ja | Nikolay Dobrovolskiy: „In verschiedenen Projekten verwenden wir verschiedene Ansätze – in einigen Fällen Agile mit ein- oder zweiwöchigen Sprints, in anderen Fällen – quasi-Wasserfall mit Meilensteinen, die mehrere Monate dauern können. Im Laufe der Jahre haben wir die Idee geformt, dass je größer ein Projekt oder ein Team ist, das daran arbeitet, desto komplizierter und weniger effizient es ist, die Entwicklung in einen agilen Prozess zu quetschen.” |
SAP | Verschiedene Produkte oder Lösungen oder Teile davon | Ja | Evgeniy Arnautov: „In der Phase der Produktkreation sehen wir oft agile Varianten, und manchmal werden sie mit dem Wasserfallansatz kombiniert.” |
Toyota | Verschiedene Produkte oder Lösungen oder Teile davon | Nein | Satoshi Ishii: „…wir versuchen, zu lernen, wie wir TPS (Lean im Westen) in der Softwareentwicklung anwenden können.” |
Anwendungen und Programme zur Verwaltung der Entwicklung auf Basis des Kaskadenmodells
Um Wasserfall zu handhaben, können Sie eine Reihe von Produkten verwenden, die die Zeitverfolgung erleichtern und in der Lage sind, Gantt-Diagramme zu erstellen.
Worksection

Es handelt sich um einen attraktiven ukrainischen SaaS-Dienst, der eine praktische mobile Version anbietet.
Er eignet sich hervorragenden für eine sorgfältige Planungsarbeit aufgrund der folgenden verfügbaren Funktionen:
- Gantt-Diagramm mit Verbindungen zwischen Aufgaben und Fristen
- Verteilung der Aufgaben auf Führungskräfte mit unterschiedlichen Befugnissen
- System von diversifizierten Reporting-Formen
- Speicherung von Kommentaren, Emojis und aller Aktivitäten innerhalb des Projekts
- Begrenzter Zugang des Kunden/Klienten zur Transparenz des Entwicklungsprozesses
- Möglichkeit zur Angabe von Budgets und Ausgaben
- Checklisten für kleine Phasen von Aufgaben zur erleichterten Ausführung genau nach Anweisung.
Urteil
Der Wasserfall ist eine Methodik, die schon lange verwendet wird, und was auch immer die Kritiker sagen, sie ist in zahlreichen Fällen effizient
.
Gleichzeitig ist dieser Ansatz in reiner Form für viele Projekte, die eine schnelle Reaktion auf volatile Marktanforderungen erfordern, irrelevant. Basierend auf dem, was Vertreter von vielfältig diversifizierten Unternehmen sagen, können wir schließen, dass der Wasserfall einen Platz in zeitgemäßen Projekten verdient. Aber die Verwendung des Wasserfalls ist nur gerechtfertigt, wenn die Anforderungen konstant sind und bis zur Frist des Projekts definitiv gleich bleiben werden.