In einem praktischen Softwareentwicklungsprojekt ist das klassische Wasserfallmodell schwer zu verwenden. Das iterative Wasserfallmodell kann also als die notwendigen Änderungen am klassischen Wasserfallmodell betrachtet werden, um es in praktischen Softwareentwicklungsprojekten nutzbar zu machen. Es ist fast dasselbe wie das klassische Wasserfallmodell, außer dass einige Änderungen vorgenommen werden, um die Effizienz der Softwareentwicklung zu erhöhen.
Das iterative Wasserfallmodell bietet Rückkopplungspfade von jeder Phase zu den vorhergehenden Phasen, was den Hauptunterschied zum klassischen Wasserfallmodell darstellt.
Rückkopplungspfade, die durch das iterative Wasserfallmodell eingeführt wurden, sind in der folgenden Abbildung dargestellt.
Wenn Fehler in einer späteren Phase erkannt werden, ermöglichen diese Rückkopplungspfade die Korrektur von Fehlern, die von Programmierern während einer bestimmten Phase begangen wurden. Durch die Rückkopplungspfade kann die Phase, in der Fehler begangen werden, überarbeitet werden, und diese Änderungen spiegeln sich in den späteren Phasen wider. Aber es gibt keinen Feedback-Pfad zur Phase – Machbarkeitsstudie, denn sobald ein Projekt aufgenommen wurde, gibt es das Projekt nicht leicht auf.
Es ist gut, Fehler in derselben Phase zu erkennen, in der sie begangen werden. Es reduziert den Aufwand und die Zeit, die zur Korrektur der Fehler erforderlich sind.
Phaseneindämmung von Fehlern: Das Prinzip, Fehler so nah wie möglich an ihren Angriffspunkten zu erkennen, wird als Phaseneindämmung von Fehlern bezeichnet.
Vorteile des iterativen Wasserfallmodells
- Feedbackpfad: Im klassischen Wasserfallmodell gibt es keine Rückkopplungspfade, daher gibt es keinen Mechanismus zur Fehlerkorrektur. Im iterativen Wasserfallmodell ermöglicht der Rückkopplungspfad von einer Phase zur vorhergehenden Phase jedoch die Korrektur der festgeschriebenen Fehler, und diese Änderungen spiegeln sich in den späteren Phasen wider.
- Einfach: Das iterative Wasserfallmodell ist sehr einfach zu verstehen und zu verwenden. Deshalb ist es eines der am weitesten verbreiteten Softwareentwicklungsmodelle.
Nachteile des iterativen Wasserfallmodells
- Schwer zu integrierende Änderungswünsche: Der große Nachteil des iterativen Wasserfallmodells besteht darin, dass alle Anforderungen vor Beginn der Entwicklungsphase klar formuliert werden müssen. Der Kunde kann die Anforderungen nach einiger Zeit ändern, aber das iterative Wasserfallmodell lässt keinen Spielraum für Änderungsanforderungen, die nach Beginn der Entwicklungsphase gestellt werden.
- Inkrementelle Lieferung nicht unterstützt: Im iterativen Wasserfallmodell wird die vollständige Software vor der Auslieferung an den Kunden vollständig entwickelt und getestet. Es besteht kein Spielraum für Zwischenlieferungen. Kunden müssen also lange warten, bis sie die Software erhalten.
- Überlappung von Phasen nicht unterstützt: Das iterative Wasserfallmodell geht davon aus, dass eine Phase nach Abschluss der vorherigen Phase beginnen kann.
- Risikobehandlung nicht unterstützt: Projekte können unter verschiedenen Arten von Risiken leiden. Das iterative Wasserfallmodell hat jedoch keinen Mechanismus für die Risikobehandlung.
- Begrenzte Kundeninteraktionen: Die Kundeninteraktion erfolgt zu Beginn des Projekts zum Zeitpunkt der Anforderungserfassung und zum Zeitpunkt des Projektabschlusses zum Zeitpunkt der Softwarelieferung. Diese weniger Interaktionen mit den Kunden können zu vielen Problemen führen, da die schließlich entwickelte Software von den tatsächlichen Anforderungen der Kunden abweichen kann.