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?
32
Antworten:
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.
quelle
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 :
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 :
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.
quelle
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
quelle
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.
quelle
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.
quelle
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?
quelle