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?
project-management
agile
SoylentGray
quelle
quelle
I refuse to prove that Agile is more efficient,
sagt Gott,for proof denies faith, and without faith Agile is nothing.
Antworten:
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!
quelle
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.
quelle
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.
quelle
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.
quelle