Entspricht eine Zeitschätzung einem Versprechen in Scrum?

10

Wenn eine Schätzung kein Versprechen ist, wie kann ich als Produktbesitzer meine Projekte liefern, ohne zu wissen, wie lange es dauern wird?

Arbeitet ein Scrum-Team effizienter, wenn wir Zeitschätzungen als Versprechen betrachten?

Wie viel Forschung (Vorbereitung, Anstrengung, um das Problem zu verstehen) in einer Geschichte reicht aus, um die richtige Schätzung zu erhalten?

Was ist mit unerwarteten technischen Problemen (Probleme, die Ihre anfänglichen Schätzungen wirklich durcheinander bringen können), die auftreten, nachdem Sie Ihre Arbeit geschätzt haben?

daehaai
quelle
Haben Sie Ihren ScrumMaster gefragt, bevor Sie hier gefragt haben? Weil es so klingt, als hättest du es nicht. Das Vertrauen in Ihren SM hat möglicherweise bessere Auswirkungen auf Ihr Projekt als die Beantwortung dieser Fragen.
Xsace
Die Frage ist, eine Vorstellung von der Sicht auf Personen außerhalb des Teams zu bekommen. Ich habe nicht gesagt, dass dies ein Problem mit unserem Ansatz ist. Ich habe versucht, mich in die Lage der Product Owners zu versetzen. Ich habe über Schätzung gelesen! = Versprechen und dachte, wenn es nicht ist, wie messen Sie dann? Zu Ihrer Information diskutieren wir. :)
Daehaai

Antworten:

15

Schätzungen sind keine in Stein gemeißelten Versprechen. Sie sind die beste Vermutung, die das Team über die zur Erledigung der Aufgabe / Geschichte erforderlichen Anstrengungen machen kann.

Als Antwort auf Ihre Frage "Wie kann ich als Product Owner meine Projekte ohne Zeit als Referenz liefern?" Lautet die Antwort, dass Sie Zeit als Referenz haben können und sollten (dh Sie werden sie zu einem bestimmten Zeitpunkt veröffentlichen). Was Sie nicht haben, ist der genaue Umfang, der in der Lieferung sein wird.

Beachten Sie, dass , was ich sagte gilt für jeden und jede Methode Sie Ihre Entwicklung verwenden für den Antrieb. Der Unterschied zwischen Scrum und anderen Methoden (wie Waterfall) besteht darin, dass diese Tatsache in Scrum anerkannt und berücksichtigt wird. Was Sie als PO tun werden, ist, Ihren Umfang zu priorisieren und sicherzustellen, dass das Team zu jedem Zeitpunkt:

  1. Arbeiten an der wichtigsten (sprich: wertvollen) nicht gelieferten Funktion (Aufgabe, Anforderung, User Story)
  2. Hat alle Funktionen, die wichtiger sind als die, an denen sie gerade arbeiten, erfolgreich abgeschlossen (dies bezieht sich auf die Definition von "Fertig" : Jede abgeschlossene Story wird getestet, akzeptiert, fehlerfrei und ist vollständig).

Mit dieser Funktion können Sie jetzt im Handumdrehen versenden oder liefern, da Sie wissen, dass der neueste Build zu jedem Zeitpunkt das beste Produkt ist, das versendet werden kann. Dies bedeutet, dass Sie zum Zeitpunkt Ihrer ursprünglichen Veröffentlichungsverpflichtung das bestmögliche Produkt liefern.

Dies verspricht natürlich nicht, dass es sich um jede Geschichte handelt, die Sie vom Team zur Entwicklung angefordert haben, aber Sie wissen, dass die verbleibenden unvollständigen natürlich die am wenigsten wichtigen sind, die zu einem späteren Zeitpunkt leicht geliefert werden könnten.

Außerdem werden die vom Team vorgenommenen Schätzungen immer besser, sodass Sie frühzeitig eine genaue Vorstellung davon haben, wie weit der Umfang am Ende der Veröffentlichung gehen wird. Sie können ein gutes, solides Produkt pünktlich mit einigen zusätzlichen, weniger wichtigen Funktionen einige Wochen später versenden (Sie können natürlich abschätzen, wann dies der Fall sein wird).

Was den Forschungsaufwand betrifft, so gibt es hier ein Gesetz zur Verringerung der Rendite. Wenn Sie Ihre Geschichten klein genug aufteilen, sollte Ihnen ein wenig Recherche eine hinreichend genaue Einschätzung geben. Wenn Sie sie falsch verstanden haben, werden Sie sie im nächsten Sprint ändern und die Schätzungen werden besser sein. In durchschnittlich 3-4 Sprints sollten Sie eine gute Vorstellung davon haben, wie viel Umfang bis zum Stichtag geliefert werden kann (oder wie lange es dauern wird, bis der Umfang abgeschlossen ist).

Assaf Stein
quelle
5

Wenn Sie Story-Punkte in Scrum schätzen, sollten Sie genug wissen, um mit dem Schreiben der Funktion beginnen zu können. Es wird nicht erwartet, dass die Schätzung vollständig genau ist. Der springende Punkt bei agilen Entwicklungsmethoden ist, dass sie erkennen, dass Sie nicht genau vorhersagen können, wie lange die Entwicklung dauern wird.

Die Phase , in der Sie machen ein Engagement für die Bereitstellung, wenn Sie die Geschichten aus dem Product Backlog in einen Sprint akzeptieren. Sie versprechen, diese Geschichten im Sprint zu liefern.

Wenn Sie diese Verpflichtung eingehen, bedeutet dies, dass Sie bereit sind, einige zusätzliche Stunden zu arbeiten, wenn es so aussieht, als würden Sie Ihr Versprechen nicht einhalten. In Wirklichkeit werden einige Geschichten länger dauern als Sie gedacht haben und andere weniger Zeit als Sie gedacht haben.

Wenn das Team genug geschätzt hat, werden sie es besser machen.

Vielleicht möchten Sie auch ...

The Clean Coder (Buch) - In diesem Buch gibt es ein Kapitel mit dem Titel "Die Sprache des Engagements" und ein Kapitel über das Schätzen, das wirklich die Augen öffnet.

Kanban - Kanban ist eher ein Pull-Stil der Laufentwicklung - es gibt auch Kombinationen von Scrum und Kanban namens "Scrumban", die sich auf beide Ideen stützen.

Fenton
quelle
"Wenn Sie diese Verpflichtung eingehen, bedeutet dies, dass Sie bereit sind, einige zusätzliche Stunden zu verbringen ..." Auf keinen Fall. Diese Interpretation des Wortes Verpflichtung ist genau der Grund, warum das Wort aus Scrum entfernt wurde . Wenn Sie feststellen, dass Sie möglicherweise nicht die Fertigstellung aller ausgewählten Elemente prognostizieren, sprechen Sie mit der Bestellung und erstellen Sie einen neuen Plan. Vorschläge wie diese sind der Grund für den endlosen Zyklus, eine höhere Geschwindigkeit als Ziel an und für sich zu unterschätzen und auf eine höhere Geschwindigkeit zu drängen.
Ryan Cromwell
@ RyanCromwell - das ist der Unterschied zwischen einer Schätzung und einer Verpflichtung. Wenn Sie Dinge schätzen, sollte es ein Verständnis dafür geben, dass sie mehr oder weniger Zeit in Anspruch nehmen. Wenn Sie sich dazu verpflichten, eine Arbeit zu erledigen, sollten Sie verstehen, dass es um Ihren beruflichen Ruf geht.
Fenton
2

Nein.

Die Summe aller Schätzungen für jede abgeschlossene Aufgabe in einem Sprint wird als Geschwindigkeit bezeichnet . Die Geschwindigkeit ist definiert als "Anzahl der abgeschlossenen Punkte pro Sprint", wobei "Punkt" die Einheit ist, in der Ihr Team schätzt.

Die Geschwindigkeit zeigt Ihnen also, wie viel Ihr Team im nächsten Sprint produzieren kann, vorausgesetzt, es verwendet dieselbe Schätzmethode und das Team ist stabil usw.

Auf diese Weise können Sie ganz sicher sein, was das Team leisten kann, ohne zufällige Versprechungen machen zu müssen.

Martin Wickman
quelle
1

Aufwandsschätzungen sind ein Werkzeug für die Prognose. Eine Prognose ist weder eine Verpflichtung noch eine Garantie. Prognosen werden kontinuierlich neu bewertet, um neuen Erkenntnissen Rechnung zu tragen, und sollten mögliche Alternativen wie optimistische und pessimistische Variationen enthalten.

Wir freuen uns auf Agile. Verpflichtungen sind für die Organisationsplanung nicht wertvoller als Prognosen.

Ich kann Mike Cohns Agile Estimating and Planning nur empfehlen

Ryan Cromwell
quelle
1

Wenn eine Schätzung kein Versprechen ist, wie kann ich als Produktbesitzer meine Projekte liefern, ohne zu wissen, wie lange es dauern wird?

Sie arbeiten nicht mit einer großen Schätzung, sondern mit vielen kleinen Schätzungen auf Story-Ebene. Viele der Schätzfehler auf Story-Ebene sind durchschnittlich. Sie können nicht sowohl Inhalt als auch Datum versprechen. Sie können jedoch ziemlich sicher sein, dass der obere Teil des Rückstands in einer Veröffentlichung angezeigt wird (alternativ können Sie ein ziemlich genaues, aber nicht festes Datum festlegen, zu dem der gesamte Rückstand geliefert werden kann).

Arbeitet ein Scrum-Team effizienter, wenn wir Zeitschätzungen als Versprechen betrachten?

Nein. Das führt zu Sandbagging-Schätzungen und verwandelt Geschwindigkeits- / Burndown-Diagramme in nutzlose Daten - was verhindert, dass sich das Team verbessert.

Wie viel Forschung (Vorbereitung, Anstrengung, um das Problem zu verstehen) in einer Geschichte reicht aus, um die richtige Schätzung zu erhalten?

Kommt darauf an, wie sehr dir die Präzision am Herzen liegt. Sie können Wochen damit verbringen, jede Schätzung sorgfältig vorzubereiten, oder schnell gute Schätzungen nach Treu und Glauben abgeben und hoffen, dass Fehler durchschnittlich werden. Der erste Weg besteht darin, sich auf einen Fehler vorzubereiten, da es sehr schwierig ist, etwas zu schätzen, was Sie zuvor noch nicht getan haben, und bei der Softwareentwicklung dreht sich alles um Dinge, die Sie zuvor noch nicht getan haben.

Persönlich glaube ich nicht, dass es von großem Vorteil ist, sehr genaue Schätzungen zu erhalten. Ich versuche sicherzustellen, dass die Schätzungen genau genug sind - dh dass ich nichts verpasst habe, was dazu führen könnte, dass eine Geschichte um eine Größenordnung von ihrer Schätzung abweicht. (Siehe nächster Punkt).

Was ist mit unerwarteten technischen Problemen (Probleme, die Ihre anfänglichen Schätzungen wirklich durcheinander bringen können), die auftreten, nachdem Sie Ihre Arbeit geschätzt haben?

Kleine Iterationen. Bestellter Rückstand. Kleine Geschichten. Das gefährliche Zeug ist das, was du nicht weißt, dass du es nicht weißt. Mangelndes Fachwissen zu einem Problem führt zu schlechten Schätzungen. Sie können sich jedoch anpassen, indem Sie entweder Fachwissen erwerben (mehr Ausarbeitung) oder Schätzungen vornehmen, die gut genug sind - es geht nur um Risikomanagement.

ptyx
quelle
1

Wenn eine Schätzung kein Versprechen ist, wie kann ich als Produktbesitzer meine Projekte liefern, ohne zu wissen, wie lange es dauern wird?

Dies ist eines der größten Missverständnisse über Scrum. Die Frage "Wie lange dauert mein Projekt?" Es wird davon ausgegangen, dass Sie zu einem bestimmten Zeitpunkt genau definieren können, was das Projekt zum Abschluss bringen wird. Die ganze Idee von Scrum ist jedoch, dass anerkannt wird, dass die Dinge, die Sie über ein Projekt lernen, während Sie an dem Projekt arbeiten, die Definition des Projekts ändern werden.

Die häufigste Methode zum Definieren eines Projekts besteht darin, die Funktionen aufzulisten, über die es verfügen wird. In der Regel wird ein Projekt abgeschlossen, wenn alle Funktionen implementiert wurden. Aber was ist, wenn Sie bei der Arbeit an einem Projekt feststellen, dass 5 der zu Beginn identifizierten Funktionen nicht benötigt werden, aber es gibt 7 Funktionen, an die die Leute in den ersten 6 Monaten gedacht haben und die wirklich enthalten sein sollten? Was bedeutet das für die Frage, wie lange es dauern wird?

Ein weiterer Faktor ist, dass die Dinge, die Sie lernen, Ihr Verständnis für die Implementierung bestimmter Funktionen ändern. Wenn Sie sich der Implementierung der einzelnen Funktionen nähern, werden sich Ihre Schätzungen ändern. Persönlich würde ich es ablehnen, numerische Schätzungen für alles vorzunehmen, was sich nicht dem Horizont der Implementierung nähert - vielleicht mit beschreibenden Schätzungen wie "winzig", "klein", "mittel", "groß" und "riesig" oder "episch". Dann implizieren Sie keine höhere Genauigkeit, als Sie schätzen können.

Ehrlich gesagt, "Wie lange wird es dauern?", Ist nicht mehr zu beantworten als "Was wird es sein, wenn es fertig ist?". Buchhalter und traditionelle Geschäftsleute hassen dies, weshalb es in einigen Organisationen sehr schwierig ist, sich von Waterfall zu entfernen.

Es ist auch der Grund, warum Sie viel über Geschwindigkeit und Metriken mit einem Körnchen Salz sprechen müssen. In Softwareprojekten ist eine Art Heisenberg-Unsicherheitsprinzip integriert. Wenn Sie zu viel Zeit mit der Feinabstimmung von Messungen verbringen, erhalten Sie nur äußerst präzisen Unsinn.

Also nein, eine Schätzung ist kein Versprechen. Es ist eine Schätzung. Das "Versprechen" ist die Verpflichtung des Teams, eine bestimmte Anzahl von Features oder Storys in einem bestimmten Sprint zu vervollständigen.

Die Schätzungen müssen gerade genau genug sein, damit das Team erkennen kann, wie viele Funktionen (oder Geschichten) sie in einen Sprint passen. Noch wichtiger als die Genauigkeit der Schätzungen ist die Konsistenz, da das Team erfährt, wie viel Arbeit an Schätzungen in einen Sprint passen kann, selbst wenn sich herausstellt, dass die tatsächliche Arbeit normalerweise doppelt so hoch ist wie geschätzt. Solange es durchgehend ausgeschaltet ist, können sie planen.

Dave
quelle