Das Wasserfallmodell

Veröffentlicht auf 8. Oktober 2009

Das Wasserfallmodell wird oft verunglimpft als schlechtes und veraltetes Modell.
In der Praxis wird es jedoch immer noch gerne eingesetzt in der Softwarentwicklung.

Meines Erachtens zu Recht, denn auch wenn es bereits mehrere Jahrzenhnte besteht, so hat es sich doch auch weiterentwickelt und in anderer Form (Inkrementelle Modelle, Spiralmodell, V Modell) überlebt.

Das Wasserfallmodell besteht grob gesagt aus mehreren Phasen, die sequentiell hintereinander ablaufen und sich in der Regel nicht überschneiden. Jede Phase hat bestimmte erwartete Inputs von der vorherigen Phase und liefert der nächsten Phase wiederum durch eigene Outputs neue Inputs.
Abgewandelte Modelle lassen es zu, dass wenn Fehlentwicklungen entdeckt werden, dass man wieder in eine frühere Phase zurück wechselt und erneut die Phasen durchläuft. Genauso können sich inzwischen einzelne Phasen überschneiden und teilweise parallel verlaufen.

Grundsätzlich setzt sich das Wasserfallmodell aus folgenden Phasen zusammen:
* Anforderungsanalyse
* Design
* Implementierung
* Testen
* Installation
* Verwendung und Support

Seine Stärken:
* Einfach verständlich und anwendbar.
* Gibt klare Strukturen vor.
* Gibt feste Anforderungen vor.
* Gut kontrollierbar durch das Projektmanagement.
* Meilensteine sind leicht setzbar und nachvollziehbar.
* Der Fortschritt kann einfach z.B. mittels eines Gantt-Diagramms nachverfolgt werden.
* Die Inputs und Outputs sind klar definiert und müssen einen hohen Qualitätsstandard erfüllen.
* Bei optimaler Anwendung werden Fehler früh im Prozess gefunden und können noch vergleichsweise günstig behoben werden.
* Personal aus abgeschlossenen Phasen sind bereits früh wieder verfügbar und können an andere Projekte weitergegeben werden.

Schwächen:
* Anforderungen müssen bereits sehr früh vollständig bekannt sein.
* Werden erst spät Fehler entdeckt und zu früheren Phasen zurückgewechselt, erhöhen sich schnell die Kosten und der Zeitplan wird unhaltbar.
* Iterationen innerhalb der Phasen sind nicht angedacht.
* Statusangaben sind oft mißverstandlich durch unterschiedliche Komplexität und Anforderungen der Phasen.
  40% des Codes bereits erledigt bedeutet nicht unbedingt, dass dafür 40% der Zeit benötigt wird.
* Die Integration des Codes endet gegen Ende der Phase in einem "Big Bang". Probleme werden erst spät erkannt und müssen zeit- und kostenaufwändig ausgebessert werden.
* Das Ergebnis kann dem Kunden erst seht spät vorgeführt werden.
* Dokumentenlastiges Entwicklungsmodell.

Das Wasserfalmodell sollte als Anwendung finden, wenn die Anforderungen detailliert und derere Umsetzungsmöglichkeiten bekannt sind. Das Produkt sollte klar definiert und die verwendete Techologie bereits angewendet worden sein.

Beispiele sind Weiterentwicklungen von bereits etablierter Software, Neuentwicklungen auf der Basis von alter überholter Software oder Portierungen von Software auf andere Plattformen.

Geschrieben von Robert Bullinger

Veröffentlicht in #Prozessmodelle, #Softwareentwicklung

Kommentiere diesen Post