Gibt es Studien zur Effizienz / Wirksamkeit von Agile vs Waterfall?


22

In einem Meeting wurde neulich behauptet, dass Agilität nur 60% der Entwicklungszeit im Vergleich zum Wasserfall entspricht. Ich versuche nicht, diese Behauptung zu bestätigen oder zu widerlegen. Ich finde es interessant, herauszufinden, ob es Studien zum Vergleich der beiden Methoden gegeben hat.

Gibt es da draußen Studien, die die beiden vergleichen?


4
Agile bedeutet nicht, bessere Software bereitzustellen. Qualitätssoftware kann unabhängig von der Methodik geliefert werden. Bei Agile geht es in der Regel darum, qualitativ hochwertige Mehrwert-Software in kürzerer Zeit bereitzustellen und gleichzeitig auf die sich ändernden Anforderungen eines Kunden zu reagieren.
Thomas Owens

6
Fragen Sie nach der Quelle des Anspruchs.
Martin York

Wenn die ursprüngliche Person eine Quelle hat, kann sie Links zu anderen Studien enthalten.
Martin York

4
@Chad Warum war es nicht dein Platz? Wer hat das gesagt? Wenn es sich um einen externen Anbieter handelte, was für eine gute Gelegenheit, seine Projektmanagementfähigkeiten zu verstehen, bevor Sie mit ihm zusammenarbeiten.
Thomas Owens

1
@CHad: Paraphrasieren von Douglas Adams .... I refuse to prove that Agile is more efficient,sagt Gott,for proof denies faith, and without faith Agile is nothing.
Mattnz

Antworten:


12

Das Buch "Making Software: Was wirklich funktioniert und warum wir es glauben" enthält einige Kapitel über agile Methoden, einschließlich XP, Scrum, Dynamic Software Development und Lean, mit guter wissenschaftlicher Unterstützung. Es ist von hoher Qualität, wie Sie es von O'Reilly erwarten würden. Einer der Herausgeber war der exzellente Greg Wilson , ein vertrauenswürdiger Informatikautor, Herausgeber und Moderator.

Das Buch selbst fasst mehrere Forschungsstudien zusammen, darunter viele zu Agile. Ein Abschnitt fasst Forschungsergebnisse zusammen, darunter "Sind zwei Köpfe besser als einer? Über die Wirksamkeit der Paarprogrammierung " von Dybå, T .; Arisholm, E .; Sjøberg, DIK; Hannay, JE; Shull, F .; und " Empirische Studien zur agilen Softwareentwicklung: Eine systematische Übersicht " von Tore Dybå und Torgeir Dingsøyr.

Der allgemeine Eindruck ist, dass die meisten agilen Praktiken vorteilhaft sind, aber dass die Auswirkungen von Pair Programming und TDD und anderen agilen Mandanten nicht so stark sind, wie man es sich erhoffen könnte. Es gibt sogar eine beunruhigende Fußnote, dass TDD tatsächlich etwas süchtig machend sein könnte *.

Das Buch ist eine großartige Möglichkeit, Zugang zu einer Vielzahl von Recherchen zu erhalten, die in einem zusammenhängenden Ganzen durchgeführt wurden. Es gibt einige Blogs und andere Websites im Web, die das Buch rezensieren.


* Dies ist nicht unbedingt meine Meinung!


1
Gibt es eine Chance, dass Sie einige Zitate und Referenzen hinzufügen könnten? Es könnte hilfreich sein, herauszufinden, ob es eines meiner Safari-Bücherregalslots wert ist. * 8 ')
Mark Booth

1
Die Nook-Version auch :) Vielen Dank, dass Sie es heute Abend ausprobieren werden.
SoylentGray

Hinzugefügt. Lassen Sie mich wissen, ob Sie das im Sinn hatten. Wenn jemand diesen Beitrag bearbeiten und den Text des Buches transkribieren möchte, wäre dies ebenfalls willkommen.
Kyle Hodgson

Danke Kyle, aber ich denke, eine Zusammenfassung wäre besser gewesen als ein Screenshot. Es ist ein wenig schwierig zu verstehen, worüber sie sprechen, ohne mehr Kontext zu haben. Was meinen sie mit Anstrengung ? Sprechen wir über Entwicklerstunden pro Projekt?
Mark Booth

1
Das Buch beantwortet die Frage so, wie ich sie hätte stellen sollen, obwohl ich denke, dass sie zu weit gefasst gewesen wäre. Vielen Dank für den Link.
SoylentGray

10

So sehr mir der Titel auch nicht gefällt, glaube ich, dass das Gleichgewicht zwischen Beweglichkeit und Disziplin: Ein Leitfaden für Verblüffte einige Informationen enthalten könnte, die für Sie relevant sind. Dieses Buch von zwei Experten für Software-Engineering-Prozesse und Software-Projektmanagement - Barry Boehm und Richard Turner. Dieses Buch befasst sich mit verschiedenen Aspekten der agilen und plangesteuerten Methoden, vergleicht und kontrastiert sie und erörtert auch deren Integration, um eine Situation zu erreichen, in der "das Beste aus beiden Welten" erreicht wird.

Anhang E von Balancing Agility and Discipline enthält eine Fülle empirischer Informationen zu Kosten und Nutzen verschiedener agiler und plangesteuerter Methoden. Es scheinen jedoch keine Daten zur Zeitwirksamkeit zu vorliegen. Ein Blick in die Daten zeigt jedoch (wie ich vermutet habe), dass dies keine Entweder-Oder-Entscheidung ist. Bei einigen Projekten waren weniger Aufwand, schnellere Zeitpläne und geringere Fehler bei der Anwendung agiler Methoden zu verzeichnen. Es wurden jedoch auch andere Projekte verwendet. In diesem Abschnitt werden verschiedene Projekte in verschiedenen Branchen, die Art des verwendeten Prozesses und die Erfahrungen im Verlauf des Projekts erörtert.

In Anhang E sind zahlreiche Fallstudien aufgeführt, die diese Daten liefern. Es gibt viel zu viele, als dass ich sie zufällig benennen könnte, da sich viele auf eine bestimmte Branche oder sogar auf eine bestimmte Organisation konzentrieren. Wenn Sie sich Fälle ansehen, empfehle ich, solche zu finden, die Ihrem Team, Projekt, Ihrer Organisation und Ihrer Branche ähneln, um einigermaßen gültige Schlussfolgerungen zu ziehen.

In Rapid Development: Wilde Software-Zeitpläne zähmen identifiziert Steve McConnell eine Reihe von Faktoren, die bei der Auswahl einer Lifecycle-Methodik zu berücksichtigen sind: Kenntnisstand der Anforderungen, Kenntnisstand der Architektur, gewünschte Zuverlässigkeit, Risikomanagement, Zeitplanbeschränkungen, Prozessumfang Overhead, "Kurskorrekturen" während des Projekts, Fähigkeit, dem Kunden Sichtbarkeit zu verleihen, Fähigkeit, dem Management Sichtbarkeit zu verleihen, und Raffinesse des Entwicklungsteams und des Managements. Es gibt auch andere, wie z. B. die Organisationskultur, daher gibt es wahrscheinlich nirgendwo eine vollständige Liste.

Selbst bei genau demselben Projekt gibt es auch den Teamfaktor. Wenn Sie ein Team, das konsequent Software nach der plangesteuerten Spiralmethode bereitgestellt hat, in Scrum einbinden, werden die Produktivität sinken und die Anzahl der Thrashing-Vorgänge steigen. Sie müssen ein neues Prozessmodell überwinden, bevor sie verfügbar sind um erfolgreich zu sein. Auch wenn eine andere Methodik besser geeignet ist, muss das Unternehmen die Software immer tatsächlich bereitstellen. Aus diesem Grund sind Prozessverbesserungsbemühungen häufig langfristige Anstrengungen und nicht über Nacht. Größere Änderungen schockieren ein Team und können (selbst wenn die Methode auf dem Papier besser geeignet ist) zu einer Verringerung der Produktivität führen.

Es gibt viel mehr als nur Effizienz oder Effektivität des Prozesses, und Sie können nicht einfach eine Momentaufnahme desselben Teams betrachten, das in einer plangetriebenen Umgebung und einer agilen Umgebung arbeitet. Sie müssen den industriellen und organisatorischen Kontext, die Attribute des Projekts, das Team, den Kunden usw. berücksichtigen, wenn Sie eine Entscheidung treffen.


Aufgrund dessen, was ich gelesen habe, muss ich Ihrer Einschätzung der Mitarbeiter nicht zustimmen. Ich bin sicher, dass Sie eine Fallstudie irgendwo finden können, wo ein agiles Projekt in Bezug auf eine Leistungsmetrik 60% weniger effizient war als ein ähnliches plangesteuertes Projekt. Es gibt jedoch auch Studien, die belegen, dass Agilität 80% weniger Aufwand, 50% weniger Zeit und eine hohe Kundenzufriedenheit mit dem Produkt bedeutet.


6

Ich habe kein Studium, möchte aber meine Erfahrungen mitteilen.

Die Wirksamkeit einer der genannten Methoden hängt stark von den Analysten ab.

Wenn Sie einen großartigen Produktbesitzer haben, ist SCRUM beispielsweise mit Sicherheit schneller als ein Wasserfall mit einer schlechten Spezifikation.

Agil mit einem schlechten Produktbesitzer ist sicherlich langsamer als ein Wasserfall mit einer großartigen Spezifikation.

Meistens kennen wir die genauen Anforderungen jedoch nicht früh genug und agile Methoden haben schnellere Feedback-Zyklen. Dies bedeutet, dass in unsicherem Gelände Agilität eine bessere Methode ist, um ein qualitativ hochwertiges Produkt zu angemessenen Kosten zu liefern. Es gibt zahlreiche weitere Vorteile, zum Beispiel, dass agile Projekte leichter storniert werden können, wenn sie nicht funktionieren, und somit Verluste auf ein Minimum reduzieren können.

Man könnte sagen, dass agile Methoden das Risiko reduzieren, während Wasserfälle, auch wenn sie manchmal schneller sind, durchaus ein Geldspiel sein können.


4

Agile war nur 60% so effizient in der Entwicklungszeit

Wahr.

Aber das ist ein lahmes Maß.

Agile Methoden liefern in der Regel eher einen echten Mehrwert.

Wasserfall hält sich einfach an einen Zeitplan, unabhängig davon, was geliefert wird, und liefert oft nichts von Wert, bis eine große Zeitspanne verstrichen ist.

Des Weiteren.

Sie können die "Entwicklungszeit" getrennt von "Entwicklungs- und Testzeit" messen.

Agile beinhaltet normalerweise Tests. Es scheint also langsamer.

Wasserfallentwicklung kann sauber vom Testen getrennt werden. Der Code ist also früher "bereit zum Testen". Aber erst viel später "fertig".

So. Sie haben vollkommen recht. Für das, was sie gemessen haben.


8
Ich weiß nicht, ob es immer wahr ist - es hängt davon ab, wie (auf welcher Ebene) Sie die Effizienz messen. Wenn ich ein Projekt durchlaufen habe, das mich 2 Jahre in Anspruch nimmt, habe ich nur zwei Jahre damit verbracht, alles zu entwickeln. Wenn ich jedoch einen iterativen / inkrementellen Ansatz verwende, kann ich feststellen, dass nur 40% meiner Anforderungen implementiert werden müssen und das Projekt erfolgreich abgeschlossen wird, nachdem 40% des Produktrückstands in 15 Monaten implementiert wurden. Das sind 9 Monate Entwicklungszeit für ein anderes Projekt. Für mich bedeutet dies eine Steigerung der Effizienz. Ich habe nicht nur alle geschäftlichen Anforderungen eines Kunden erfüllt, sondern unterstütze bereits einen zweiten Kunden.
Thomas Owens

3
Ein weiterer Fall von "Sie bekommen, was Sie messen". Messen Sie die falsche Sache und es hilft nicht.
Martin York

3
Nach meiner Erfahrung sind agile Methoden definitiv langsamer, wenn Sie eine wirklich gute Spezifikation haben. Aber wenn Ihre Spezifikation nicht stimmt (was häufig der Fall ist), speichern agile Methoden das Projekt. Agile / SCRUM saugt, wenn Ihr Produktbesitzer saugt. Also ist es so ziemlich dasselbe. Wenn Sie jemanden haben, der sich ein wirklich gutes Produkt vorstellen kann, sind beide Ansätze wahrscheinlich gleich schnell. Es hängt weniger von der Methodik als von den Analysten ab.
Falcon

3
Das erneute Bestätigen der ursprünglichen Behauptung beantwortet die Frage nicht wirklich. Haben Sie außer anekdotischen Beweisen, dass die Behauptung richtig ist?
Mark Booth

1
Sie bekommen, was Sie messen, das ist das Risiko, das Sie eingehen.
Scott
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.