Die Wasserfallmethodik basiert auf einem sequentiellen, linearen Prozess und ist die beliebteste Variante des Systems Development Life Cycle (SDLC) für Software-Engineering und IT-Projekte. Es ist einfach und leicht zu bedienen. Manchmal wird ein Gantt-Diagramm verwendet, um das Start- und Enddatum der Aufgaben zu planen. In diesem Modell überschneiden sich die Phasen nicht, daher muss jede Phase abgeschlossen sein, bevor das Team zur nächsten Phase übergeht. Wenn das Team zu einer früheren Phase zurückkehren muss, sollte der gesamte Prozess von Anfang an beginnen. Um zu vermeiden, dass das Projekt oder das Projekt verworfen wird, sind die Anforderungen, Konzepte und Technologien sehr gut definiert und dokumentiert.
Diese Art von Softwareentwicklungsmodell wird in der Regel für kleine und unveränderliche Projekte mit klar definierten Anforderungen verwendet, und die Technologien sind bekannt und nicht dynamisch. Es ist nicht geeignet für Projekte mit unklaren Endzielen und Anforderungen oder langfristigen Projekten.
Die Ergebnisse jeder Phase werden überprüft, um festzustellen, ob das Projekt auf dem richtigen Weg ist und ob es fortgesetzt oder verworfen werden soll. Der QS-Test beginnt erst, wenn die Entwicklung abgeschlossen ist. Während des Entwicklungsprozesses ist weniger Kundeninteraktion erforderlich. Ein Demo-Produkt kann dem Kunden nur dann präsentiert werden, wenn das Produkt fertig ist.
Es gibt sieben Stufen im Wasserfall, die nacheinander durchgeführt werden müssen.
- Konzept und Anforderungen definieren: In der ersten Phase werden das Konzept und die Unternehmensziele in mehreren Gesprächen mit dem Kunden besprochen und definiert. Die Risikoanalyse erfolgt durch den Projektleiter. Wenn alles klar und dokumentiert ist, wird eine grobe Einschätzung und Bewertung des Projekts vorgenommen.
- Planung: Wenn das Konzept klar ist und die Anforderungen spezifiziert und dokumentiert sind, wird ein Team gebildet und eine Vorgehensweise geplant. Dazu gehört die Definition von Projektumfang, Terminen und Services.
- UI/UX Design: Dieser Schritt ist nicht in den Fällen enthalten, in denen der Kunde mit seinem eigenen Design kommt. Ansonsten erstellt das Designteam zunächst die Architektur der Projekte und geht dann zu Farben, Formen und Animationen über. Die Designspezifikationen werden dann in der Codierungsphase verwendet.
- Entwicklung: Hier beginnt die eigentliche Codierung. Vor der eigentlichen Programmierung wird das Design überprüft und bewertet, so dass das Team verstehen und entscheiden kann, wie es vorzugehen hat.
- QA-Test: Nach Abschluss der Entwicklungsphase muss das Produkt auf optische und funktionale Fehler getestet werden. Einige Projekte erfordern einen Test der Benutzerakzeptanz.
- Lieferung: Sobald die Prüfung abgeschlossen ist und alle Fehler behoben sind, wird das Endprodukt an den Kunden geliefert.
- Wartung: Nachdem das Endprodukt zur Verwendung freigegeben wurde, können die Kunden zusätzliche Probleme finden. Das Entwicklungsteam muss die Software auflösen oder modifizieren, um weiterhin effektiv zu sein.