Ist die Entscheidung über das Veröffentlichungsdatum vor dem Sammeln aller Anforderungen nicht flexibel?

10

Ich habe gerade angefangen, das Buch Applying UML and Patterns von Craig Larman zu lesen. Ich finde es sehr interessant, weil es viele meiner Herausforderungen bei der Arbeit in Frage stellt. Ich habe gelesen, dass Anforderungen nicht auf einmal in Agile vollständig erfasst werden und es viele Iterationen erfordert, um die Anforderungserfassung abzuschließen. Wenn dies der Fall ist, ist es dann sehr unagil, eine festgelegte Frist festzulegen, zu der ich bei der Arbeit gezwungen bin, wenn man bedenkt, dass es morgen eine neue bahnbrechende Anforderung geben könnte (oder eine Änderungsanforderung, die sich als Anforderung tarnt)?

Kaushik S.
quelle

Antworten:

19

Es gibt absolut kein "agiles" Problem mit einem festen Veröffentlichungsdatum, wenn Sie bereit sind, eine der beiden anderen Kanten des "Eisendreiecks" zu verschieben: die Anforderungen an das, was in dieser Version enthalten sein muss, oder die verfügbaren Ressourcen . Sie können nicht alle drei Probleme beheben - und in der Praxis ist die "Ressourcen" -Seite des Dreiecks sehr oft entweder nicht sehr flexibel oder ineffizient zu ändern.

Wenn es morgen eine wichtige neue Anforderung gibt, ist dies in Ordnung, solange das Unternehmen bereit ist, diese Anforderung zu akzeptieren und möglicherweise nicht das Veröffentlichungsdatum erreicht - dh es wird auf die nächste Version verschoben.

Philip Kendall
quelle
1
Ich hatte immer das Gefühl, dass diese Ressourcenseite des Dreiecks ein Fehler ist. Tauschen Sie es gegen Qualität und es funktioniert besser. Aber Sie sind genau richtig: Binden Sie mich an ein Veröffentlichungsdatum, wenn Sie müssen, aber Funktionen und Qualität werden dadurch abrutschen.
David Arno
1
@DavidArno Ich würde argumentieren, dass "Qualität" Teil der Definition von Done ist, die selbst Teil jeder Anforderung ist. Und "Ressource" kann sicherlich erhebliche Auswirkungen auf die Bereitstellung haben, wenn Sie dem Projekt Ressourcen entziehen .
Philip Kendall
1
@ChristianHackl: Ich denke, unabhängig von der Methodik erfordert die Softwareentwicklung viel Zeit und Geld, wenn Sie auch Qualität wollen.
Bryan Oakley
2
@ BryanOakley: Das stimmt. Ich wünschte nur, agile Evangelisten würden tatsächlich erkennen, dass ihre Methoden in dieser Hinsicht nicht besonders sind. Wenn Sie die falsche Annahme hinter sich lassen, dass Sie mit Agile Ihren Kuchen haben und ihn essen können, können Sie den richtigen Entwicklungsprozess für Ihr Projekt entwerfen, indem Sie auswählen, ob und wie viel "Agile" darin enthalten sein soll.
Christian Hackl
1
@ChristianHackl Keine Methode ist eine Silberkugel. Der Hauptpunkt von "agil" (ein weit gefasster Begriff) ist jedoch nicht, dass die erfolgreichen Lieferungen billiger / schneller werden sollten, sondern dass die Kosten für (unvermeidliche) Ausfälle niedrig gehalten werden.
Guran
3

Ich denke, das Problem in vielen agilen Lagern liegt in der Wortfrist. Das Risiko einer Frist besteht darin, dass Sie davon ausgehen, dass Sie wissen, was zu tun ist. Wie Sie betonen, können Sie keine Frist für ein Unbekanntes haben.

Was in Philipps Antwort beschrieben wird, ist weit weniger eine Frist als eine Einschränkung. Wir könnten sagen, dass wir bis März Finanzmittel haben und daher das bestmögliche Produkt in dieser Zeit herstellen müssen.

Um eine Analogie zu geben, nehmen wir an, ich bitte Sie, zur Lebensmittelgeschichte zu gehen und alle Lebensmittel für die Woche zu kaufen. Bevor Sie sich die Preise ansehen, möchte ich, dass Sie mir genau sagen, was Sie ausgeben werden. Außerdem werden Sie bestraft, wenn Sie sich irren. Sie werden genau das tun, was die Leute mit Projektfristen tun - Sie werden eine Zahl am oberen Ende des Bereichs auswählen, von dem Sie glauben, dass er liegt, weil er die geringste Wahrscheinlichkeit hat, dass Sie bestraft werden. Nehmen wir jetzt an, ich sage Ihnen, dass dies inakzeptabel ist und Sie müssen die gleichen Dinge kaufen, die Sie geplant haben, aber Sie müssen es für 50 Dollar billiger machen, oder sonst. Was können Sie jetzt tun? Sie können ablehnen, Sie können das Argument einfach verschieben, bis Sie einkaufen, oder Sie können einen Weg finden, die Situation zu betrügen. Dies geschieht in vielen Organisationen mit Fristen für Unbekannte.

Nun, da Agile sieht, wie ungesund diese ganze Situation ist, sagt er nur: "Wenn Sie ein Budget haben, kann ich Ihnen versprechen, darunter zu kommen, und werde Ihnen in dieser Einschränkung die bestmöglichen Mahlzeiten für diese Woche geben." Welches ist ein weitaus gesünderes Gespräch zu führen.

Daniel
quelle
Versprichst du das den Leuten? Was ist, wenn Sie sich irren und ein anderer Ansatz die Frist mit noch besseren Mahlzeiten einhalten würde?
Christian Hackl
1
Ähnliche Argumente über Agile und Fristen hier
Eric King
@Christian. Sicher. Zumindest ist es das Beste, was ich innerhalb dieser Einschränkung liefern kann. Vielleicht könnte es jemand anderes besser machen, oder wenn die Umstände anders wären, hätte ich eine bessere Lösung gefunden, aber diese Spekulationen scheinen nicht wertvoll zu sein. Insbesondere wenn man bedenkt, dass ich zu einem späteren Zeitpunkt im Projekt immer mehr Informationen habe, ist jede geschätzte Frist, die ich jetzt gebe, naturgemäß weniger informiert als alles, was ich Ihnen später sage.
Daniel
Natürlich handelt es sich um ein ziemlich komplexes Thema auf der StackExchange-Plattform, das nicht für die Behandlung breit gefächerter Themen ausgelegt ist. Ich versuchte meine Antwort kurz zu halten und konzentrierte mich darauf, die Plattform zu erfüllen. Es ist in der Tat ein sehr enger Abschnitt, und es kann viel über die robustere Natur der Softwareentwicklung und die Organisation des Entwicklungslebenszyklus gesagt werden.
Daniel
@ Daniel: Nun, ich lehne nur die Vorstellung ab, dass man einem Kunden ideale Ergebnisse verspricht , nur weil Sie glauben, dass Sie den besten Ansatz verwenden. Das ist nicht realistisch.
Christian Hackl
2

Agilität ist eine Technik, kein Ergebnis. Im Vergleich zum Rasenmähen entspricht eine Iteration einer Graslinie, die Sie gemäht haben. Wenn jemand sagt "Mähen Sie Ihren gesamten Rasen in 15 Minuten" und Sie agil verwenden, werden Sie am Ende vielleicht 30% fertigstellen. Dann werden Sie später noch etwas wiederholen und es beenden.

Dingo
quelle
2

Sie können problemlos einen geplanten Veröffentlichungstermin festlegen. Stellen Sie einfach sicher, dass Sie zu diesem bestimmten Zeitpunkt keine Verluste haben. Sie sollten ein Produkt haben, das am Ende jedes Sprints versendet werden kann, aber normalerweise wird kein Schaden angerichtet, wenn Sie dies nicht tun. Es ist eher ein Ziel, das die Arbeit fokussiert, als eine Anforderung. Wenn Sie ein geplantes Veröffentlichungsdatum haben, müssen Sie zu diesem Datum ein freigebbares Produkt haben.

Normalerweise streben Sie ein ungetestetes, aber hoffentlich freisetzbares Produkt einige Zeit vor dem geplanten Veröffentlichungsdatum an. Anschließend wird das Produkt getestet und Fehler behoben, bis die Qualitätsstandards erfüllt sind. Anschließend wird es ohne Panik veröffentlicht. Die Veröffentlichung enthält alles, was zu diesem Zeitpunkt fertig war.

Jetzt ist es für Ihren Chef möglicherweise nicht offensichtlich, dass Sie auch einen zweiten Veröffentlichungstermin planen sollten, wobei tatsächlich mehr Funktionen implementiert sind.

gnasher729
quelle