Der Sprint-Gegenstand dauert länger als erwartet. Was sollen wir machen?

11

Was sollen wir tun, wenn ein Element in Scrum länger dauert als erwartet? Ich frage dies, weil ich bemerkt habe, dass Entwickler Schwierigkeiten haben, es fertigzustellen, da es viel schwieriger ist als ursprünglich angenommen.

In einer solchen Situation sollten wir

  • Entfernen Sie den Artikel aus dem Sprint zurück in den Produktkatalog, damit wir die Sprint-Zeitachse einhalten können.
  • Wechseln Sie zu einem einfacheren Sprint-Element und lassen Sie den problematischen Sprint bis zum Ende der Zeitleiste
  • Begründen Sie bei der Sprint-Überprüfung, warum der Artikel beim aktuellen Sprint für die Stakeholder nicht fertiggestellt werden kann.

Wie können wir eine solche Situation in Zukunft vermeiden? Liegt es an mangelnder Vorausplanung oder haben wir uns nicht bemüht, den Sprint-Gegenstand in einen kleineren Gegenstand zu zerlegen?

CliffC
quelle
1
Was sollen wir machen? Wir sollten darüber nachdenken.
Rwong
4
Wir sollten darüber nachdenken und darüber sprechen .
Bryan Oakley
1
Wir sollten darüber nachdenken, darüber sprechen und entscheiden, was wir für zukünftige Schätzungen ändern sollten .
Michael Durrant
Element definieren .. ist es eine Aufgabe oder ein Produkt-Backlog-Element wie User Story.
Asim Ghaffar

Antworten:

14

Mit "Gegenstand" meinen Sie vermutlich "Aufgabe".

Planungsoptimismus in Software ist so alt wie Software selbst. Das Gute an Scrum ist, dass Sie sich demnächst stellen und es sichtbar machen: Aus diesem Grund basiert die Geschwindigkeit des Teams auf vergangenen Daten und nicht auf zukünftigen Schätzungen.

Um eine Geschichte zu vervollständigen, müssen Sie auch die Aufgaben erledigen, die viel schwieriger als erwartet ausfallen. Keine Entschuldigung, sie zu verschieben. (Deshalb ist die Definition von Done so wichtig). Wenn das bedeutet, dass das Team eine Geschichte nicht schafft, dann schade, dass Sie in Ihrer nächsten Retrospektive etwas zu besprechen haben. Die Geschwindigkeit wird sinken (realistischer werden) und das Team wird lernen, bessere Schätzungen vorzunehmen oder mehr Sicherheitsspielraum für unvorhergesehene Aufgaben zu lassen. Der Product Owner erhält eine realistischere Sicht auf seine Release-Planung.

Kris Van Bael
quelle
Ich würde nicht "dann schade" sagen. Es ist nicht schlecht, es sind nur Daten, die das Team in der nächsten Planungssitzung verwenden kann.
Bryan Oakley
12

Was sollen wir tun, wenn ein Element in Scrum länger dauert als erwartet?

Angenommen, mit Artikel meinen Sie Story, dann setzen Sie sie am Ende des Sprints normalerweise wieder in das Product Backlog ein (und planen sie wahrscheinlich für die nächste Iteration). Das Team erhält dafür in der aktuellen Iteration null Punkte.

Eine andere Alternative, wenn die Geschichte groß genug ist, besteht darin, sie vertikal zu schneiden . Beispielsweise kann die Story "Produktkatalogsuche" möglicherweise in "Suche nach Kategorie" und "Volltextsuche" unterteilt werden, nicht jedoch in "Suchform" und "Suchergebnisse".

Wie können wir eine solche Situation in Zukunft vermeiden?

Darauf gibt es keine einfache direkte Antwort. In Scrum führen Sie bei jeder Iteration Sprint-Retrospektiven durch, bei denen Sie diese Art von Dingen normalerweise mit dem Team besprechen. Es gibt viele verschiedene Möglichkeiten:

  • Das Team oder einige Teammitglieder haben eine schlechte Woche
  • Ihre Team-Pipelines arbeiten horizontal (z. B. Backend-> Frontend-> QA).
  • Die Geschichten sind versehentlich zu groß
  • Das Team "vergoldet" die Geschichten, indem es zusätzliche Arbeit hinzufügt, die für die Fertigstellung der Geschichte nicht unbedingt erforderlich ist.
  • Die Geschichten sind sehr groß in der Natur, man braucht längere Sprints (unwahrscheinlich)
  • Das Team schätzt Geschichten ungenau (inkohärent)
  • Das Projekt hat eine Menge technischer Schulden / fauler Code und Ihre Geschwindigkeit ist zu niedrig
  • Sie messen und schätzen Ihre Sprintkapazität nicht richtig (oder überhaupt nicht).

usw. usw.

Sklivvz
quelle
4

Sie sagen, Sie werden es nicht beenden, aber das ist nicht schlecht, das sind nur Daten.

"Meet the Sprint Timeline" ist kein Ziel. Ihr Ziel ist es, User Stories zu vervollständigen. Die Zeitleiste ist nur ein Hilfsmittel, mit dem Sie messen und lernen können, wie viel Arbeit Sie in einem Sprint leisten können.

Wenn Sie sicher sind, dass Sie die Arbeit im Sprint nicht beenden können, besteht eine Lösung darin, sie an den unteren Rand der Prioritätenliste zu verschieben und zuerst an den anderen Storys im Sprint zu arbeiten. Mit der verbleibenden Zeit können Sie dann mit der Arbeit beginnen. Schätzen Sie die Arbeit für den nächsten Sprint neu und beenden Sie sie dann.

Stellen Sie in Ihrer Retrospektive sicher, dass Sie besprechen, was schief gelaufen ist, damit Sie Ihre Schätzungen in Zukunft verbessern können.

Bryan Oakley
quelle
Das OP fragt nicht , was in Bezug auf Entwicklung oder Lieferung zu tun ist. Was er fragt, ist, wie diese Situation in der Methodik widergespiegelt werden kann. Die Antwort "Es sind nur Daten" ist also keine Antwort auf die Frage.
Sklivvz
@sklivvz: Ich nehme an, aber mein Punkt ist, dass Sie nichts Besonderes tun sollten, um es in der Methodik widerzuspiegeln - es spiegelt sich bereits wider, weil die Geschichte nicht abgeschlossen ist. Das ist alles (IMHO), was getan werden muss. Bei Scrum geht es nicht darum, spezielle Regeln für besondere Umstände zu haben. Verfolgen Sie einfach die Daten so wie sie sind und verwenden Sie die Daten, um in Zukunft besser planen zu können.
Bryan Oakley
2

Wenn eine Aufgabe länger dauert als erwartet, sollte dies im Nachhinein angesprochen und diskutiert werden. Gab es ein Stück, das in der frühen Analyse übersehen wurde? War das etwas, was das Team noch nicht oft gemacht hatte? Es gibt viele mögliche Gründe, warum etwas länger dauern kann als ursprünglich angenommen.

Das Team sollte versuchen, die Aufgabe so gut wie möglich zu erledigen, und dann im Nachhinein Strategien darüber in der Zukunft diskutieren. Wenn das Team noch nicht mit Scrum vertraut ist, kann dies Teil der Ermittlung der Anfangsgeschwindigkeit des Teams sein. Einige Teams denken möglicherweise, dass sie 20 Punkte und einige Teams 60 Punkte erzielen können. Der Punkt ist, wie konstant die gleiche Anzahl von Punkten pro Sprint erzielt werden kann.

Dies wird in Zukunft geschehen, da das Team jedes Mal, wenn es neue Aufgaben hat, die es noch nicht erledigt hat, einige Zeit benötigt, um die Probleme bei der Erstellung von Schätzungen zu lösen. Dies ist Teil des Lernprozesses, der eigentlich nicht so überraschend sein sollte.

JB King
quelle
1

Was wir normalerweise in unserem Unternehmen tun, wenn eine Aufgabe länger als erwartet dauert, ist die Aufteilung in kleinere Aufgaben.

Auf diese Weise geben wir dem Entwickler nicht die Schuld, zu langsam zu sein, aber wir erkennen auch an, dass die Aufgabe falsch entworfen wurde.

Eine andere Möglichkeit könnte darin bestehen, die Aufgabe einem anderen Mitglied Ihres Entwicklungsteams zuzuweisen, um zu vermeiden, dass sich Ihr später Entwickler in ein Loch gräbt. Und wenn die Aufgabe wirklich kritisch ist, könnten einige XP die Lösung sein.

JJP
quelle