Wann verwende ich Wasserfall, wann verwende ich Scrum?

Während meiner Vorlesungen wurde mir immer beigebracht, Projekte mit Wasserfall zu verwalten, aber als ich mit dem College fertig war, war Wasserfall nicht die einzige Methode, die für das Projektmanagement verwendet werden kann, und ich interessiere mich sehr für Scrum.

Meine Frage: Wann (für welche Art von Projekten) ist es besser, Wasserfall zu verwenden, und wann ist es besser, Scrum zu verwenden?

Schauen Sie sich „ The New Methodology “ von Martin Fowler an.
Der "reine" Wasserfall eignet sich für wiederholbare, erkennbare Prozesse wie die Fertigung. Verwenden Sie jede Übung mit effizienten Feedbackschleifen, wenn Sie nicht alles im Voraus messen können.
@ToddA.Jacobs, während Wasserfall in der Fertigung arbeiten kann. Die Fertigung wird Lean (agil). Ein besseres Beispiel ist die Reparatur von Autobahnen/Autobahnen. Wo sie nur eine Fahrspur haben und die Lastwagen/LKWs pünktlich und in Ordnung bringen müssen. Es wird viel Planung und wenig Gelegenheit zur Anpassung geben.

Antworten (14)

Zunächst einmal ist es kein Entweder-Oder-Problem. Sie finden sowohl reine Implementierungen beider Ansätze (ein reiner Wasserfall ist heutzutage eher selten) als auch eine Mischung aus beiden Ansätzen oder einiges davon, einiges davon und viel Chaos.

Dann wäre es besser, schwergewichtige formale Ansätze versus leichtgewichtige agile Ansätze zu diskutieren, als Wasserfall versus Scrum, da es sich nur um spezifische Fälle handelt.

Möglicherweise möchten Sie formale Ansätze verwenden, wenn:

  • Sie arbeiten für einen großen Kunden, der Lieferanten einen sehr formellen Ansatz auferlegt.

  • Sie arbeiten mit Verträgen mit festem Umfang und Festpreis und der Kunde erwartet (aus welchen Gründen auch immer) keine schnellen Änderungen des Umfangs.

  • Ihr Projektteam hat Erfahrung mit einem spezifischen, schwergewichtigen Ansatz – sie wissen, wie man damit umgeht, sie wissen, wie man damit umgeht, um ein qualitativ hochwertiges Projekt zu liefern.

Sie sollten einen agilen Ansatz in Betracht ziehen, wenn:

  • Sie arbeiten an Inhouse-Projekten oder Projekten für flexiblere Kunden, bei denen Sie sich nicht an die Prozesse des Kunden anpassen müssen.

  • Sie arbeiten an einem Projekt, bei dem sich der Umfang (aus welchen Gründen auch immer) schnell ändert, und Sie neigen dazu, die Tatsache zu akzeptieren.

  • Ihr Team beherrscht keinen bestimmten Projektmanagementansatz fließend, da allgemein agile Methoden die Lernkurven in Bezug auf die Einführung von Best Practices ziemlich glatt machen.

Sie können jedoch gerne verschiedene Ansätze mischen - was für das Team und das Projekt funktioniert, kann und sollte verwendet werden. Sie erhalten keine Punkte dafür, dass Sie mit einem bestimmten Ansatz orthodox sind – Sie erhalten Punkte für die Durchführung von Projekten.

Als letzten Ratschlag ist es besser, potenziell schlechtere Methoden zu verwenden (wobei schlechter bedeutet, dass sie nicht so gut zu Ihrer spezifischen Projektumgebung passen), aber sie gut zu verwenden, als potenziell beste Methoden zu verwenden, aber ihre Implementierung zu vermasseln. Siehe: Guter Wasserfall ist besser als schlechte Agilität

Ich bin mir nicht sicher, ob ich damit einverstanden bin, möglicherweise die "schlechtere" Methode zu verwenden, wenn sie gut verwendet wird. Ich denke, die meisten Teams scheitern an agilen Ansätzen, weil sie für ein bestimmtes Projekt die falsche Methodik wählen. Der richtige Ansatz entscheidet oft darüber, ob Sie ihn gut nutzen können oder nicht. Weitere Informationen finden Sie in diesem Blogbeitrag .
Dies ist ein alter Beitrag, aber ich habe diese Antwort abgelehnt, da dies darauf hinzudeuten scheint, dass die beiden Ansätze gleichermaßen gültig sind. Die früheste Erörterung des Wasserfalls stammt von Winston Royce als Beschreibung dessen, WAS in Software-PM NICHT ZU TUN IST. Irgendwie ist das in Vergessenheit geraten. Ich habe Probleme mit „agil“ und der agilen Bewegung als Branche, aber Wasserfall ist keine gleichermaßen gültige Methode. en.wikipedia.org/wiki/Waterfall_model#History

Verwenden Sie Agile (Scrum, XP, Kanban), wenn:

  • Sie von schnellem Feedback und brennender Sichtbarkeit objektiver Daten profitieren möchten
  • Sie verstehen den Wert und die Definition dessen, was Sie bauen, nicht vollständig
  • Ihre Auszahlungs-/Abwärtskurven können stark variieren
  • ein Team haben, das sich dafür begeistert, oder einen Trainer, der ihnen hilft
  • Haben Sie ein kompliziertes Projekt ohne alle Experten, die Sie benötigen, oder ein komplexes Projekt

Verwenden Sie Wasserfall, wenn:

  • Das Projekt ist einfach
  • Das Projekt ist kompliziert, aber Sie haben das Know-how, um es umzusetzen
  • es ist alles, was Sie wissen, und Sie haben keine Unterstützung für Veränderungen
  • Die Vorabinvestition ist nicht riskant
  • Sie fokussieren Ihre Leistungskennzahlen auf Liefertermin und Budget

Großartiger Beitrag von Dean Leffingwell zum gleichen Thema – MACHEN SIE DAS QUIZPicking Agile vs. Waterfall „Projects“: a Ten Point Quiz.

Link korrigiert, danke @Adam-Wuerl
Der Link funktioniert nicht.
Ich würde sagen, Wasserfall nur verwenden, wenn die Anforderungen vollständig klar definiert sind und sich im Laufe des Projekts nicht ändern können. Aber jetzt findet man es sehr selten.

Sie sollten Wasserfall nur für die einfachsten Projekte verwenden, was effektiv etwa 90 % aller Softwareprojekte ausschließt. Wieso den? Denn Softwareprojekte sind in drei Dimensionen komplex: Anforderungen, Technologie und Menschen.

Zur Veranschaulichung ist dies ein Stacey-Graph, der in den 1980er Jahren von Ralph Stacey von der University of Hertfordshire entwickelt wurde – er studierte Komplexität und menschliches Verhalten in Organisationen und Unternehmen und wie man Managementpraktiken anpasst, um ihren Auswirkungen entgegenzuwirken. Ich habe es basierend auf dem Diagramm angepasst, das Ken Schwaber in seinen Scrum-Büchern und -Klassen verwendet:

Stacey-Diagramm

Wasserfallprojekte passen in Szenarien, die in die einfachen Zonen auf dem Diagramm abgebildet werden, in denen wir die Anforderungen unserer Kunden und die Technologie(n), die wir verwenden müssen, um sie in eine funktionierende Softwarelösung zu implementieren, zusammen mit einer kleinen Teamgröße fast perfekt verstehen 1- 3. Wie Sie sich vorstellen können, sind diese Szenarien nur wenige.

Typische Softwareprojekte befinden sich jedoch tendenziell im komplexen Bereich in der Mitte des Diagramms, wo Anforderungen entlang eines Kontinuums verlaufen, wo sie nicht vollständig verstanden oder vereinbart werden (weil sie noch implementiert werden müssen) und die erforderlichen Technologien entlang laufen ein ähnliches Kontinuum, bei dem wir uns nicht 100 % sicher sind, wie sie funktionieren.

Bisher ist dies die gute Nachricht. Wir können "komplexe" Projekte bewältigen. Was jedoch die Komplexität in die Zone der Anarchie treibt, ist, wenn wir Menschen hinzufügen und sie in einen hochkreativen Prozess wie ein Softwareprojekt versetzen, in dem sie zusammenarbeiten müssen, um die oben genannten Mehrdeutigkeiten zu bewältigen. Wasserfallmethoden, die die Befolgung eines starren Plans über die Reaktion auf Veränderungen (innerhalb und außerhalb des Projekts) erzwingen, verschärfen diese Spannung und tragen zum Scheitern bei.

In diesen Situationen (d. h. in über 90 % der Fälle) müssen Sie einen iterativen/inkrementellen Prozess verwenden, um die Komplexität einzudämmen und das Risiko innerhalb eines definierten Zeitfensters (der Iteration oder des Sprints) zu mindern, damit Sie dies kontinuierlich überprüfen und anpassen können Lösung nach den Realitäten von Anforderungen + Technologie + Menschen.

Ich habe hier viel zu spät eingecheckt und wollte nur meine zwei Cent hinzufügen, dass dies bei weitem die beste Antwort ist
Hallo Chris, kannst du bestätigen, dass du der Autor des obigen Bildes bist? Jemand hat es mit mir geteilt und ich möchte seine Urheberschaft ordnungsgemäß zuordnen. Danke!
Hallo Avi; Ja, ich habe das obige Bild gemacht, aber es basiert auf einer Neuinterpretation des Stacey-Graphen, den ich erstmals vor über einem Jahrzehnt von Ken Schwaber beobachtete.

Sie haben drei Faktoren:

  • Geld
  • Zeit
  • Anforderungen

Wenn Geld und Zeit festgelegt sind und sich die Anforderungen ändern können, dann entscheiden Sie sich für SCRUM .

Wenn die Anforderungen festgelegt sind , würden Sie sich für Wasserfall entscheiden .

Nussschale. Diese Antwort ist darin. Unabhängig davon, was andere Voodoo-Leute versuchen und tippen, um ihre bevorzugte Lösung zu verkaufen. Schön gesagt Jakub.

Wird sich die Software nach ihrer ersten Veröffentlichung jemals ändern?

Waterfall ist für den Bau von Brücken und Häusern gedacht – physische, starre Dinge, von denen Sie nicht erwarten, dass sie sich im Laufe der Zeit stark ändern.

Agile und iterative Ansätze passen natürlich zur Softwareentwicklung und ihrer Fluidität.

Sie sollten Veränderungen erwarten und annehmen .

Ich verstehe, dass nicht jeder damit einverstanden ist, aber die Verwendung eines Wasserfallprozesses ist die Nummer 1 in meinem Beitrag über die Top 5 Fehler im Softwareprojektmanagement .

Es überrascht mich, dass die Wasserfall-Softwareentwicklung nach all den Jahren immer noch so umfassend gelehrt und praktiziert wird.

Der Wasserfall sollte verwendet werden, wenn dies vom Kunden oder den Aufsichtsbehörden gefordert wird. Nicht, dass ich irgendwelche Aufsichtsbehörden kenne, die das verlangen.

Sonst hätte ihn sein Originalpapier als Strohmann umwerfen müssen; dann nahmen die Leute es als gute Praxis.

Es gibt eine Reihe von Faktoren zu berücksichtigen.

Zum Beispiel den Umfang des Projekts, die Dauer des Engagements, die Art des Engagements (ob Sie am gesamten Lebenszyklus des Projekts oder nur an der Entwicklung beteiligt sind), die bisherige Erfahrung des Kunden und was für Sie am besten funktioniert und dein Team.

Hier ist ein Beitrag zur Auswahl einer PM-Methodik , die hilfreich sein könnte.

Toller Artikel, Markus!

„Waterfall“ ist weitaus überlegen, wenn der Kunde genau weiß, was er will und sich außer Bugfixes nichts ändert. Es wird sehr diskreditiert, weil die überwiegende Mehrheit der Kunden nicht weiß, was sie wollen. Daher sind iterative Prozesse weitaus effektiver, um herauszufinden, was diese Kunden wollen – und es ihnen zu geben.

Ich stimme zu, dass es funktioniert , wenn der Kunde in der Lage ist, alle Anforderungen im Voraus genau zu definieren, aber auf welcher Grundlage behaupten Sie, dass es „überlegen“ ist?
Ich stelle mir die gleiche Grundlage vor, die Agile/Scrum-Puristen über ihre Methodik behaupten. Eine Mischung aus Erfahrung, Vorurteilen und Vorlieben. Ich bevorzuge auch den Wasserfall – wenn Sie einen Shareholder Value von 1500 £ pro Sekunde investieren, zahlt es sich aus, eine Methodik zu haben, die streng kontrolliert wird und mit den regulatorischen und Prüfungsrahmen übereinstimmt. Sobald Sie ein Scrum-Team um gesetzlich vorgeschriebene Dokumentation bitten, jammern sie über die „Prinzipien“.

Stören Sie die Entwicklungsmethodik hat ihre eigenen Vorteile und Grenzen. Es hängt also ganz von Ihnen ab, in welche Richtung Sie sich bewegen oder beides kombinieren möchten, um die Entwicklungsmethodik neu zu definieren. Das Wasserfallmodell eignet sich immer noch gut für die Entwicklung vieler großer Projekte, bei denen alle Schritte zunächst klar definiert sind. Agile Entwicklung wird heutzutage übernommen, hat aber das Wasserfallmodell nicht ersetzt, das hilft, ein Projekt mit klar definierten Projektschritten zu entwickeln, und es besteht keine Notwendigkeit, zurückzugehen.

Der Wasserfall ist perfekt für Projekte, bei denen alle Anforderungen bis ins kleinste Detail im Voraus bekannt sind und sich nicht ändern und das gesamte Design von vornherein gemacht werden kann, ohne dass etwas falsch wird, und bis zum Ende nichts getestet werden muss. weil die Tests nur eine Formsache sind und keine Änderungen erfordern.

Das Problem ist, dass dies niemals passieren kann, insbesondere bei großen Projekten oder Projekten, die neue Aspekte haben (aus Sicht der Kunden oder der Implementierer).

Selbst wenn dasselbe Produkt in einer bestehenden Fertigungskette immer wieder hergestellt wird, können mechanische, elektrische und menschliche Fehler Fehler verursachen, und diese Fehler sollten am besten so schnell wie möglich erkannt und behoben werden.

Die meisten Unternehmen, die Wasserfall offiziell praktizieren, verwenden hinter den Kulissen eine Art inkrementelle oder, realistischer, iterative Methode.

Die Fragen sind:

  1. Verwenden sie eine formale iterative Methode wie UP, Scrum, Kanban usw. oder erfinden sie diese im Laufe der Zeit?

  2. Müssen Verträge nach jedem Änderungsbedarf neu verhandelt werden oder sieht der Vertrag bereits Kontrollpunkte für Änderungen oder Projektstopps vor?

Wenn die Unsicherheit (in Anforderungen, Technologie, Personal usw.) groß ist, können agile Methoden zu einem effizienteren Prozess führen als größere Iterationen (z. B. UP).

Aus Erfahrung mit der Verwendung von beiden gibt es ehrlich gesagt keinen wirklichen Vorteil, Wasserfall zu verwenden, es sei denn, das Projekt ist so klein, dass es in einen kurzen Zeitraum passt, z. Ein Monat. Scrum wiederholt ohnehin Mini-Wasserfall-Phasen in jedem Sprint. Der Wert von Scrum besteht darin, dass keine Zeit mit großen Vorabanalysen und -designs verschwendet wird, während sich Prioritäten und Marktbedingungen ändern. Eine Übersicht gibt es [hier] ( http://www.pashunconsulting.co.uk/what_is_scrum_blog.html )

...Sie glauben also, dass ein Scrum-Team eine ganze SAP-Umgebung bereitstellen kann? Das ist seltsam, da SAP selbst und SAP Gold Partner keinen Scrum-Ansatz empfehlen.
@Venture2099 Unabhängig davon, ob die Antwort des Posters richtig ist oder nicht, ist Ihr Gegenargument ein logischer Irrtum, der als „Berufung der Autorität“ bekannt ist. Der Ton ist auch grenzwertig bissig; Bitte versuchen Sie, anderen Mitgliedern der Community gegenüber höflich zu sein.
1. Es ist kein Appell an Autorität. Das OP hat eine pauschale Aussage zum Wasserfall gemacht, um zu widerlegen, muss ich nur ein Beispiel finden. Das habe ich getan, und das Beispiel wird durch branchenführende Ratschläge untermauert. Darüber hinaus ist die Berufung auf Autorität kein logischer Fehlschluss, sondern wird nur dann zu einem Fehlschluss, wenn sie missbraucht wird. web.stanford.edu/~jonahw/PWR1/LogicalFallacies.htm hat die drei Missbräuche der Berufung auf Autorität. Der Appell an sich ist absolut kein Trugschluss. Experten können falsch liegen, aber wenn sie gegen Nicht-Experten gleich abgewogen werden, haben sie meistens Recht. Sarkastisch? Schuldig. Aber OP ist abweisend.

Die Scrum-Methodik erfordert ein Umdenken gegenüber traditionellen Methoden. Der zentrale Fokus hat sich vom Anwendungsbereich in Wasserfallmethoden hin zum Erreichen des maximalen Geschäftswerts in Scrum verlagert. Während in Waterfall Kosten und Zeitplan geändert werden, um sicherzustellen, dass der gewünschte Umfang erreicht wird, können in Scrum Qualität und Einschränkungen geändert werden, um das Hauptziel zu erreichen, den maximalen Geschäftswert zu erreichen.

Das Wasserfallmodell eignet sich für geordnete und vorhersehbare Projekte, bei denen alle Anforderungen klar definiert und genau abgeschätzt werden können, und in den meisten Branchen sind solche Projekte rückläufig. Veränderte Kundenanforderungen haben zu einem erhöhten Druck auf Unternehmen geführt, ihre Liefermethoden anzupassen und zu ändern.

Weitere Informationen finden Sie unter: http://www.scrumstudy.com/blog/advantages-of-using-scrum-listed-down-by-scrumstudy-2/

Ich finde Pawels Antwort großartig und würde dir +1 geben, wenn ich könnte!

Zu seiner Liste hinzufügen. Sie würden Wasserfall verwenden, wo:

  • Sie haben einen feindlichen Kunden oder einen, der sich weigert, sich zu engagieren
    • Ich sage das nur, weil es manchmal vorkommt. Der Kunde möchte nicht wirklich eine Änderung und diese wird ihm von einem Eigentümer oder einer Gruppe aufgezwungen, aber er hat die Verantwortung für das Projekt. Es ist selten, aber Agile braucht Engagement.
Ich sehe auch nicht, wie Wasserfall hier hilft, es sei denn, das Ziel ist CYA. Jedes erfolgreiche Projektmanagement erfordert Kundenengagement, um Mehrwert zu schaffen.

Wasserfall ist keine Methodik an sich. Wasserfall ist nur ein Lebenszyklusmodell.

Scrum ist eine agile Methodik. Eine Methodik kann einen Lebenszyklus beschreiben und stellt einen Prozess bereit, um diesen Lebenszyklus zu unterstützen.

Eigentlich liegst du falsch. Wasserfall ist eine Methode.
@Zsolt warum hast du nicht abgelehnt?
@Zsolt Es ist fraglich. Ein Modell ist keine Methodik, aber Sie können sicherlich eine Methodik um ein Modell herum aufbauen. Wikipedia sagt: "Das Wasserfallmodell ist ein sequentieller Designprozess ...", also würde ich wahrscheinlich argumentieren, dass die Methodik all das PMBOK-Zeug ist, das das Modell implementiert . en.wikipedia.org/wiki/Waterfall_model
@MarkPhillips Ich wurde von einem guten Deal von Valve abgelenkt ;-)
@CodeGnome, ich stimme zu. Für mich ist die Antwort zu allgemein und weniger konstruktiv.