Wie gehe ich mit einer viel zu langen Sprintplanung um?

14

Ich habe über 5 Stunden in der Sprintplanung für einen einwöchigen Sprint gebraucht. Das scheint zu viel.

Wir besprechen die Dinge in der Sprintplanung im Detail, da die meisten Teammitglieder nicht älter sind. Wenn wir dies nicht tun, führt dies zu Fehlern bei der Implementierung und zum Redesign während des Sprints.

Wie gehen wir damit um?

Wie viele Details sollte ich während der Planung besprechen, um sie auf eine Dauer von nur 2 Stunden pro Woche im Sprint anzupassen?

b.ben
quelle
2
Was genau machst du in der Sprint-Planung? Zerlegen Sie Geschichten, verfeinern Anforderungen, entwerfen, schätzen?
Liath
1
Danke, ich habe vergessen zu erzählen. Wir verbringen die meiste Zeit mit Design.
b.ben
1
Arbeiten Sie in einer separaten Besprechung am Backlog? Wir haben in der Regel einen Zeitraster von 1 Stunde pro Sprint und planen einen Sprint von 1 Stunde pro Sprint. Das hat für unsere zweiwöchigen Sprints gut funktioniert.
Berin Loritsch
4
@b.ben aber "Design" ist nicht Teil der Sprintplanung.
Thomas Junk
2
äh, wieso redest du bei der Sprint-Planung über die Implementierung? Bei der Sprintplanung geht es darum, was und nicht wie .
candied_orange

Antworten:

20

Sie haben Recht - 5 Stunden in der Sprint-Planung für einen einwöchigen Sprint scheinen eine lange Zeit zu sein. Das Scrum-Handbuch gibt an, dass die Sprint-Planung für 1-Monats-Sprints auf 8 Stunden begrenzt ist und dass "für kürzere Sprints das Ereignis normalerweise kürzer ist". Wenn Sie das Verhältnis berücksichtigen, kann ein gutes Ziel 2 Stunden Sprint Planning für einen einwöchigen Sprint sein, aber es gibt keine feste Zeitzone.

Wie können Sie eine lange Sprint-Planung angehen?

Als Scrum Master würde ich die folgenden Schritte ausführen:

Zunächst würde ich mit dem Product Owner zusammenarbeiten, um sicherzustellen, dass das Product Backlog ordnungsgemäß bestellt wurde. Effiziente Backlog-Verfeinerung und Sprint-Planung sind unerlässlich, um sicherzustellen, dass die wichtigsten Arbeiten und ihre Abhängigkeiten im Product Backlog an oberster Stelle stehen, damit das Scrum-Team seine Kräfte darauf konzentrieren kann, die richtigen Arbeiten zu definieren, zu verfeinern und vorzubereiten.

Zweitens würde ich sicherstellen, dass das Team genügend Zeit für die Backlog-Verfeinerung aufbringt. Der Scrum-Leitfaden gibt an, dass Verfeinerungsaktivitäten im Allgemeinen nicht mehr als 10% der Kapazität eines Entwicklungsteams beanspruchen. Ein 4-köpfiges Entwicklungsteam, das in einer 40-Stunden-Standardwoche arbeitet, sollte beispielsweise 16 Stunden Backlog-Verfeinerung einplanen. Dies kann einzeln, in kleinen Gruppen oder als Team erfolgen. Ich habe festgestellt, dass eine geplante Backlog-Verfeinerungssitzung für das Team und die anschließende Durchführung von Nachforschungen, Untersuchungen oder Planungen am besten funktionieren.

Stellen Sie drittens sicher, dass das Team erkennt, dass es in der Sprint-Planung nicht jedes Detail richtig machen muss. Ziel der Sprint-Planung ist es, einen Plan zur Erreichung der Sprint-Ziele zu erstellen. Versuchen Sie nicht, bei einer Sprint-Planungssitzung im Voraus große Designs zu entwerfen. Verstehen Sie, wie unterschiedliche Arbeiten in Abhängigkeiten und Ziele passen, und verwenden Sie die Zeit außerhalb der Sprint-Planungssitzungen mit den richtigen Personen, um das Design, die Implementierung und die Tests durchzuführen, die für die Ausführung der Arbeiten erforderlich sind.

Möglicherweise fallen mehr Schritte aus diesen heraus, aber dies wäre ein guter Ausgangspunkt.

Thomas Owens
quelle
3
Grundsätzlich wird das Team immer noch die gleiche Anzahl von Stunden in Besprechungen verbringen. Wir nennen sie einfach verschiedene Treffen. :) Es braucht das Nötigste, um die Dinge so aufzuschlüsseln, dass sich das Team wohlfühlt, die Arbeit einzuschätzen, und um unabhängig zu sein, wenn es darum geht, die Arbeit zu erledigen.
Greg Burghardt
5
@ GregBurghardt: OP schreibt, dass sie die meiste Zeit mit Design verbringen. Das gesamte Team arbeitet also an der Gestaltung jeder einzelnen Geschichte. Wenn Sie das aufteilen, sodass nur ein Teil des Teams an den jeweiligen Storys arbeitet, reduzieren Sie die Gesamtzeit, die Sie in Meetings verbringen.
Michael Borgwardt
Re: „stellen Sie sicher , dass das Team sich bewusst , dass sie nicht jedes Detail richtig in Sprint - Planung erhalten müssen“: Und, was noch wichtiger ist , stellen Sie sicher , dass es tatsächlich ist wahr , dass sie nicht jedes Detail richtig im Sprint Panning erhalten müssen .
Ruakh
@ GregBurghardt Vielleicht. Aber es gibt einen Unterschied zwischen dem 5-stündigen Aufenthalt des gesamten Teams in einem Raum und verschiedenen Kombinationen von Personen, die nach einer 2-stündigen Planungssitzung 3 Stunden lang keine Planungsarbeit leisten.
Thomas Owens
5

Ich höre dich. Das ist zu lange um es auszugeben! Hoffentlich diskutiert Ihr Team dies in Ihren Rückblicken. Wir haben mehrere Experimente mit gemischten Ergebnissen versucht:

  1. Jeder entwirft ein einzelnes Ticket auf hoher Ebene und übergibt es zur Überarbeitung links oder rechts am Tisch, gefolgt von einer Gruppenüberprüfung des Plans für jedes Ticket. Das gefiel nicht allen, aber es zwang unsere Junioren, es zu versuchen. Einige Einzelpersonen in Teams sind sehr glücklich, wenn sie es anderen überlassen, nachzudenken, und sie folgen einfach den Anweisungen. Positiv ist zu vermerken, dass unser Experiment alle dazu zwang, sich mit ihren Wissenslücken auseinanderzusetzen. Es stellte Junioren vor eine Herausforderung für das Wachstum. Negativ zu vermerken ist, dass nicht jeder gerne vor Ort ist und dass dies nicht unbedingt die Zeit für das Meeting verkürzt. Nächster!

  2. Es wurde versucht, gepaarte Entwürfe zu erstellen. Gruppen von zwei oder drei Personen würden ein Ticket in Aufgaben aufteilen. Das gesamte Team würde die daraus resultierenden Pläne überprüfen. Es ging viel schneller, aber einige Mini-Pods hatten das gleiche Problem, dass eine Person mitfuhr, während die andere die Arbeit am Design erledigte.

  3. Überspringen Sie die Aufgabenaufschlüsselung. Wir haben beschlossen, dass unsere Story-Punkte durchschnittlich sind, also haben wir nur Zeit verschwendet, um das gesamte Team in alles einzubeziehen. Infolgedessen hatten wir viel kürzere Planungstermine, aber die Designarbeit mussten unsere Paare selbst erledigen, als sie ein Ticket starteten. Wenn Junioren ein Ticket bearbeiten, müssen sie mit Hilfe rechnen, um diesen Schritt zu überwinden. Wenn Sie dies versuchen, akzeptieren Sie weniger Geschichten im Sprint, bis Sie sich damit vertraut gemacht haben. Stellen Sie außerdem sicher, dass es für Ihre Teamkollegen "sicher" ist, um Hilfe zu bitten, wenn sie etwas nicht wissen.

Am Ende kommt es auf die Teamreife an. Die Menschen müssen die Fähigkeiten und Vorlieben des anderen verstehen und darauf vertrauen, dass die Teamkollegen bei Bedarf um Input bitten. Repariere diese zuerst, wenn du sie nicht hast. Dann wird es einfacher, das Problem ineffizienter Besprechungen zu lösen.

Jason Zinschlag
quelle
4
Option 3 züchtet Teams, die auf eine einzelne Person oder eine kleine Gruppe von Personen angewiesen sind. Wenn diese Person oder Personen nicht in der Nähe sind, geht die Teamgeschwindigkeit direkt auf die Toilette. Ich habe das mit unserem Team gemacht, und jedes Mal, wenn diese Person in den Urlaub ging, kam es zu einem Chaos. Es wurde nichts getan. Anschließend hat der Teamleiter drei Wochen lang versucht, das Projektmanagement zu beruhigen. Wenn Sie in einem Team mit Junioren oder Nicht-Experten arbeiten, würde ich # 3 definitiv nicht empfehlen. Wenn Sie alle Experten haben (und sie sind tatsächlich Experten), kann # 3 Zeit sparen.
Greg Burghardt
Wenn diese Person nur die Aufgabe des Designs für alle erledigt, stimme ich zu. Aber was wäre, wenn diese Person den Menschen dabei helfen würde, es selbst besser zu machen?
Jason Zinschlag
2
Es war meine Erfahrung, dass sie nicht besser werden, wenn jemand sie durch die Dinge führt. Es verwandelt sich in die erfahrenen Leute, die es für die weniger erfahrenen tun, weil die weniger erfahrenen Größenordnungen länger brauchten. Wir hatten mehr Glück damit, alle im Raum zu sitzen und Entwickleraufgaben zu erledigen. Sogar Code durchgehen - aber nicht während der Sprintplanung. Wir nennen es "Entwicklertasks schreiben", weil unser Team dies benötigte. Dann fingen sie an, unabhängig zu werden und fingen an, Entwickleraufgaben besser und schneller zu schreiben.
Greg Burghardt
Ich bin froh, dass Ihr Team einen Weg gefunden hat. Glauben Sie, dass Ihre erfahrenen Teamkollegen den einfachen Ausweg genommen haben? Menschen zu unterrichten ist Kopfschmerzen, ich weiß. Aber es zahlt sich aus. Die meisten Leute haben nicht die Geduld dafür, und ich sehe genau, was Sie beschreiben - erfahrene Leute können leicht die Geduld mit dem Prozess verlieren und "es selbst tun". Außerdem müssen die Junioren gute Lerner sein.
Jason Zinschlag
@GregBurghardt Ich glaube, wir haben während der Sprintplanung so etwas wie "Entwickleraufgaben schreiben" gemacht. Und ich bin mir nicht sicher, ob es in Ordnung ist?
b.ben
3

Ich mag die Antwort, die Sie von @ Thomas-Owens erhalten haben, aber ich werde noch einen weiteren Artikel hinzufügen. Haben Sie im Rahmen Ihrer Agile-Implementierung überlegt, Pair Programming durchzuführen?

Die Paarprogrammierung würde dazu beitragen, (1) einigen Ihrer Junior-Programmierer das Schreiben von besserem Code beizubringen und (2) bei der Paarprogrammierung nicht immer jedes einzelne Designmerkmal für Sie in der Sprintplanung auszulegen. Wenn das Paar zusammenarbeitet, können einige dieser Entwurfsentscheidungen "spontan" mit den zusätzlichen Vorteilen der Paarprogrammierung getroffen werden.

Wenn Sie Ihren Junior-Programmierern dabei helfen können, schneller zu lernen, und Sie wissen, dass Designelemente, die Sie in Sprint Planning nicht angesprochen haben, von zwei Personen entschieden werden, gibt es keinen Grund, warum Sie die Zeit, die Sie in Sprint Planning verbringen, nicht reduzieren können zukünftige Sprintplanung

Unbekannter Coder
quelle
Ja, das wollte ich. Aber unser Team hat nicht genug Senioren, um das zu tun. Ich habe eine Idee, mit der alle Teammitglieder die Abstraktionen und Schnittstellen selbst schreiben können, bevor sie mit der Implementierung beginnen, lassen Sie ein Meeting abhalten, um eine Einigung zwischen allen Entwicklern zu erzielen. Was denkst du?
b.ben
1
@ b.ben Aber Ihr Team wird nie genug Senioren haben, bis Sie dies tun. Das ist ein Teil der Leistungsfähigkeit der Paarprogrammierung. Sie müssen sich dazu verpflichten.
Unknown Coder
1

Ich bin kein Scrum-Aficionado und habe nur ungefähr ein Jahr praktische Erfahrung. Das Folgende ist also mit einem Körnchen Salz zu lesen.

Ich sehe mehrere rote Fahnen in dem, was Sie schreiben:

5 Stunden Sprintplanung

Das ist viel zu lang für einen einwöchigen Sprint.

Ziel der Sprintplanung ist es, AFAIR zu

  • Ermöglichen Sie dem Team, die aktuellen Prioritäten zu kennen und
  • einen Schlachtplan für den bevorstehenden Sprint zu entwickeln.

Um dies effektiv zu tun, muss jede Seite das verstehen Product Backlog items.

Um das zu verstehen, muss der Product Backlog itemsRückstand in einem guten Zustand sein.

In der konkreten Planungsphase werden die Product Backlog itemsin umgewandelt Sprint Backlog items.

Eine mögliche Ursache ist, dass diese Punkte nicht ausreichend geklärt / verfeinert sind.

Eine weitere mögliche Ursache ist, dass die Elemente viel zu komplex sind und zu viel Interpretationsspielraum lassen.

In der Sprintplanung sehr detailliert diskutieren

Wie oben erwähnt, wird die Diskussionsphase kürzer sein, wenn die Punkte konkreter sind.

Zum anderen erwartet die Sprint-Planung von jedem Teilnehmer professionelles Verhalten. Dies schließt das Vermeiden von Bikeshedding- Diskussionen ein.

Vielleicht sind die Dinge klar, aber jemand beginnt eine Diskussion über Bikeshedding .

Mehr: Vermeiden Sie Diskussionen über Implementierungsdetails . Obwohl jede Idee irgendwann im Code landet, wird in der Sprint-Planung nicht diskutiert, ob ein einfaches Array den Trick macht oder ob es besser ist, eine verknüpfte Liste zu verwenden.

Da die meisten Teammitglieder nicht älter sind

Beim Scrum gibt es keinen Unterschied zwischen Senior und Junior . Beide sind nur Entwickler. Und dies ist ein guter Ausgangspunkt, mit dem Sie Ihre Diskussion auf eine tragfähige Lösung konzentrieren können, die auf den besseren Argumenten und nicht auf dem Gehaltsscheck beruht.

Fehler bei der Implementierung und Neugestaltung während des Sprints

Es scheint ein grundlegendes Problem bei der Erfassung von Anforderungen zu geben, gefolgt von einem sehr vagen Produktstau.

Wie ich oben sagte: Solange die Product Backlogin einem guten Zustand ist, sollte es schwer sein, den Punkt zu verfehlen.

Ich kann mir keine Situation vorstellen wie:

»Als User möchte ich eine Handvoll Kunden sehen!«

»Oh, du hast nicht jeden unserer 2 Millionen Kunden gemeint ?«

OTOH: Was bedeutet in diesem Zusammenhang Redesign ? Wenn ein Entwickler einen Algorithmus mit langsamer Leistung gewählt hat, ist das nächste Ziel klar: Wählen Sie einen Algorithmus mit besserer Leistung. Das ist aber kein "Redesign", das ist eine Optimierung.


Zu Ihren Hauptfragen:

Wie gehe ich damit um?

Es ist trivial zu erwähnen, aber ich mache es trotzdem: Vergiss nicht, dass du es mit Menschen zu tun hast .

Es ist sehr schwer, eine Gruppe unterschiedlicher Köpfe zu haben, die in der Lage sind, gemeinsame Konzepte zu teilen (wie in Rashomon ). Um dies effektiv zu bewältigen, verwenden Sie so viel Redundanz wie möglich in Ihrer Kommunikation: Erläutern Sie z. B. den Kontext des Elements ausführlich, auch wenn jeder "wissen" sollte, was zu tun ist. Stellen Sie Fragen, ob jeder das Thema eines bestimmten Artikels versteht.

Wenn Sie Planungspoker spielen , ist ein guter Indikator dafür, ob das Verständnis gut genug ist, dass Aufgaben niedrig bewertet werden. Niedrig bedeutet, dass geringe Komplexität leicht zu verstehen und schwer zu übersehen ist.

Ein Nebeneffekt des Iterierens ist, dass die Zahlen für bestimmte Aufgaben steigen (weil das Team ein Verständnis für seine Fähigkeiten und die verborgenen Komplexitäten hat). Dann besteht die Möglichkeit, den Artikel in mehrere weniger komplexe Artikel mit geringerer Komplexität zu zerlegen.

Wie viel Detail sollte ich während der Planung besprechen, um 2 Stunden pro Woche Sprint zu passen?

Salomonische Antwort: So wenig wie möglich und so viel wie nötig, aber nicht mehr.

tl; dr

  • Wählen Sie eine einfache Sprache (wenn es hilft, verwenden Sie einfaches Englisch oder ELI5), um Missverständnisse zu vermeiden

  • Verbessern Sie das Sammeln von Anforderungen

  • Backlog verbessern

  • Erhöhen Sie das Vertrauen der Teammitglieder in ihre individuellen Fähigkeiten sowie in ihre Fähigkeiten als Team

  • Vermeiden Sie Bikeshedding

  • Persönliche Disziplin verbessern

  • Verwenden Sie möglicherweise feste Timeboxen für jedes zu diskutierende Element

  • Stärken Sie die Position der scrum masterMäßigenden effektiv.

Thomas Junk
quelle
-2

Es ist uns gelungen, die Planungszeit für Besprechungen zu verkürzen, indem wir insgesamt drei Stunden in zweiwöchigen Sprints trainiert haben. Wir teilen die Pflege in vier Sitzungen auf. Wir pflegen 30 Minuten am Montag und 1 Stunde am Mittwoch jede Woche. Unsere Sprints beginnen am Montag und enden am Freitag. Als Ergebnis haben wir gute Informationen aus Pflege-Meetings, die als Input für die Planung dienen und diese verkürzen. Unsere beste Bilanz war ein 30-minütiges Planungstreffen in einem unserer Sprints. Meistens dauert es nicht länger als eine Stunde bis eine Stunde und 30 Minuten. Es ist sowieso immer noch Zeit zum Boxen, aber die Planung erfolgte sehr früh.

Zain2018
quelle