Kann ein fester Geltungsbereich + ein fester Termin + ein Festpreisvertrag jemals für die Arbeit mit "agile" gemacht werden?

32

Einige Projekte, die wir intern ausführen, sind Scrum, während immer noch "alles" für den Kunden festgelegt ist. Unsererseits verzeichnen wir gemischte Erfolge (der Kunde mag die Sichtbarkeit des Burndown-Diagramms). Können die Arten von Projekten, an denen wir arbeiten, mit den agilen Methoden erfolgreich ausgeführt werden?

Chris Buckett
quelle
17
Kann ein fester Geltungsbereich + eine feste Frist + ein Festpreisvertrag jemals zum Funktionieren gebracht werden?
Carson63000
4
Ist dies nicht eine Möglichkeit, umzusprechen: "Schnell, gut oder günstig. Wählen Sie zwei"?
Matthieu M.,
3
Ist nicht ein Antonyme von Agilität festgelegt?
Matt Ellen

Antworten:

10

Nun, ich habe größtenteils in "agilen" Umgebungen gearbeitet (obwohl wir den Jargon nicht verwenden) und ich habe Dinge zu festen Kosten gemacht. In der Regel sind die Kosten höher, da sich kein Unternehmen leisten kann, alles kostenlos zu erledigen, und sich die Anforderungen ändern und entwickeln, wenn der Kunde klarer herausfindet, was er will.

Die anfänglichen Anforderungen für den Fixkostenteil müssen viel sorgfältiger als in einer typischen iterativen Umgebung durchgeführt werden, was den Prozess etwas weniger iterativ macht. Der "Plus" -Teil des Vertrages kann iterativer sein, sofern wir den Fixkostenteil für den Kunden mehr oder weniger zufriedenstellend erfüllt haben.

Robert Harvey
quelle
71

Ich möchte eine Gegenfrage stellen:

Kann ein fester Geltungsbereich + eine feste Frist + ein Festpreisvertrag jemals in Kraft gesetzt werden ?

Das Sprichwort "gut / schnell / billig - wählen Sie zwei" ist nicht nur ein dummer technischer Witz. Jeder Projektmanager, der sein Geld verdient, kennt das Projektmanagement-Dreieck :

Projektmanagement-Dreieck

Sie sagen uns, dass Kosten, Umfang und Zeitplan feststehen. Das lässt keinen Spielraum für Manövrierbarkeit oder Fehler. Keine . Sie könnten "Qualität" als Attribut anzeigen, aber es ist kein "echtes" Attribut, sondern eher ein Metaattribut, das von den anderen Attributen abgeleitet ist (Kosten / Umfang / Zeitplan).

Das Problem ist, dass dies in der Realität niemals passiert, solange Ihr Projekt von Menschen geplant und ausgeführt wird.

  • Anforderungen und Spezifikationen decken niemals jeden Randfall ab, es sei denn, sie wurden von qualifizierten Architekten und Designern immens detailliert ausgearbeitet. In diesem Fall ist das Projekt bereits zur Hälfte abgeschlossen. und selbst dann gibt es immer noch die Möglichkeit eines Fehlers.

  • Unerwartete Kosten führen zu Budgetüberschreitungen. Ein Abonnement ist abgelaufen. Ein Hersteller hat die Unterstützung für ein Produkt eingestellt, das Sie verwenden, und Sie müssen ein neues Produkt finden. Ein stündlicher Auftragnehmer erhöhte seinen Satz unter Androhung der Abreise. Ihr gesamtes Team trat gerade in den Streik und forderte eine Erhöhung um 10% und eine zusätzliche Urlaubswoche.

  • Zeitpläne gleiten. Unvorhersehbare Probleme tauchen auf; Diese Diagrammkomponente, die Sie seit 5 Jahren verwenden, ist nicht mit Windows 95 kompatibel, das Ihr Client noch verwendet. Ein obskurer Fehler in 64-Bit-Windows verursacht schwerwiegende Probleme in der Benutzeroberfläche, und Sie verbringen fast eine Woche damit, ihn aufzuspüren und eine Problemumgehung zu entwickeln (das ist mir tatsächlich passiert). Ihr leitender Entwickler wurde von einem Bus angefahren und Sie müssen einen neuen rekrutieren und ausbilden. Ihr voraussichtlicher Liefertermin ist immer falsch. Immer.

    Siehe das Hofstädter-Gesetz :

    Hofstädter-Gesetz: Es dauert immer länger als erwartet, auch wenn Sie das Hofstädter-Gesetz berücksichtigen.

Bei agilen Methoden dreht sich alles um Kosten, Zeitplan und Umfang. Die meiste Zeit geht es speziell darum, den Umfang und manchmal den Zeitplan zu durchwühlen , weshalb Sie mit nebulösen User Stories beginnen und Revisionen planen, anstatt Vollversionen. Unterschiedliche Methoden verwenden unterschiedliche Terminologien, aber es ist alles die gleiche Grundvoraussetzung: Häufige Releases und ein Neuausgleich von Zeitplan und Umfang mit jedem Release.

Dies ist bei einem Projekt, das entweder ein fester Umfang oder ein fester Zeitplan ist (oder sein soll), nicht sinnvoll .

Wenn ein Projektattribut (Kosten / Umfang / Zeitplan) festgelegt wäre, würde ich Ihnen mitteilen, dass es möglicherweise nicht für agile Methoden geeignet ist.

Wenn zwei Projektattribute festgelegt sind, eignet sich Ihr Projekt definitiv nicht für agile Methoden.

Wenn alle drei Attribute festgelegt sind, schlägt Ihr Projekt wahrscheinlich fehl. Wenn es tatsächlich ausgeliefert wird, wurde entweder der ursprüngliche Zeitplan massiv verfälscht, oder der Kunde hat es geschafft, sich vorzustellen, dass Sie tatsächlich geliefert haben, was versprochen wurde.

Wenn dieser Vertrag noch auf dem Tisch liegt, fordere ich Sie auf, ihn abzulehnen. Und wenn du es bereits angenommen hast, möge Gott deiner Seele gnädig sein.

Aaronaught
quelle
4
+1 für Hofstadters Gesetz. Ich werde es bei der nächsten Schätzung zitieren.
Chris Buckett
2
Beachten Sie, dass , wenn „feste“ nicht wirklich meine feste (im Gegensatz zu Todds Antwort im Kommentar impliziert) dann , dass Veränderungen der Landschaft etwas, und der Erfolg des Projekts hängt teilweise auf jeder immer auf die tatsächliche Definition des Wortes zustimmen "fest" (oder "muss" oder "erforderlich" oder was auch immer die spezifische Ausdrucksweise im Vertrag ist). Wenn der Umfang wirklich "feststeht, wenn wir Zeit haben" , dann sieht es viel eher nach einem agilen Projekt aus. :)
Aaronaught
2
Ich vermute, dass das Management das mit dem Kunden so gemacht hat.
Chris Buckett
3
Projekte mit festem Zeitplan / Umfang / Preis können funktionieren (ich habe sie gemacht), sie erfordern nur wirklich solide Anforderungen, eine wirklich gute Schätzung und wie Sie sagen, sind diese Dinge in der Realität sehr schwierig. +1 für eine klare Erklärung, wie Agile grundsätzlich im Widerspruch zum gesamten Festpreismechanismus steht, da es sich um (intelligente) Kompromisse handelt und das andere die Möglichkeit ausschließt, irgendetwas zu kompromittieren.
Jon Hopkins
3
Nur die Menge der positiven Stimmen auf diese Antwort zeigt, wie viele sich in Agile + Fixed-Price-Chaos abmühen.
Ringträger
18

Ich liebe dieses Zitat:

„Scrum eignet sich hervorragend für Variablen mit festem Datumsbereich oder für Variablen mit" festem Gültigkeitsbereich "(der immer größer wird). Wenn Sie einen festen Zeitraum festlegen, empfehle ich Wasserfall oder RUP, wodurch Sie ein paar Monate Zeit haben, sich nach einem neuen Job umzusehen. “~ Michael James

Bruce
quelle
6

Sicher, solange Ihr Qualitätsstab bemerkenswert niedrig gehalten wird. Ich glaube an das alte Eisendreieck von "Lieferzeit / Qualität / Preis", wo man zwei auswählen kann, aber dann schwebt der andere. Es hört sich so an, als ob Sie die Lieferzeit und den Preis (und auch die Funktionen) festgelegt haben. Das Einzige, was Sie geben können, ist die Qualität.

Das heißt, wenn Sie ein Burndown-Diagramm verwenden und die Elemente mit der höchsten Priorität zuerst ausgeführt werden, ist es möglicherweise akzeptabel, eine Handvoll der wichtigsten Elemente innerhalb des angegebenen Zeitrahmens für den angegebenen Geldbetrag ausführen zu lassen. Zumindest wird Ihr Kunde bemerken, dass Sie den Prozess in gewisser Weise steuern. Am Ende jeder Iteration wird ein Ergebnis angezeigt, und er kann sagen, was am wichtigsten ist.

Ansonsten denke ich, dass die Festlegung einer festen Zeit, eines festen Funktionsumfangs und eines festen Preises unsinnig ist und zu heldenhaften Anstrengungen führen wird, die zu einer geringeren Qualität und weniger wartbarem Code führen. Agile ist kein magischer Feenstaub.

Todd Williamson
quelle
2
So haben wir es mit unseren Kunden gemacht - lassen Sie das Oszilloskop gleiten und fügen Sie es in der nächsten Version hinzu. Ihre Hauptmotive sind Termin und Preis. Wir möchten nicht, dass die Qualität nachlässt - wie dies und die anderen Kommentare zeigen, sind wir uns des Dreiecks voll bewusst - die Geschäftsseite hat die lustige Aufgabe, den Kunden auch darauf aufmerksam zu machen.
Chris Buckett
0

Ein fester Preis / ein fester Termin / ein fester Umfang kann mindestens so wendig sein wie im Wasserfall.

Bei Wasserfällen sind die Zeitschätzungen ungenau und die Details werden anders als in den ursprünglichen Spezifikationen implementiert. Mit anderen Worten, der Termin / Umfang kann nicht genau im Voraus bekannt sein.

In Agile können Sie Sprint Zero ausführen, um einen Rückstand an User Stories zu generieren und einige Schätzungen vorzunehmen. Dann erklären Sie sich damit einverstanden, die Value Stories zu einem festen Preis innerhalb einer festgelegten Frist einzuhalten. Der Umfang ist in Bezug auf die Value Stories festgelegt, die Sie erfüllen möchten, und es werden keine Zusagen zu User Stories gemacht.

Mit anderen Worten, Sie versprechen, das zu liefern, worauf es ankommt, und vermeiden, Versprechungen zu bestimmten Entwurfsentscheidungen zu machen, die nicht mit den Einnahmen / Einsparungen / usw. Zusammenhängen. dass das Projekt liefern soll.

Eric Wilson
quelle
Alt, aber ... es könnte in Agile unendlich besser gemacht werden als in Waterfall, und die Chancen würden sich nicht ändern. Null wird immer Null sein. Wenn eine einzelne Aufgabe in einer einzelnen Story auf ein einzelnes Ereignis stößt, das die Kosten oder den Aufwand ändert, sind Sie gescheitert.
EKW
0

Ich stimme Bruce bis zu einem gewissen Grad zu. Obwohl ich mit Wasserfall oder RUP nicht allzu vertraut bin, kann ich mich dazu nicht äußern.

Was ich in letzter Zeit gelesen habe und wirklich gut gesagt fand, war, dass wir auch in Agile die Planung vernachlässigen. Eine gründliche Planungssitzung, sobald eine Iteration großartig ist - nein, das ist unerlässlich -, aber auch die Planung während der gesamten Iteration.

Ich arbeite in der Unterhaltungsindustrie, wo sich die Dinge ständig ändern. Das Team benötigt ein gewisses Maß an Nachsicht und Flexibilität, damit es die Storys im Sprint "neu planen" kann, um sie an neue oder überarbeitete Ziele anzupassen.

Ich mag die Idee der kontinuierlichen Planung, da Entwickler den Produktbesitzern zu oft auffordern, sich zu entfernen, wenn sie im Sprint an Storys arbeiten. Dies ist hervorragend, wenn Ihr Team an Geschichten arbeitet, die noch gültig sind, und Ihr Product Owner nur ein Ärgernis ist. Aber in einigen Fällen werden Geschichten im Sprint überflüssig, und es ist unerlässlich, dass der Produktbesitzer dies erkennt und das Team sich an veränderte Ziele / Geschichten anpasst - geht es nicht darum, wendig zu sein?

Danette
quelle
2
Wenn Sie ständig planen, ist Scrum wirklich nichts für Sie. Kanban könnte geeigneter sein, es zu versuchen. Aber was Sie über Agile sagen, ist genau richtig.
gbjbaanb