Definition „Waterfall Model“

Was ist das Wasserfallmodell?

| Autor / Redakteur: Ilan_r_r / Stephan Augsten

Der Wasserfall steht sinnbildlich für ein lineares Vorgehen bei Software-Projekten.
Der Wasserfall steht sinnbildlich für ein lineares Vorgehen bei Software-Projekten. (Bild: Jeremy Bishop - Unsplash.com)

Lange Zeit galt das Wasserfallmodell durch lineare, also aufeinanderfolgende Projektphasen als Idealtyp im Bereich der Anwendungsentwicklung. Nur zögerlich wurde der Ansatz gegen agile Methoden ausgetauscht, allerdings sind die Anforderungen für dieses Modell auch sehr hoch.

Das Wasserfallmodell und seine Grundlagen

Ursprünglich aus dem Produktionsprozess stammend, hat sich das Wasserfallmodell sehr schnell in der Softwareentwicklung etablieren können. Es ist ein lineares Modell für Entwicklungsprozesse, welches eine klare Kontrolle der jeweils erreichten Aktivitäten und Meilensteine erlaubt und somit die Kontrolle über das Projekt äußerst streng regelt.

Als lineares Modell wird es deshalb bezeichnet, weil die einzelnen Phasen innerhalb des Modells zeitlich aufeinander folgen. Somit ist grundsätzlich ein paralleles Arbeiten kaum möglich und in der Regel auch nicht notwendig.

Das gesamte Modell ist in verschiedene aufeinanderfolgende Phasen unterteilt. Jeder Phase wird zu Beginn ein Startpunkt, verschiedene zu erreichende Meilensteine und ein Endpunkt zugewiesen. Somit ist die Planung im Vorfeld bei einem neuen Projekt von entscheidender Bedeutung für die Sicherheit des gesamten Modells.

Die einzelnen Phasen innerhalb eines solchen Modells

Die meisten Wasserfallmodelle arbeiten mit fünf oder sechs Phasen. Diese werden bereits zu Beginn klar definiert, allerdings ist die erste Phase zugleich auch die Planungsphase und Grundlage für den weiteren Erfolg. Die fünf Phasen sind somit:

  • Die Anforderungsanalyse
  • Das Systemdesign
  • Die Programmierung und die Modultests
  • System- und Integrationstests
  • Auslieferung und Wartung

Wenn ein sechs-Phasen-Modell angestrebt wird, dann unterteilt sich dies in der Regel in folgende Phasen:

  • Planung
  • Definition
  • Entwurf
  • Implementierung
  • Tests
  • Auslieferung

In beiden Fällen bietet das Wasserfallmodell den Vorteil, dass die einzelnen Phasen klar voneinander abgegrenzt sind und es klare und vorher fest definierte Ziele gibt, die erreicht werden müssen. Durch eine stringente Unterteilung der einzelnen Phasen durch sogenannte Meilensteine lässt sich der Erfolg deutlich effizienter kontrollieren, was Planung und Kontrolle generell vereinfacht. Darüber hinaus bietet das Wasserfallmodell den Vorteil, dass bei stabilen Anforderungen Kosten und Umfang des Projekts bereits frühzeitig ersichtlich und klar definiert sind.

Probleme und Schwierigkeiten mit dem Wasserfallmodell

Beim Wasserfallmodell gibt es insbesondere im Bereich der Anwendungsentwicklung allerdings auch deutliche Nachteile und Probleme. Denn der lineare Ansatz und die klare Abgrenzung der einzelnen Phasen ist oftmals nicht möglich oder nur schwer durchsetzbar. Da Fehler oft erst in den Tests deutlich werden und anschließend behoben werden müssen, wiederholen sich viele Phasen zwangsläufig.

Je umfangreicher ein Projekt ist, umso stärker wächst die Gefahr, dass Rückschritte zu anderen Phasen unvermeidbar werden. Darüber hinaus können die so entwickelten Systeme nur langsam und spät eingeführt werden, was die Kosten deutlich in die Höhe treiben kann. Lange Produktzyklen sind mit einem solchen Modell kaum zu verhindern.

Veränderte Ansätze für mehr Flexibilität des Modells

Es gibt verschiedene Ansätze, die Flexibilität des Wasserfallmodells zu verbessern. Dabei spielen vor allem die möglichen Rückschritte und Iterationen eine wichtige Rolle. So gibt es ein sogenanntes kaskadierendes Wasserfallmodell, bei welchem Rückschritte zu vorherigen Phasen eingeplant werden und regelmäßig vorkommen.

Hier können einige Phasen parallel arbeiten und somit deutlich voneinander profitieren. Allerdings sinkt somit die Planbarkeit und Kontrolle innerhalb des Modells deutlich. Deshalb greifen viele Unternehmen im Bereich der Anwendungsentwicklung lieber auf agile Methoden zurück und verwenden das Wasserfallmodell nur noch selten.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Agile Entwicklung um jeden Preis?

Alternativen zu Scrum und Co.

Agile Entwicklung um jeden Preis?

Die direkte Zusammenarbeit von Softwareentwicklern und Anwendern ist das, was moderne IT-Projekte auszeichnet. Doch geht es auch ohne Sprints und Projekt Owner? lesen

7 Lektionen für IoT-Softwareentwicklung

Unterschiede zu klassischem Development

7 Lektionen für IoT-Softwareentwicklung

Das Internet der Dinge, kurz IoT, wächst und gedeiht. Aus diesem Trend hin zu immer mehr vernetzten Produkten ergeben sich einige Änderungen für die Softwareentwicklung. Dieser Beitrag beleuchtet die wichtigsten Unterschiede und sieben Lehren, die sich daraus ziehen lassen. lesen

SecDevOps – Sichere, agile Softwareentwicklung

Sicherheit sollte nicht an letzter Stelle stehen

SecDevOps – Sichere, agile Softwareentwicklung

Gegenüber linearen Entwicklungsmethoden wie dem Wasserfallmodell bietet agile Softwareentwicklung einige Vorteile. Bei der Sicherheit gibt es dabei aber einige Knackpunkte, die Janosch Maier von Crashtest Security genauer dargelegt hat. lesen

DevOps und „Shift left“ in drei Schritten

Agile Entwicklung erfordert Continuous Testing

DevOps und „Shift left“ in drei Schritten

Durch „Shift Left“ rückt das Testen auf dem Zeitstrahl des Software Development Lifecycle weiter nach links. Warum der Begriff bei DevOps und agiler Entwicklung aber etwas irreführend ist und was Unternehmen tun müssen, erläutert Malcom Isaacs von Micro Focus. lesen

Agile Entwicklung hat Seltenheitswert

Studie zur Digitalisierung in Deutschland

Agile Entwicklung hat Seltenheitswert

Im Projektmanagement deutscher Unternehmen ist agile Entwicklung noch nicht in der Breite angekommen. Dies hat der Bitkom im Zuge einer Studie zur Digitalisierung im Auftrag von Tata Consultancy Services ermittelt. lesen

SSDL-Implementierung, Testing und Nachsorge

Secure Software Development Lifecycle, Teil 3

SSDL-Implementierung, Testing und Nachsorge

Um einen sichere Softwareentwicklungs-Lebenszyklus richtig umzusetzen, bedarf es einiger Planung. Doch damit mit der Implementierung allein ist es noch nicht getan, im Nachgang sind noch weitere Schritte erforderlich. lesen

„Agile Transformation ist eine nie endende Erkundungsreise“

Interview zu Agilität mit Johan Karlsson, Perforce Software

„Agile Transformation ist eine nie endende Erkundungsreise“

Kürzere Entwicklungszyklen, eine schnelle Bereitstellung neuer Software-Funktionen, mehr Automatisierung: die Software-Entwicklung kann offenbar gar nicht agil genug sein. Dev-Insider hat sich mit Johan Karlsson von Perforce Software über die Vorteile und Probleme agiler Prozesse ausgetauscht. lesen

Was ist inkrementelle Entwicklung?

Definition „Incremental Build Model“

Was ist inkrementelle Entwicklung?

Die inkrementelle Entwicklung ist ein strategisches Vorgehensmodell innerhalb der agilen Software-Entwicklung. Dabei wird zunächst das Gesamtsystem geplant, das einem modularen Aufbau folgt. Die Realisierung des Projektes erfolgt anschließend in Einzelschritten. lesen

Was ist das Spiralmodell?

Definition „Spiral Model“

Was ist das Spiralmodell?

Das Spiralmodell kommt als risikoorientiertes Prozessmodell im Rahmen der Software-Entwicklung zum Einsatz. Es basiert auf dem Wasserfallmodell und kann andere Entwicklungsmodelle als Spezialfall enthalten. Der Autor Barry Boehm bezeichnete es daher als Prozessmodellgenerator. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45109169 / Definitionen)