„Wasserfallmodell“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
Archivbotlinks geprüft |
|||
(280 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden) | |||
Zeile 1: | Zeile 1: | ||
{{Dieser Artikel|beschreibt eine Variante von Vorgehensmodellen im Sinn des Projektmanagements. Für den Bereich strategisches Marketing siehe [[Timing-Strategie (länderübergreifend)]].}} |
|||
Das '''Wasserfallmodell''' bezeichnet ein [[Vorgehensmodell]] in der [[Softwareentwicklung]], bei dem der [[Softwareprozess|Softwareentwicklungsprozesses]] in Phasen organisiert wird. Dabei gehen die Phasenergebnisse wie bei einem [[Wasserfall]] immer als bindende Vorgaben für die nächst tiefere Phase ein. |
|||
[[Datei:Waterfall model-de.svg|mini|Stufen des Wasserfallmodells (Beispiel)]] |
|||
Ein '''Wasserfallmodell''' ist ein lineares (nicht [[Iteration#Softwaretechnik|iteratives]]) [[Vorgehensmodell]], das insbesondere für die [[Softwaretechnik|Softwareentwicklung]] verwendet wird und das in aufeinanderfolgenden [[Projektphase]]n organisiert ist. Wie bei einem Wasserfall mit mehreren Kaskaden „fallen“ die Ergebnisse einer Stufe nach unten in die nächste und sind dort verbindliche Vorgaben. |
|||
In einem Wasserfallmodell hat jede Phase vordefinierte Start- und Endpunkte mit eindeutig definierten Ergebnissen. Meist beschreibt das Modell auch einzelne Aktivitäten, die zur Herstellung der Ergebnisse durchzuführen sind. Zu bestimmten [[Meilenstein (Projektmanagement)|Meilensteinen]] und am jeweiligen Phasenende werden die vorgesehenen [[Softwaredokumentation|Entwicklungsdokumente]] im Rahmen des [[Projektmanagement]]s verabschiedet. |
|||
Zuerst vorgeschlagen wurde es in einem Paper aus dem Jahr [[1970]] von [[Winston Royce]] mit dem Titel ''Managing the Development of Large Software Systems: Concepts and Techniques''. Im Wasserfallmodell hat jede Phase wohldefinierte Start- und Endpunkte mit eindeutig definierten Ergebnissen. In [[Meilenstein]]sitzungen am jeweiligen Phasenende werden die Ergebnisdokumente verabschiedet. Zu den wichtigsten Dokumenten zählen dabei das [[Lastenheft]] sowie das [[Pflichtenheft]]. In der betrieblichen Praxis gibt es viele Varianten des reinen Modells. Es ist aber das traditionell am weitesten verbreiteste Vorgehensmodell. |
|||
Der Name |
Der Name ''Wasserfall'' kommt von der häufig gewählten grafischen Darstellung der als [[Kaskade (Wasserfall)|Kaskade]] angeordneten Projektphasen. In der betrieblichen Praxis ist es traditionell ein weitverbreitetes Vorgehensmodell, von dem es viele Varianten gibt. |
||
Erweiterungen des einfachen Modells (Wasserfallmodell mit Rücksprung) erlauben ein schrittweises |
Erweiterungen des einfachen Modells (Wasserfallmodell mit Rücksprung) führen iterative Aspekte ein und erlauben ein schrittweises Aufwärtslaufen der Kaskade. Ein Abweichen vom strengen Vorgänger-Nachfolger-Prinzip wird auch dann erforderlich, wenn in der aktuellen Phase Handlungsbedarf erkennbar wird, der grundsätzlich einer früheren Phase zugeordnet ist, z. B. Anpassungen im Systementwurf oder im Benutzerhandbuch aufgrund von Erkenntnissen beim Testen. |
||
''Wasserfallmodelle'' werden allgemein dort vorteilhaft angewendet, wo sich Anforderungen, Leistungen und Abläufe in der Planungsphase relativ präzise beschreiben lassen. |
|||
<br><br> |
|||
== Geschichte == |
|||
== Die Phasen des Wasserfallmodells == |
|||
Das Wasserfallmodell stammt ursprünglich aus dem [[Bauausführung|Bau]]- und [[Produktionsprozess]], hochstrukturierte Prozesse für Aufgaben, in denen späte Änderungen prohibitiv teuer oder sogar unmöglich sind. Nachdem zum Zeitpunkt der ersten Beschreibung des Wasserfallmodells kein formaler Softwareentwicklungsprozess existierte, wurden die bei Bau- und Produktion verwendeten Prozesse einfach für Softwareentwicklung adaptiert.<ref name="Benington">{{Literatur |Autor=Herbert D. Benington |Titel=Production of Large Computer Programs |Hrsg=IEEE Educational Activities Department |Sammelwerk=IEEE Annals of the History of Computing |Band=5 |Nummer=4 |Datum=1983-10-01 |Sprache=en |DOI=10.1109/MAHC.1983.10102 |Seiten=350–361 |Online=http://sunset.usc.edu/csse/TECHRPTS/1983/usccse83-501/usccse83-501.pdf |Format=PDF |KBytes= |Abruf=2013-06-13}} {{Webarchiv |url=http://sunset.usc.edu/csse/TECHRPTS/1983/usccse83-501/usccse83-501.pdf |text=Production of Large Computer Programs |wayback=20110718084251}}</ref> |
|||
Die erste bekannte Beschreibung des Wasserfallmodells in der Softwareentwicklung wurde von Herbert D. Benington beim ''Symposium on advanced programming methods for digital computers'' am 29. Juni 1956 im Rahmen eines Vortrages über die Entwicklung einer Software für [[Semi-Automatic Ground Environment|SAGE]] gegeben.<ref>{{Literatur |Hrsg=United States Navy Mathematical Computing Advisory Panel |Titel=Symposium on advanced programming methods for digital computers |Datum=1956-06-26 |Sprache=en |OCLC=10794738}}</ref> 1983 wurde der Vortrag neu aufgelegt, mit einem Vorwort von Benington, in dem er beschreibt, dass der Prozess nicht strikt von oben nach unten durchgespielt wurde, sondern auf einem Prototyp basierte.<ref name="Benington"/> |
|||
# [[Anforderungsanalyse]] und -spezifikation (engl. ''Requirement analysis and specification'') |
|||
# [[Systemdesign]] und -spezifikation (engl. ''System design and specification'') |
|||
# [[Programmierung]] und [[Unit-Test|Modultests]] (en. ''Coding and module testing'') |
|||
# [[Integration]] und [[Systemtest]] (engl. ''Integration and system testing'') |
|||
# Auslieferung, Einsatz und [[Softwarewartung|Wartung]] (engl. ''Delivery and maintenance'') |
|||
Die erste formale Beschreibung des Wasserfallmodells wird Winston W. Royce zugeschrieben, obwohl dieser in seinem 1970 erschienenen Artikel den Namen ''Wasserfall'' nicht verwendete.<ref>{{Literatur |Autor=Winston Royce |Hrsg=Proceedings, IEEE WESCON |Titel=Managing the Development of Large Software Systems |Auflage=26. |Verlag=Institute of Electrical and Electronics Engineers |Datum=1970-08 |Seiten=328–338 |Sprache=en |Online=http://leadinganswers.typepad.com/leading_answers/files/original_waterfall_paper_winston_royce.pdf |Format=PDF |KBytes= |Abruf=2013-06-13}}</ref> Er beschrieb das Modell als verbesserungswürdig und schlug folgende Änderungen vor: |
|||
Eine andere Variante macht daraus sechs Schritte: |
|||
* Einfügen einer Designphase, die der Analysephase vorgelagert ist, in der eine frühe Simulation ([[Prototyping (Softwareentwicklung)|Prototyp]]) des schlussendlichen Produktes ebenfalls mittels desselben Modells umgesetzt und dokumentiert wird. |
|||
* Planung, Messung und Überwachung des Tests, um sicherzustellen, dass der Test seinen Aufgaben nachkommt. |
|||
* Formale und laufende Einbeziehung des Kunden in Form von Reviews. |
|||
== Phasen == |
|||
# Planung (mit Erstellung des [[Lastenheft]]s, Projektkalkulation und [[Projektplan]]) (engl. ''[[Systems Engineering]]'') |
|||
# [[Anforderungsanalyse (Informatik)|Anforderungsanalyse]] und -spezifikation resultiert im [[Lastenheft]] |
|||
# Definition (mit Erstellung des [[Pflichtenheft]]s, Produktmodell, [[Grafische Benutzeroberfläche|GUI]]-Modell und evtl. schon [[Benutzerhandbuch]]) (engl. ''Analysis'') |
|||
# Systemdesign und -spezifikation resultiert in der [[Softwarearchitektur]] |
|||
# Entwurf ([[Unified_Modeling_Language|UML]], [[Struktogramm]]e) (englisch: Design) |
|||
# [[Programmierung]] und [[Modultest]]s resultiert in der eigentlichen Software |
|||
# [[Implementierung]] (engl. ''Coding'') |
|||
# [[Integrationstest|Integrations-]] und [[Systemtest]] |
|||
# [[Test (Informatik)|Testen]] (engl. ''Testing'') |
|||
# Einsatz und |
# Auslieferung, Einsatz und [[Softwarewartung]] |
||
Eine andere Variante macht daraus sechs Schritte: |
|||
"Definition und Entwurf" entsprechen dabei ungefähr dem untergliederten Punkt "Systemdesign und -spezifikation" in der ersten Variante, während die zweite Variante die zwei möglichen Ebenen des ''[[Test (Informatik)|Software Testing]]'' (auf Modul- und Gesamtsystemebene) zusammenwirft. |
|||
# Planung (mit Erstellung des Lastenhefts, Projektkalkulation und [[Projektplan]]) (Systems Engineering) |
|||
== Nachteile des Wasserfallmodells == |
|||
# Definition (mit Erstellung des [[Pflichtenheft]]s, [[Produktmodell]], [[Grafische Benutzeroberfläche|GUI]]-Modell und evtl. schon [[Benutzerhandbuch]]) |
|||
# Entwurf ([[Unified Modeling Language|UML]], [[Struktogramm]]e) (Design) |
|||
# [[Implementierung]] (Programmierung) |
|||
# [[Softwaretest|Testen (Testprotokoll)]] |
|||
# Einsatz und Wartung ([[Maintainer|Maintenance]]) |
|||
„Definition und Entwurf“ entsprechen dabei ungefähr dem untergliederten Punkt „Systemdesign und -spezifikation“ in der ersten Variante, während die zweite Variante die zwei möglichen Ebenen des ''Softwaretestens'' (auf Modul- und Gesamtsystemebene) zusammenfasst. |
|||
# Sequenz |
|||
# Phasentrennung |
|||
# späte Verfügbarkeit von Produkten |
|||
== Eigenschaften == |
|||
Da es schwierig ist, bereits zu Projektbeginn alles endgültig und im Detail festzulegen, besteht zudem das Risiko, dass die letztendlich fertiggestellte Software nicht den tatsächlichen Anforderungen entspricht. Um dem zu begegnen, wird oftmals ein unverhältnismäßig hoher Aufwand in der Analyse- und Konzeptionsphase betrieben. Zudem erlaubt das Wasserfallmodell nicht bzw. nur sehr eingeschränkt, im Laufe des Projekts Änderungen aufzunehmen. Die fertiggestellte Software bildet folglich nicht den aktuellen, sondern den Anforderungsstand zu Projektbeginn wieder. Da größere Softwareprojekte meist auch eine sehr lange Laufzeit haben, kann es vorkommen, dass eine neue Software bereits zum Zeitpunkt ihrer Einführung inhaltlich veraltet ist. |
|||
# Aktivitäten sind in der vorgegebenen Reihenfolge und in der vollen Breite vollständig durchzuführen. |
|||
# Am Ende jeder Aktivität steht ein fertiggestelltes Dokument, d. h. das Wasserfallmodell ist ein „dokumentgetriebenes“ Modell. |
|||
# Der Entwicklungsablauf ist sequenziell; d. h. jede Aktivität muss beendet sein, bevor die nächste anfängt. |
|||
# Es orientiert sich am sogenannten [[Top-down und Bottom-up|Top-down]]-Verfahren. |
|||
# Es ist einfach und verständlich. |
|||
# Eine Benutzerbeteiligung ist in der Anfangsphase vorgesehen, anschließend erfolgen der Entwurf und die Implementierung ohne Beteiligung des Benutzers bzw. Auftraggebers. Weitere Änderungen stellen danach Neuaufträge dar. |
|||
== |
== Vorteile == |
||
* Klare Abgrenzung der Phasen |
|||
* Einfache Möglichkeiten der Planung und Kontrolle |
|||
* Klare Abschätzung von Kosten und Umfang bei stabilen Anforderungen |
|||
== Probleme und Nachteile == |
|||
Wegen der z.T. gravierenden Nachteile des Wasserfallmodells mit teilweise erheblichen wirtschaftlichen Konsequenzen hat die IT-Industrie eine Vielfalt alternativer oder ergänzender Vorgehensweisen, [[Softwaretechnologie]]n, Vorschläge und Hilfsmittel entwickelt. Beispiele hierfür sind: |
|||
* ''Abgrenzungsproblem:'' Klar voneinander abgegrenzte Phasen sind häufig unrealistisch – der Übergang zwischen ihnen ist fließend: Teile eines Systems können sich noch in der Planung befinden, während andere schon in der Ausführung oder im Gebrauch sind. |
|||
* ''Abfolgeproblem:'' Die einzelnen Phasen laufen in der Theorie nacheinander ab, in der Praxis sind jedoch Rückschritte oft unvermeidlich. |
|||
* Unflexibel gegenüber Änderungen und im Vorgehen (Phasen müssen sequenziell abgearbeitet werden) |
|||
* Frühes Festschreiben der Anforderungen ist oft problematisch, da es eventuell zu teuren Änderungen führt (mehrmals wiederholtes Durchlaufen des Prozesses bei Änderungen) |
|||
* Einführung des Systems sehr spät nach Beginn des Entwicklungszyklus, deshalb ein später ''[[Return on Investment]]'' |
|||
* Durch die Einführung des vollständigen Systems zu einem bestimmten Zeitpunkt ''([[Standardsoftware#Einführung|Big Bang]])'' werden Fehler unter Umständen erst spät erkannt und müssen mit erheblichem Aufwand entfernt werden. |
|||
Da es schwierig ist, bereits zu Projektbeginn alles endgültig und im Detail festzulegen, besteht das Risiko, dass das letztendlich fertiggestellte Ergebnis (z. B. Software) nicht den tatsächlichen Anforderungen entspricht. Um dem zu begegnen, wird oftmals ein unverhältnismäßig hoher Aufwand in der Analyse- und Konzeptionsphase betrieben. Zudem erlaubt das Wasserfallmodell nicht bzw. nur sehr eingeschränkt, im Laufe des Projekts Änderungen aufzunehmen. Das fertiggestellte Ergebnis bildet folglich nicht den aktuellen, sondern den Anforderungsstand zu Projektbeginn ab. Da größere Softwareprojekte meist auch eine sehr lange Laufzeit haben, kann es vorkommen, dass die neue Software bereits zum Zeitpunkt ihrer Einführung inhaltlich veraltet ist. |
|||
== Andere Vorgehensmodelle == |
|||
Wegen der teilweise gravierenden Nachteile des Wasserfallmodells mit teilweise erheblichen wirtschaftlichen Konsequenzen hat die IT-Industrie eine Vielfalt alternativer oder ergänzender Vorgehensweisen, [[Softwaretechnologie]]n, Vorschläge und Hilfsmittel entwickelt. |
|||
Beispiele hierfür sind: |
|||
* [[Spiralmodell]] (Weiterentwicklung) |
|||
* [[Rational Unified Process]] |
|||
* [[Extreme Programming]] |
|||
* [[Agile Softwareentwicklung]] |
* [[Agile Softwareentwicklung]] |
||
* |
* Iteratives Prototyping und Evolutionäres [[Prototyping (Softwareentwicklung)|Prototyping]] |
||
* Weitgehende Verwendung von konfigurierbarer [[Standardsoftware]], z.B. für das [[Workflow]] |
* Weitgehende Verwendung von konfigurierbarer [[Standardsoftware]], z. B. für das [[Workflow-Management]] oder die Benutzerverwaltung |
||
* Auf die Entwicklungsphase ausgeweitetes [[Veränderungsmanagement]] |
|||
* [[Universal Application]] |
|||
* Auslagerung weniger priorisierter Teilaufgaben an [[Power-User]], siehe auch unter [[End-user Computing]] |
|||
* Auf die Entwicklungsphase ausgeweitetes [[Change Management]] |
|||
* Auslagerung weniger priorisierter Teilaufgaben an [[Power User]], siehe auch unter [[End-user Computing]] |
|||
* Ausgeprägte Modularisierung, bis hin zum Aufsplitten großer in kleinere, besser überschaubare Projekte mit kurzer Laufzeit |
* Ausgeprägte Modularisierung, bis hin zum Aufsplitten großer in kleinere, besser überschaubare Projekte mit kurzer Laufzeit |
||
* [[V-Modell]] |
|||
== Siehe auch == |
== Siehe auch == |
||
* [[Vorgehensmodell zur Softwareentwicklung]] |
|||
* [[Liste von Softwareentwicklungsprozessen]] |
|||
== Literatur == |
|||
* [[Spiralmodell]] |
|||
* {{Literatur |
|||
* [[V-Modell]] |
|||
|Autor=Karl Pfetzing, Adolf Rohde |
|||
* [[Generik]] |
|||
|Titel=Ganzheitliches Projektmanagement |
|||
|Auflage=5 |
|||
|Ort=Gießen |
|||
|Datum=2014 |
|||
|ISBN=978-3-921313-90-9}} |
|||
== Weblinks == |
|||
* [http://cartoon.iguw.tuwien.ac.at/fit/fit01/wasserfall/welcome.html Beschreibung Wasserfallmodell] Institut für Gestaltungs- und Wirkungsforschung |
|||
* Winston W. Royce: [http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf ''Managing the development of large Software Systems''.] (PDF; 436 kB) |
|||
== Einzelnachweise == |
|||
<references /> |
|||
[[Kategorie:Vorgehensmodell (Software)]] |
[[Kategorie:Vorgehensmodell (Software)]] |
||
[[Kategorie:Projektmanagement]] |
[[Kategorie:Projektmanagement]] |
||
[[en:Waterfall model]] |
|||
[[he:מודל מפל-המים]] |
|||
[[it:Modello a cascata]] |
|||
[[nl:Watervalmethode]] |
|||
[[zh:瀑布模型]] |
|||
[[liebe vor allem]] |
Aktuelle Version vom 21. März 2025, 11:44 Uhr

Ein Wasserfallmodell ist ein lineares (nicht iteratives) Vorgehensmodell, das insbesondere für die Softwareentwicklung verwendet wird und das in aufeinanderfolgenden Projektphasen organisiert ist. Wie bei einem Wasserfall mit mehreren Kaskaden „fallen“ die Ergebnisse einer Stufe nach unten in die nächste und sind dort verbindliche Vorgaben.
In einem Wasserfallmodell hat jede Phase vordefinierte Start- und Endpunkte mit eindeutig definierten Ergebnissen. Meist beschreibt das Modell auch einzelne Aktivitäten, die zur Herstellung der Ergebnisse durchzuführen sind. Zu bestimmten Meilensteinen und am jeweiligen Phasenende werden die vorgesehenen Entwicklungsdokumente im Rahmen des Projektmanagements verabschiedet.
Der Name Wasserfall kommt von der häufig gewählten grafischen Darstellung der als Kaskade angeordneten Projektphasen. In der betrieblichen Praxis ist es traditionell ein weitverbreitetes Vorgehensmodell, von dem es viele Varianten gibt.
Erweiterungen des einfachen Modells (Wasserfallmodell mit Rücksprung) führen iterative Aspekte ein und erlauben ein schrittweises Aufwärtslaufen der Kaskade. Ein Abweichen vom strengen Vorgänger-Nachfolger-Prinzip wird auch dann erforderlich, wenn in der aktuellen Phase Handlungsbedarf erkennbar wird, der grundsätzlich einer früheren Phase zugeordnet ist, z. B. Anpassungen im Systementwurf oder im Benutzerhandbuch aufgrund von Erkenntnissen beim Testen.
Wasserfallmodelle werden allgemein dort vorteilhaft angewendet, wo sich Anforderungen, Leistungen und Abläufe in der Planungsphase relativ präzise beschreiben lassen.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Das Wasserfallmodell stammt ursprünglich aus dem Bau- und Produktionsprozess, hochstrukturierte Prozesse für Aufgaben, in denen späte Änderungen prohibitiv teuer oder sogar unmöglich sind. Nachdem zum Zeitpunkt der ersten Beschreibung des Wasserfallmodells kein formaler Softwareentwicklungsprozess existierte, wurden die bei Bau- und Produktion verwendeten Prozesse einfach für Softwareentwicklung adaptiert.[1]
Die erste bekannte Beschreibung des Wasserfallmodells in der Softwareentwicklung wurde von Herbert D. Benington beim Symposium on advanced programming methods for digital computers am 29. Juni 1956 im Rahmen eines Vortrages über die Entwicklung einer Software für SAGE gegeben.[2] 1983 wurde der Vortrag neu aufgelegt, mit einem Vorwort von Benington, in dem er beschreibt, dass der Prozess nicht strikt von oben nach unten durchgespielt wurde, sondern auf einem Prototyp basierte.[1]
Die erste formale Beschreibung des Wasserfallmodells wird Winston W. Royce zugeschrieben, obwohl dieser in seinem 1970 erschienenen Artikel den Namen Wasserfall nicht verwendete.[3] Er beschrieb das Modell als verbesserungswürdig und schlug folgende Änderungen vor:
- Einfügen einer Designphase, die der Analysephase vorgelagert ist, in der eine frühe Simulation (Prototyp) des schlussendlichen Produktes ebenfalls mittels desselben Modells umgesetzt und dokumentiert wird.
- Planung, Messung und Überwachung des Tests, um sicherzustellen, dass der Test seinen Aufgaben nachkommt.
- Formale und laufende Einbeziehung des Kunden in Form von Reviews.
Phasen
[Bearbeiten | Quelltext bearbeiten]- Anforderungsanalyse und -spezifikation resultiert im Lastenheft
- Systemdesign und -spezifikation resultiert in der Softwarearchitektur
- Programmierung und Modultests resultiert in der eigentlichen Software
- Integrations- und Systemtest
- Auslieferung, Einsatz und Softwarewartung
Eine andere Variante macht daraus sechs Schritte:
- Planung (mit Erstellung des Lastenhefts, Projektkalkulation und Projektplan) (Systems Engineering)
- Definition (mit Erstellung des Pflichtenhefts, Produktmodell, GUI-Modell und evtl. schon Benutzerhandbuch)
- Entwurf (UML, Struktogramme) (Design)
- Implementierung (Programmierung)
- Testen (Testprotokoll)
- Einsatz und Wartung (Maintenance)
„Definition und Entwurf“ entsprechen dabei ungefähr dem untergliederten Punkt „Systemdesign und -spezifikation“ in der ersten Variante, während die zweite Variante die zwei möglichen Ebenen des Softwaretestens (auf Modul- und Gesamtsystemebene) zusammenfasst.
Eigenschaften
[Bearbeiten | Quelltext bearbeiten]- Aktivitäten sind in der vorgegebenen Reihenfolge und in der vollen Breite vollständig durchzuführen.
- Am Ende jeder Aktivität steht ein fertiggestelltes Dokument, d. h. das Wasserfallmodell ist ein „dokumentgetriebenes“ Modell.
- Der Entwicklungsablauf ist sequenziell; d. h. jede Aktivität muss beendet sein, bevor die nächste anfängt.
- Es orientiert sich am sogenannten Top-down-Verfahren.
- Es ist einfach und verständlich.
- Eine Benutzerbeteiligung ist in der Anfangsphase vorgesehen, anschließend erfolgen der Entwurf und die Implementierung ohne Beteiligung des Benutzers bzw. Auftraggebers. Weitere Änderungen stellen danach Neuaufträge dar.
Vorteile
[Bearbeiten | Quelltext bearbeiten]- Klare Abgrenzung der Phasen
- Einfache Möglichkeiten der Planung und Kontrolle
- Klare Abschätzung von Kosten und Umfang bei stabilen Anforderungen
Probleme und Nachteile
[Bearbeiten | Quelltext bearbeiten]- Abgrenzungsproblem: Klar voneinander abgegrenzte Phasen sind häufig unrealistisch – der Übergang zwischen ihnen ist fließend: Teile eines Systems können sich noch in der Planung befinden, während andere schon in der Ausführung oder im Gebrauch sind.
- Abfolgeproblem: Die einzelnen Phasen laufen in der Theorie nacheinander ab, in der Praxis sind jedoch Rückschritte oft unvermeidlich.
- Unflexibel gegenüber Änderungen und im Vorgehen (Phasen müssen sequenziell abgearbeitet werden)
- Frühes Festschreiben der Anforderungen ist oft problematisch, da es eventuell zu teuren Änderungen führt (mehrmals wiederholtes Durchlaufen des Prozesses bei Änderungen)
- Einführung des Systems sehr spät nach Beginn des Entwicklungszyklus, deshalb ein später Return on Investment
- Durch die Einführung des vollständigen Systems zu einem bestimmten Zeitpunkt (Big Bang) werden Fehler unter Umständen erst spät erkannt und müssen mit erheblichem Aufwand entfernt werden.
Da es schwierig ist, bereits zu Projektbeginn alles endgültig und im Detail festzulegen, besteht das Risiko, dass das letztendlich fertiggestellte Ergebnis (z. B. Software) nicht den tatsächlichen Anforderungen entspricht. Um dem zu begegnen, wird oftmals ein unverhältnismäßig hoher Aufwand in der Analyse- und Konzeptionsphase betrieben. Zudem erlaubt das Wasserfallmodell nicht bzw. nur sehr eingeschränkt, im Laufe des Projekts Änderungen aufzunehmen. Das fertiggestellte Ergebnis bildet folglich nicht den aktuellen, sondern den Anforderungsstand zu Projektbeginn ab. Da größere Softwareprojekte meist auch eine sehr lange Laufzeit haben, kann es vorkommen, dass die neue Software bereits zum Zeitpunkt ihrer Einführung inhaltlich veraltet ist.
Andere Vorgehensmodelle
[Bearbeiten | Quelltext bearbeiten]Wegen der teilweise gravierenden Nachteile des Wasserfallmodells mit teilweise erheblichen wirtschaftlichen Konsequenzen hat die IT-Industrie eine Vielfalt alternativer oder ergänzender Vorgehensweisen, Softwaretechnologien, Vorschläge und Hilfsmittel entwickelt. Beispiele hierfür sind:
- Spiralmodell (Weiterentwicklung)
- Rational Unified Process
- Extreme Programming
- Agile Softwareentwicklung
- Iteratives Prototyping und Evolutionäres Prototyping
- Weitgehende Verwendung von konfigurierbarer Standardsoftware, z. B. für das Workflow-Management oder die Benutzerverwaltung
- Auf die Entwicklungsphase ausgeweitetes Veränderungsmanagement
- Auslagerung weniger priorisierter Teilaufgaben an Power-User, siehe auch unter End-user Computing
- Ausgeprägte Modularisierung, bis hin zum Aufsplitten großer in kleinere, besser überschaubare Projekte mit kurzer Laufzeit
- V-Modell
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Literatur
[Bearbeiten | Quelltext bearbeiten]- Karl Pfetzing, Adolf Rohde: Ganzheitliches Projektmanagement. 5. Auflage. Gießen 2014, ISBN 978-3-921313-90-9.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Beschreibung Wasserfallmodell Institut für Gestaltungs- und Wirkungsforschung
- Winston W. Royce: Managing the development of large Software Systems. (PDF; 436 kB)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ a b Herbert D. Benington: Production of Large Computer Programs. In: IEEE Educational Activities Department (Hrsg.): IEEE Annals of the History of Computing. Band 5, Nr. 4, 1. Oktober 1983, S. 350–361, doi:10.1109/MAHC.1983.10102 (englisch, usc.edu [PDF; abgerufen am 13. Juni 2013]). Production of Large Computer Programs ( vom 18. Juli 2011 im Internet Archive)
- ↑ United States Navy Mathematical Computing Advisory Panel (Hrsg.): Symposium on advanced programming methods for digital computers. 26. Juni 1956, OCLC 10794738 (englisch).
- ↑ Winston Royce: Managing the Development of Large Software Systems. Hrsg.: Proceedings, IEEE WESCON. 26. Auflage. Institute of Electrical and Electronics Engineers, August 1970, S. 328–338 (englisch, typepad.com [PDF; abgerufen am 13. Juni 2013]).