Wie gehe ich beim Abbrennen von Scrum-Aufgaben vor, wenn Aufgaben von mehreren Personen ausgeführt werden?

12

In meinem Unternehmen kann eine einzelne Aufgabe niemals von einer Person erledigt werden. Es wird für jede Aufgabe eine separate Person für die Qualitätssicherung und die Codeüberprüfung geben. Dies bedeutet, dass jeder Einzelne pro Aufgabe seine Schätzungen darüber abgibt, wie viel Zeit für die Ausführung benötigt wird.

Das Problem ist, wie soll ich mich dem Abbrennen nähern? Wenn ich die Stunden zusammenrechne, gehe ich von folgender Schätzung aus:

10 Uhr - Entwicklungszeit

4 Stunden - QA

4 Stunden - Code Review.

Aufgabenschätzung = 18 Stunden

Am Ende eines jeden Tages fordere ich Sie auf, die Aufgabe mit "wie viel Zeit bis zum Abschluss verbleibt" zu aktualisieren. Im Allgemeinen denkt jedoch jeder nur an seinen Teil davon. Sollten sie den verbleibenden Aufwand markieren und dann den geschätzten Aufwand hinzufügen? Wie macht ihr das?

AKTUALISIEREN

Um ein paar Dinge zu klären, werden in meiner Organisation für jede Aufgabe in einer Geschichte 3 Personen benötigt.

  1. Jemand, der die Aufgabe entwickelt. (Unit-Tests durchführen, ect ...)
  2. Ein QS-Spezialist zur Überprüfung der Aufgabe (sie führen hauptsächlich Integrations- und Regressionstests durch)
  3. Ein Techniker führt eine Codeüberprüfung durch.

Ich glaube nicht, dass es einen falschen oder einen richtigen Weg gibt, aber das ist unser Weg ... und das wird sich nicht ändern. Wir arbeiten als Team, um auch die kleinste Ebene einer Geschichte zu vervollständigen, wann immer dies möglich ist. Sie können nicht testen, ob etwas funktioniert, bis es vollständig entwickelt ist, und Sie können auch nicht die Qualität des Codes überprüfen. Das Beste, was Sie tun können, ist, die Dinge in kleine logische Segmente aufzuteilen, damit die Funktionalität mit dem absoluten Minimum getestet werden kann und so früh wie möglich überprüft.

Meine Frage an diejenigen, die auf diese Weise arbeiten, wäre, wie eine "Aufgabe" abgebrannt werden kann, wenn sie auf diese Weise eingerichtet werden. Es sei denn, eine Aufgabe hat eigene Unteraufgaben (die JIRA nicht zulässt) ... Ich bin mir nicht sicher, wie ich am besten nachverfolgen kann, was noch übrig ist.

AgileMan
quelle
8
Könnten Sie beschreiben, was Ihr Prozess ist? Wir verwenden in unserer Scrum-Planung niemals Stunden und melden niemals verbleibende Stunden. Aufgaben sind erledigt, wenn sie erledigt sind.
Dcaswell
1
@ user814064: Guter Punkt. Jedes Mal, wenn ich Teams gesehen habe, die jede Aufgabe bewertet haben, haben sie immer etwas falsch gemacht. Manchmal um den Faktor 1/10 und mehr.
Arseni Mourzenko
Dieser Prozess ist neu für mich. In der Vergangenheit haben wir die Aufgabe abgebrannt, als sie abgeschlossen war. Ich versuche jedoch, die Menschen zu ermutigen, besser abzuschätzen. Wir können auf unsere Schätzungen zurückblicken und sie mit unseren tatsächlichen vergleichen und hoffentlich daraus lernen. Es mag ein vergebliches Unterfangen sein, aber ich möchte, dass die Teams es für eine Weile versuchen.
AgileMan
Es ist schwer zu erklären, warum Sie dies nicht in den wenigen Zeichen tun sollten, die Sie hier eingeben dürfen. Das Schätzen ist genau das, was der Name schon sagt: Es ist vage, es ist eine Standardgröße und man kann es nicht auf eine sinnvolle, kostenwirksame und ausgewogene Art und Weise verbessern. Immerhin heißt es "schätzen", nicht "rechnen". Ich würde Ihnen raten, Neil Killicks Beiträge auf #NoEstimates zu lesen: neilkillick.com/2013/01/31/…
Stefan Billiet

Antworten:

14

Das sind 3 Aufgaben, keine.

Es mag ein Feature / eine Story sein, aber es sind drei Aufgaben. Eine einzelne Aufgabe kann von einer einzelnen Person in endlicher Zeit erledigt werden.

Steven A. Lowe
quelle
@ user814064: Das ist keine Annahme. Das OP listete Schätzungen für jede Aufgabe im Beitrag auf
Steven A. Lowe
Ich hätte genauer sein sollen ... das ist BEREITS auf der Aufgabenebene. Beispielsweise muss JEDE Aufgabe (das kleine Stück der Geschichte) entwickelt, getestet und überprüft werden. Auch wenn die Aufgabe von einer einzelnen Person erledigt wurde ... werden andere Zeit darauf verwenden, ihre Fertigstellung sicherzustellen. Ich nehme an, Sie können jeder Aufgabe ihre eigenen Aufgaben zuweisen ... aber ich bin mir nicht sicher, wie das funktionieren würde.
AgileMan
3
@AgileMan: In einer vernünftigen Welt ist eine Aufgabe eine einzelne Arbeitseinheit, die von einer Person ausgeführt werden kann, und drei Aufgaben in Serie von drei verschiedenen Personen sind ein Projekt. In der Scrum-Welt ist es dasselbe. (zB www.scrumalliance.org/community/articles/2007/march/glossary-of-scrum-terms#1129). Story-1-dev, Story-1-QA-Review und Story-1-Code-Review sind drei verschiedene Aufgaben. Wenn Sie dreiteilige Aufgaben modellieren müssen, sind möglicherweise drei verschiedene Burndown-Diagramme angebracht;)
Steven A. Lowe,
Wenn dies auf Aufgabenebene erforderlich ist, müssen Sie wirklich an Ihrer Definition von erledigt arbeiten und Ihre Aufgaben aufschlüsseln. Es sollte ein einfaches Ja / Nein sein, um zu wissen, ob eine Aufgabe abgeschlossen ist, nicht ein Prozess durch mehrere Personen.
SpoonerNZ
7

TL; DR

Sie verwenden den Abbrand auf verschiedene Arten falsch. Aufgaben und Geschichten werden entweder erledigt oder nicht erledigt. Indem Sie versuchen, Abweichungen von zeitbasierten Planungsschätzungen in Ihrem Abbrand zu verfolgen, schätzen Sie Ihren Zeitplan tatsächlich neu, anstatt das verbleibende Arbeitsprodukt zu schätzen.

In Scrum sollten Sie den Fortschritt in Richtung eines Sprint-Ziels messen, anstatt den Zeitrahmen des Sprints zu messen. Dadurch bleibt der Fokus eher auf der Teamkapazität und der Bereitstellung von Funktionen als auf kontinuierlichen Planungsanpassungen.

Aufgaben vs. Geschichten

Sie verschmelzen Aufgaben und Geschichten. Geschichten umfassen alle Aufgaben, die erforderlich sind, um die Geschichte gemäß der "Definition of done" Ihres Teams zu vervollständigen. Die Geschichte wird zu 100% als unvollständig angesehen, es sei denn, alle ihre Aufgaben sind erledigt. In Scrum werden Geschichten immer auf irgendeine Weise geschätzt. Am häufigsten werden sie in Story-Punkten geschätzt.

Die Aufgaben sind die Schritte oder Meilensteine, die zur Vervollständigung der Geschichte erforderlich sind. Während jede Aufgabe Abhängigkeiten und Voraussetzungen haben kann, können Sie sicher sagen, dass die Codeüberprüfung unabhängig von den anderen Aufgaben abgeschlossen ist oder nicht.

Abbrennen

In Scrum zeigt Ihr Burndown-Diagramm den für den Sprint oder das Projekt verbleibenden Arbeitsaufwand an. Echte Burn-Down-Charts haben oft Hochebenen. In einigen Fällen kann der Graph sogar ansteigen. Beispiel: Bei einem einwöchigen Sprint mit zwei Storys mit 3 und 5 Punkten sehen Ihre Datenpunkte möglicherweise folgendermaßen aus:

Mon | Tue | Wed | Thu | Fri
--- | --- | --- | --- | ---
 8  |  5  |  5  |  5  |  0

In diesem idealistischen Szenario beginnen Sie mit 8 Story-Punkten. Die 3-Punkte-Story wurde am Dienstagnachmittag fertiggestellt, während die 5-Punkte-Story erst am Freitag fertiggestellt wurde. Die Story-Punkte werden erst vom Abbrand abgezogen, wenn die Story die Definition von erledigt erfüllt hat. Wenn Sie statt Story Points ideale Stunden verwenden, ändert sich nur Ihre Skalierung.

Zeitboxen

Die allgemein anerkannte Vorgehensweise besteht darin, sicherzustellen, dass Ihre Aufgaben zwischen einem halben Tag und zwei Tagen in mundgerechte Stücke zerlegt werden. Abweichungen von mehr als einem Tag sollten sich aus den täglichen Stand-ups oder dem Sprint Backlog ergeben. Es sollte keine Notwendigkeit bestehen, einen formellen Status-Pull durchzuführen.

Sie können auch eine statistische Analyse des Abbranddiagramms durchführen, um festzustellen, ob Ihr Sprint die richtige Tendenz aufweist. Kleine Abweichungen oder Plateaus sind normal, aber wenn niemand Blocker in den täglichen Stand-ups auslöst, aber Ihr Abbrand festzustecken scheint, ist dies im Allgemeinen ein Zeichen dafür, dass das Sprint-Backlog falsch eingeschätzt wurde oder dass es "unsichtbare Arbeit" gibt muss in Ihrem Prozess explizit gemacht werden.

CodeGnome
quelle
Ich glaube nicht, dass wir uns völlig einig sind. Sicher, das Burndown-Diagramm misst den Fortschritt in Richtung eines Sprint-Ziels. Im Allgemeinen können Sie festlegen, ob eine Story nach Abschluss der Arbeiten zu 100% abgebrannt werden soll, oder ob Sie jeden Tag mehrere Stunden pro Story verbrennen möchten, während die Arbeit abgeschlossen ist. Ich versuche letzteres zu tun ... aber ich finde es schwierig für die Teams zu tun. Ich habe das Gefühl, dass Ihr Beitrag von der Frage abweicht, die ich ursprünglich gestellt habe.
AgileMan
eines der risiken,
wenn eine aufgabe
1
@ AgileMan Sie finden es "eine Herausforderung für die Teams", weil Sie das Falsche messen. Sie können natürlich jede Methode anwenden, die für Sie und Ihr Team funktioniert, aber ich stehe zu der Aussage, dass das Messen der ursprünglichen Schätzungen - der verstrichenen Zeit - nicht das Gleiche ist wie das Messen des verbleibenden Arbeitsprodukts. Tun Sie, was auch immer für Ihr Projekt funktioniert, aber haben Sie keine Angst, die Annahmen in Frage zu stellen, die Ihre aktuellen Metriken stützen.
CodeGnome
@CodeGnome. Hier ist eine einfache Fehlkommunikation im Gange. Ich versuche nicht, "verstrichene Zeit" zu verfolgen. Ich versuche die "verbleibende Zeit" zu bestimmen. Wann wird diese Aufgabe erledigt? Das ist alles, was ich zu bestimmen versuche. Da jedoch selbst die kleinste Aufgabe (im Allgemeinen) mehrere Personen umfasst, besteht die Herausforderung darin, zu bestimmen, was auf einfache und unkomplizierte Weise übrig bleibt.
AgileMan
4

Können Sie die Entwicklungsaufgabe als "erledigt" definieren, bevor die Qualitätssicherung ihren Teil dazu beiträgt? Können Sie die Codeüberprüfung als "erledigt" definieren, bevor die Entwicklung abgeschlossen ist? Kann die Qualitätssicherung durchgeführt werden, wenn die Überprüfung von Entwickler und Code nicht erfolgt?

Ich würde sagen, dass Sie die drei Elemente zu einer einzigen Aufgabe zusammenfassen und die drei Personen gemeinsam daran arbeiten sollten.

Scrum sagt NICHT, dass ein Gegenstand in der Verantwortung eines Teammitglieds liegt. Ganz im Gegenteil - Sprint Log Items liegen in der Verantwortung des TEAMs. Wenn es drei Leute braucht, um eine Aufgabe auszuführen, dann ist es das, was es braucht.

Matthew Flynn
quelle
Ich habe einige Zweifel an diesem Vorschlag. Für mich ist ein Entwickler Aufgabe kann vor QA und Code - Review durchgeführt werden, aber Code - Review und QA (die für sich einzelne Aufgaben) sind höchstwahrscheinlich neue dev Aufgaben erzeugen , die „abgebrannt“ einzeln werden kann. Natürlich, wenn "Aufgabe" "eine vollständige User Story implementieren" bedeutet, dann haben Sie Recht, aber warum soll die Aufgabe so grob sein?
Doc Brown
@ DocBrown - Ich habe es in beide Richtungen getan. Ich habe festgestellt, dass die Aussage, dass eine Aufgabe erledigt ist, wenn sie nicht verifiziert wurde (Überprüfung und Test), sich nicht als nützlich erwiesen hat, um den Fortschritt zu verfolgen. Indem Sie jedem den Haken zum Abschließen der Aufgabe geben, bleibt die Dringlichkeit für alle Beteiligten erhalten.
Matthew Flynn
Offensichtlich wird nichts "getan", bis es den DoD-Prozess durchlaufen hat. Es kann jedoch zu einem Punkt kommen, an dem es von Vorteil sein kann, von anderen Parteien überprüft zu werden. Nach dem derzeitigen Stand fasse ich alle für jede kleine Aufgabe erforderlichen "Arbeiten" zu einer Gesamtstunde zusammen, wie Sie bereits erwähnt haben. Die Herausforderung ist, wenn eine Person versucht zu melden, was noch übrig ist, muss sie in der Regel ihren Teil davon erklären und dann die Schätzungen der anderen Personen hinzufügen ... es ist also eine Menge Arbeit. Ich habe das Gefühl, dass es einen besseren Weg gibt.
AgileMan
3

Es spielt keine Rolle. Solange es für alle Storys relativ konsistent ist, funktioniert Ihr Burndown-Diagramm in beide Richtungen. Verwenden Sie die für Ihr Team naheliegendste Methode zur Berichterstellung.

Mein Team macht tatsächlich eine Art Hybrid, wenn auch nicht nach formeller Vereinbarung. Wir rechnen mit 16 Stunden, wenn wir glauben, dass eine Aufgabe zwei Tage dauert, aber wenn zwei Personen gemeinsam daran arbeiten, ändern wir das nicht.

Nach der ersten Schätzung ist unser Team informell zu mehr als einem Prozent fertig als noch eine Stunde. Wenn wir ursprünglich dachten, dass es zwei Tage dauern würde, aber nach einem Tag denken wir, dass es nur 25% vollständig ist, nehmen wir 4 der ursprünglichen 16 Stunden frei. Damit verbleiben 12 Stunden, wobei wir technisch gesehen 24 Stunden veranschlagen, da wir für die verbleibenden 3 Tage wahrscheinlich 4 Stunden abziehen werden.

Das hat mich als Scrum-Master anfangs geärgert, aber seltsam, wie es scheint, ist es eine sehr natürliche Art, Schätzungen vorzunehmen, weil Entwickler es wirklich hassen, einer Schätzung Stunden hinzuzufügen. Es ist alles ein Durchschnitt, um den Burndown immer noch nützlich zu machen, und das ist es, was wichtig ist.

Karl Bielefeldt
quelle
2

Die verbleibende Zeit der Aufgabe spielt keine Rolle: Es kann nichts geliefert werden, bis die ganze Geschichte fertig ist.

Wenn Sie nachverfolgen möchten, wie viel Zeit (insgesamt) in einer Story verbleibt, indem Sie die verbleibende Zeit für Aufgaben eingeben, teilen Sie die Aufgaben nach Personen auf.

Das gesagt:

  • Große Aufgaben könnten ein Hinweis darauf sein, dass Ihre Geschichten zu groß sind. In diesem Fall besteht die beste Lösung darin, den Umfang und die Größe von Storys zu reduzieren. Wenn Sie die verbleibende Zeit für Aufgaben ausreichend reduzieren, spielt dies keine Rolle mehr (entweder erledigt oder nicht - Summe der Schätzungen für nicht erledigte Aufgaben) ist granular genug).
  • SCRUM ermutigt alle, sich anzueignen, was getan werden muss. Wenn Sie Personen Aufgaben zuweisen (im Gegensatz zu Rollen), verhindern Sie möglicherweise, dass Sie eine Story liefern, auch wenn der Entwickler nichts tut - weil die Qualitätssicherung zu eng ist.
ptyx
quelle
-1

Teilen Sie die Aufgabe in mehrere Aufgaben auf und geben Sie sie als Aufgaben ein, bei denen jede von einer anderen Person erledigt wird.

Ursprüngliche Aufgabe: Etwas reparieren

Neue Aufgaben: (Kind des Elternteils der ursprünglichen Aufgabe)

  • Dev A - Behebung des Problems
  • Dev B - Hilfe für Dev A bei der Behebung des Problems (z. B. Paarprogrammierung, Codeüberprüfung)
  • Dev A - dev testet den Fix mit Dataset X
  • Dev B - dev testet den Fix mit Dataset Y
Asim Ghaffar
quelle
Frage besagt , dass Teilaufgaben sind nicht erlaubt
gnat
Ich meinte nie Unteraufgabe per se .. Ich meine, brechen Sie die Aufgabe in Aufgaben und machen Sie sie alle zum Kind einer Geschichte oder eines Fehlers .. Ich werde meine Antwort umformulieren ..
Asim Ghaffar
Gut, es so zu brechen, wie Sie es beschreiben, wurde bereits in mindestens zwei vorherigen Antworten vorgeschlagen und erklärt (die in diesem Moment am besten bewertet wurden): "Das sind 3 Aufgaben, nicht eine ..." "Sie bringen Aufgaben und Geschichten in Einklang ..."
gnat