Wenn ich Scrum richtig verstehe, bestimme ich auf diese Weise, welche Arbeit mein Team im nächsten Sprint übernehmen kann:
Ich mittle die Anzahl der absolvierten Punkte für die letzten Sprints.
Diese Größe ist unsere Durchschnittsgeschwindigkeit. Im nächsten Sprint übernehmen wir so viele Story-Punkte.
Dies ist ein Durchschnitt . Wenn sich die Geschichte also wiederholt, ist es bei diesem Sprint zu 50% wahrscheinlich, dass wir zu wenige Story-Punkte annehmen, und zu 50% wahrscheinlich, dass wir zu viele Story-Punkte annehmen.
In dem Fall von 50% haben wir zu viele Handlungspunkte aufgegriffen, die wir könnten:
Der Sprint konnte nicht abgeschlossen werden. Dies bedeutet, dass wir unsere Sprintverpflichtung zur Hälfte nicht einhalten können.
Arbeite extra, um aufzuholen. Das Problem ist, dass diese Ratschen nur in eine Richtung funktionieren. Wir werden den Sprint schaffen und die Anzahl der absolvierten Story-Punkte wird dies widerspiegeln. Da wir mit der Zeit immer fertig sind, wird unser Durchschnitt nach oben tendieren, bis wir immer eine große Anzahl von Story-Punkten erreichen und lange bleiben.
Ist mein Verständnis der Durchschnittsgeschwindigkeit und der Sprint-Verpflichtungen korrekt?
Wenn ja, was sollten wir für die 50% der Sprints tun, bei denen wir hinter dem Durchschnitt liegen?
Wenn nicht, was habe ich falsch gemacht?
quelle
Antworten:
Ja, Sie haben das Wesentliche.
Das, was Sie übersehen haben, ist, dass Story Points die Dinge sind, die Sie erledigen . Es ist fast unmöglich, dass jeder bis zum Ende des Sprints an Geschichten arbeitet. Wenn Sie die Dinge richtig machen, werden die meisten Entwickler für ein paar Tage "untätig" sein, während die Geschichten getestet werden (und Ihre Tester mitten im Sprint, während die Entwicklung in vollem Gange ist).
Ich habe in Anführungszeichen gesetzt, dass Ihre Entwickler keine Katzenvideos ansehen, Fehler beheben, einige Code- / Komponententests verbessern, Dokumentation zu Prozessen hinzufügen und über das Design für Geschichten im Backlog nachdenken Andere Dutzende nützlicher Dinge, von denen ein Entwicklungsteam profitieren kann, die aber nicht gut in eine Story passen.
Während Sie also 50% der Zeit über- und 50% der Zeit unterbewerten, bedeutet dies nicht, dass Sie den Sprint nicht bestehen oder Überstunden machen müssen . Dies bedeutet, dass Sie nicht so viel Zeit haben, um diese verschiedenen Arbeiten auszuführen (es sei denn, Sie vermissen Ihre Schätzungen wirklich ). Aber das ist keine große Sache, da die sonstige Arbeit nicht zeitkritisch ist und die Dinge auf lange Sicht ausgeglichen werden.
quelle
Leider wurden Sie in Bezug auf die Sprint-Planung in Scrum in einigen Punkten falsch informiert. Erstens ist das Development Team (DT)
Das Wort dafür ist selbstorganisierend. Dies beinhaltet die Prognostizierung der Arbeit, die in einem bestimmten Sprint ausgeführt wird. Dem DT wird nicht gesagt, was er bei jedem Sprint tun wird, er kann vielmehr seine eigene Arbeit wählen. Der DT benötigt möglicherweise Informationen wie die historische Geschwindigkeit, ein gut ausgearbeitetes Product Backlog und die DT-Kapazität des nächsten Sprints, um eine Prognose zu erstellen. Letztendlich ist es die Entscheidung der DT, was in einem Sprint erreicht werden kann und was nicht, die sich in ihrer Prognose durchsetzen sollte. Ihnen sollte nicht gesagt werden, wie viel Arbeit sie tun werden.
Beachten Sie auch, Prognose und keine Verpflichtung. Das C-Wort wurde aus dem Scrum-Handbuch entfernt, weil es dazu verwendet wurde, das Entwicklungsteam zu missbrauchen. Prognose ist der bevorzugte Begriff.
In Bezug auf die Wahrscheinlichkeit, dass die Sprint-Prognose im unteren oder oberen Bereich verfehlt wird, sehe ich dies nicht als wichtig an. Irgendwann ergibt mehr Analyse keine bessere Genauigkeit, und ich denke, wir sind jetzt jenseits dieses Punktes.
Außerdem kann ein Sprint nur abgebrochen werden. es kann niemals scheitern. Ein Sprint wird nur annulliert, wenn das Ziel des Sprints völlig überholt und irrelevant wird. Dies ist sehr selten der Fall. Wenn eine Prognose falsch ist, bleiben Sie ruhig und machen Scrum an. Haben Sie eine Retrospektive. Im nächsten Sprint werden Ihre Prognosen besser sein :).
quelle
Erstens ist Ihre Geschwindigkeit von Ihrem vorherigen Sprint oder manchmal von einem Durchschnitt einiger kürzlicher Sprints (Wetter von gestern) und nicht von einem Durchschnitt aller vergangenen Sprints. Wenn Sie keine historischen Daten von Ihrem Team oder Unternehmen haben, müssen Sie natürlich einen vernünftigen Wert für Ihren ersten Sprint finden. Bei Ihrem zweiten Sprint nehmen Sie die abgeschlossenen Story Points in den Sprint auf. Wenn Sie es grafisch darstellen, sehen Sie möglicherweise Variationen über die ersten Sprints (z. B. 17 im ersten Sprint, 22 im zweiten, 26 im dritten und 24 im vierten Sprint). Dies ist zu erwarten, wenn Sie Ihren Teamwork- und Bewertungsprozess normalisieren und gleichzeitig ein besseres Verständnis für das Projekt (Technologie, Domäne) erlangen.
Das soll nicht heißen, dass Sie sich nicht anpassen. Wenn Sie beispielsweise eine Woche haben, die eine Urlaubswoche ist, müssen Sie den Feiertag berücksichtigen, an dem die Arbeit geschlossen ist. Wenn Sie wissen, dass Teammitglieder Urlaub machen, planen Sie, dass weniger Leute arbeiten. Natürlich passieren auch ungeplante Ereignisse, aber Sie können diese in einer Sprint-Retrospektive erklären und entscheiden, wie sich dies auf die Anzahl der Story-Punkte auswirkt, die Sie in den nächsten Sprint einbringen.
Was das angeht, unterscheidet sich "Sprint nicht beenden" von "Wir haben nicht alle Storys abgeschlossen". Für mich bedeutet ein Fehlschlag eines Sprints, dass Sie am Ende kein potenziell versandfähiges Produkt produziert haben - keine Ihrer Geschichten ist vollständig, Sie haben keinen Build, Sie können dem Kunden keinen Mehrwert nachweisen oder Benutzer.
Was auch immer Sie tun, Sie sollten im Laufe der Zeit nicht zu spät oder übermäßig arbeiten. Dies nennt man das nachhaltige Tempo ( Agile Alliance , Scrum Alliance ).
Die Indikatoren für mögliche Probleme sind:
quelle
Die agile Methodik variiert von Unternehmen zu Unternehmen. In einer Implementierung kann sie sich stark von der anderen unterscheiden. Ich habe unter Agile mit zwei Firmen gearbeitet. In der ersten Firma, in der ich war, nahmen sie ihre Messwerte ziemlich ernst, in der zweiten Firma überhaupt nicht. Also, soweit Sie wissen, achtet niemand auf Ihre Metriken.
Alles in allem hört es sich so an, als wären Sie besorgt darüber, ob Sie Ihre Sprintziele nicht erreichen oder was passiert, wenn Sie eine ungenaue Schätzung haben. Ich denke, diese Art von Besorgnis und Einstellung ist weit verbreitet, aber nicht besonders wichtig. Agile ist vor allem ein Software-Entwicklungssystem, das einige Dinge tut:
Am Ende des Tages, wenn Sie einen Sprint falsch einschätzen oder einen Sprint nicht bestehen, ist es nicht wirklich eine große Sache. Die Leute, die über Ihrem Team in Ihrem Unternehmen stehen, sind wahrscheinlich eher besorgt darüber, dass Ihr Team sich beständig bewegt, und Projekte werden zu ihrem logischen Abschluss gebracht.
Als Einzelperson unter Agile sollten Sie sich am meisten darum kümmern, wie viel Arbeit Sie in Bezug auf den Rest Ihres Teams effektiv erledigen. Wenn Sie neu sind, ist nicht zu erwarten, dass Sie zu produktiv sind, aber irgendwann in Ihrer Anstellungszeit sollten Sie mindestens mit einem Teil Ihres Teams mithalten können. Wenn Sie keine Arbeit ausgeben, erledigen Sie Ihre Arbeit nicht wirklich.
quelle
Ihre Durchschnittsgeschwindigkeit ist genau richtig. Nach meiner Erfahrung ist dies sehr nützlich für langfristige Schätzungen der Fertigstellung - vorausgesetzt, Sie haben einen großen Rückstand. aber nicht so nützlich für Sprint-Planungsverpflichtungen.
Der Prozess, den ich bei der Sprint-Planung verfolgt habe, besteht darin, die Storys aus dem Rückstand herauszuholen und das Team entscheiden zu lassen, ob sie diese erreichen können. Die Teams haben dies auf der Grundlage des Bauchgefühls, der Aufteilung auf Aufgaben von einem halben Tag, des Drucks durch den Product Owner, der Ausrichtung auf ein Sprintziel, der besten Vermutung (basierend auf der Geschwindigkeit) oder einer Kombination von allen entschieden.
Gelegentlich hat der Product Owner das Überspringen einiger Elemente zugelassen, damit weitere hinzugefügt werden können.
Manchmal vereinbaren das Team und der Produktbesitzer Stretch-Artikel im Voraus, um sie zu bearbeiten.
quelle
Dies ist eine ausgezeichnete Frage, und es ist sehr wichtig, dass sich die Teams verbessern. Das Thema täuscht und wird weitgehend missverstanden. Der ursprüngliche Zweck des Story-Pointings bestand darin, eine schnelle und akzeptabel genaue Methode zur Schätzung des Aufwands (Level of Effort, LOE) zu finden, der zur Vervollständigung der in Storys definierten Funktionen erforderlich ist. Das übergeordnete Ziel: Geben Sie den Teams eine Methode zur PROGNOSE oder Vorhersage, wie lange es dauern würde, eine Anstrengung (z. B. ein Projekt) abzuschließen. Dein Verständnis von Velocity ist richtig: Es werden die DURCHSCHNITTSPUNKTE pro Sprint abgeschlossen (wirklich FERTIG). Wenn Sie also ein Projekt liefern müssen und es 250 Punkte hat und Ihr Team durchschnittlich 25 Punkte pro Sprint erzielt, dauert das Projekt ungefähr 10 Sprints plus oder minus einer Pufferzeit.
Einige Leuchten wie Ken Schwaber schlagen vor, Geschwindigkeit und Punkte nur für mittel- bis langfristige Vorhersagen zu verwenden. Sie schlagen vor, die Arbeitsstunden als zweiten "Sanity Check" zu verwenden, um festzustellen, was in einem Sprint tatsächlich möglich ist. Die Anzahl der Punkte in jedem Sprint kann also je nach Kapazität variieren. Andere (einschließlich ich) glauben, dass sich ein ausgereiftes Team auf ein sehr konsistentes Größenmuster einlassen wird, mit dem die Kapazität genau vorhergesagt werden kann, und dass die Arbeitsstunden schließlich zu einer nutzlosen zusätzlichen Belastung werden. (Es ist wichtig, dass neue Teams mindestens 6 bis 12 Sprints absolvieren, bis das Team die Punkte und die Größe der Story richtig verstanden hat.)
Ihr erster kleiner Fehler ist, dass Sie sagten, das Team sollte die Geschwindigkeit kennen und so viele Story-Punkte einbringen. Tatsächlich ermutigen Trainer die Teams, 10% bis 20% abzuziehen und sich stattdessen * auf dieses Niveau zu verpflichten. Wenn Ihr Team also tendenziell 25 Punkte pro Sprint erreicht, füllen Sie den Sprint nicht auf 25 Punkte auf, sondern halten Sie bei 20 bis 22 Punkten an. Denken Sie daran: Es ist in Ordnung, Geschichten einzubringen, wenn die andere Arbeit erledigt ist. Sie können sich also auf 22 Punkte festlegen und 28 Punkte vervollständigen. Das ist großartig. Seien Sie einfach vorsichtig und ermutigen Sie das Team nicht, Sandsack zu machen und sich ständig zu engagieren. Es ist nichts Falsches daran, sich zu strecken, um zu sehen, ob wir mehr können.
Nun zu Ihrem Punkt über die Varianz zwischen Sprints. Es ist ein weit verbreitetes (aber NICHT OPTIMALES) Muster, ein Team zu sehen, das 20 Punkte bei einem Sprint, dann 50, dann 22, dann 45, dann 15 und dann 60 erreicht. Wenn Sie die Abweichung berechnen, können Schwankungen von 50% auftreten. zu 100% sprint nach sprint. Warum erreichen Teams in einem Sprint nur 15 Punkte und im nächsten 60?
Es könnte bedeuten, dass das Team wirklich nicht weiß, was es tun kann. (Hey, wir haben im letzten Sprint 50 Punkte geschafft, wir können es in diesem Sprint wieder tun).
ODER, es könnte darauf hindeuten, dass die Produktbesitzer das Team zu einer Überbeanspruchung zwingen oder nach dem Start des Sprints Arbeit hinzufügen. Dies sind nur einige der ANTI-MUSTER, die diesen wilden Schwung in den abgeschlossenen Punkten verursachen könnten.
Diese Vorhersagbarkeitsmaßnahme ist für Scrum-Meister wichtig, um sie zu beobachten und das Team darauf aufmerksam zu machen. Oft ist der Grund, warum sie in einem Sprint nur wenige Punkte und im nächsten Sprint viele Punkte erreicht haben, das, was ich als "ROLLING WAVE OF INCOMPLETE WORK" bezeichne. Hier ist ein sehr häufiges Muster:
Der Produktbesitzer steht unter dem Druck, einen Termin einzuhalten. Das Team hat also das Bedürfnis zu versuchen, eine Menge Arbeit zu erledigen. Sie beginnen als neues Team und sind sich nicht sicher, was sie tatsächlich erreichen können.
Also Sprint 1, sie planen den Sprint und können, da sie sich in der Formierungsphase befinden, nicht alle Arbeiten abschließen. In der Tat haben sie mehr unvollständige Arbeit als erledigte Arbeit. Die unvollständige Arbeit ist begonnen, aber unvollständig. Es wird zum nächsten Sprint verschoben, und diesmal haben sie mehr als unvollständige Arbeit geleistet. Beim nächsten Sprint fällt diese große Ladung unvollständiger Arbeit auf FERTIG und das Vertrauen des Teams steigt.
Der Produktbesitzer ist aufgeregt und erhöht seine Belastung erneut. Am Ende dieses Sprints haben sie eine RIESIGE Menge unvollständiger Arbeit und eine enttäuschende Menge erledigter Arbeit.
Hier sehen Sie die WAVES of Done vs Incomplete-Wechselsprint nach dem anderen. Wenn Teams nicht wissen, was passiert, kann dieses Muster noch Monate andauern. Im Durchschnitt erreichen sie jedoch rund 24 Punkte pro Sprint. Was passiert also, wenn sie mit der Überbindung aufhören?
Sie werden feststellen, dass sie immer noch 24 bis 26 Punkte erreichen, aber die Verschleppungsarbeit ist reduziert. Anstatt überfordert zu sein und zu versuchen, eine unmögliche Menge an Arbeit zu erledigen, die auch die Moral des Teams zerstört, kann das Team beginnen, seine Prozesse zu verbessern.
Im Laufe der Zeit wird die Geschwindigkeit zunehmen, ohne die großen Schwankungen bei Done-vs-Incomplete-Arbeiten.
Wenn Sie dem Team keine "Nachspielzeit" einräumen, haben sie NIEMALS Zeit für Arbeiten, die sie schlanker, schneller und besser machen. Dev-Ops zum Beispiel können nicht passieren. Testautomatisierung - Wer hat die Zeit dafür? Aber genau an diesen Dingen müssen Teams arbeiten, um die Geschwindigkeit zu erhöhen.
quelle