Einziger Rückstand. Mehrere Teams. Wie geht man mit Backlog Refinement um?

Hintergrund

Hallo zusammen, ich bin ein erfahrener SM, aber ich dachte, ich würde eine Lösung dafür von Gleichgesinnten finden. Das Projekt ist eine Migration im Unternehmensmaßstab in die Cloud mit über 500 Kunden, die mehr als 300 Anwendungen repräsentieren.

Das Backlog wird von einem einzelnen Product Owner (auch Cloud Technical Architect) betrieben, der von einem BA unterstützt wird.

  • Drei Mannschaften
  • Ein Rückstand
  • Jedes Team hat seine eigenen Stand-ups, Sprintplanungen und Retrospektiven
  • Wir haben eine gemeinsame Bewertung mit Kunden

Frage

Wenn es um einen einzelnen Backlog geht, der mehrere autonome Feature-Teams speist, was ist der beste Weg, um Backlog Refinement oder „Play Ready Workshops“ oder [generischen Namen für vorausschauende Aktivität einfügen] anzugehen?

Derzeit lädt die BA alle Entwickler aus allen Teams zu einer einzigen Refinement-Sitzung ein, um die Geschichten im Detail zu diskutieren. Die Entwickler haben sich zu Recht geweigert und 19 der 21 Entwickler haben einfach ihre Laptops geöffnet und wieder mit dem Programmieren begonnen.

Sie haben einen Ansatz gefordert, bei dem der BA Zeit damit verbringt, die Geschichte in 1-2-1-Sitzungen mit Entwicklern im Detail zu verstehen, und diese Geschichten nur zur Verfeinerungssitzung bringt, um zu sehen, ob sie für die Sprint-Planung in der nächsten Woche bereit sind. Die BA hat sich gegen diesen Ansatz gewehrt, da es 3 Verfeinerungssitzungen wären, in denen auch vorhergesagt wird, welches Team welche Geschichten aus dem Rückstand nimmt usw.

Der Product Owner ist mit der Durchführung technischer Bewertungen/Kommunikationen für die App-Migrationen überlastet und hat die Story-Vorbereitung an die BAs delegiert.

Sie befinden sich in einer Sackgasse und die Moral ist von einer Klippe gefallen. Als erfahrenster SM haben mir die anderen SM's diesen Krankenhauspass zur Lösung übergeben.

Außer Reichweite

Wir haben viele Probleme in dieser Lieferung gelöst, einschließlich operativer Übergabe, Definition of Done usw., also möchte ich diese nicht noch einmal aufwärmen.

Community, ich werde diese Frage wahrscheinlich schließen und löschen, da sie unter der gleichen Sache leidet, die die meisten agilen Fragen plagt; massive Scope-Inflation. Ich habe gefragt, wie man die Backlog-Verfeinerung verbessern kann, und stattdessen habe ich bereits zwei Antworten; Der eine sagt: „Scrap Scrum and go to Kanban“ und der andere: „Entlassen Sie Ihre Lösungsarchitekten und lassen Sie die Scrum-Teams die strategische Vision des Cloud-Programms und der Anwendungsmigrationen entscheiden.“ Während sie gut gemeint sind, sind sie tatsächlich Unsinn.
Warum haben sie sich genau geweigert, was war ihre Logik? Was war das Format der Verfeinerung (20 Leute saßen in einem Raum und hörten zu, wie PO und BA das Leben herausfinden)? Was fehlt in den Backlog-Elementen, dass die Verfeinerung als formelle Ereignisse und nicht kontinuierlich erfolgt (wie die meisten Open-Source-GitHub-Projekte – weist darauf hin, dass das Team kein Gefühl der Eigenverantwortung für die Arbeit hat)? Ich bin vielleicht verwirrt, aber der letzte Satz in der Sitzung scheint zu sagen, dass die BA vorhersagt, wer die Geschichten übernehmen wird?
Drei Teams mit einem Rückstand ist richtig. Was wahrscheinlich fehlt, ist das Integrationsteam (wenn Sie Nexus folgen) oder ein anderer Koordinationsmechanismus zwischen Feature-Teams. Es hört sich so an, als ob der BA die Ressourcenbeschränkung ist, aber wie Sie ihn lösen, hängt meiner Meinung nach mehr von der Organisationspolitik rund um die BA-Rolle ab als von allem anderen.
Ich werde keine Antwort geben, da ich nur ein einfacher Entwickler bin und nicht die Worte habe, um eine ganze Sache aufzuschreiben. Bei einem früheren Projekt von mir in einer ähnlichen Situation (1 BA, 20+ Entwickler aus 3 Teams) haben wir jedoch Vertreter zum Grooming-Meeting geschickt und alle stimmten zu, sich an das zu halten, was dort beschlossen wurde. In unserem Fall haben wir den Teamleiter und einen leitenden Entwickler aus jedem Entwicklerteam geschickt. Im Allgemeinen funktionierte dies, da unsere Leads/Seniors mit Autorität über jeden Teil der Codebasis sprechen konnten. Wenn Ihre Entwickler sehr spezialisiert sind, funktioniert dies möglicherweise nicht.
@ Vlad274 bescheidener Entwickler? Sei nicht albern. Ein toller Vorschlag. Danke schön.

Antworten (5)

Ich kann verstehen, warum die Entwickler sich geweigert haben, da der aktuelle Ansatz nicht konstruktiv klingt.

Ich sehe auch kein Problem mit ihrer Anfrage, da sie im Grunde darum bitten, die Geschichten mit den richtigen Teammitgliedern oder Untergruppen der gesamten Entwicklergruppe zu verfeinern.

Aus BA-Perspektive und nachdem ich die Rolle selbst gespielt habe, verstehe ich auch die Herausforderungen, mehrere Refinement-Meetings abzuhalten.

Zwei Vorschläge zu bieten++:

  • Überlegen Sie, wann Sie die Backlog-Grooming-Sitzungen abhalten. Die BA drängt zurück, weil das derzeitige Setup wahrscheinlich nicht genügend Zeit für die Verfeinerung zulässt
  • Behandeln Sie die Verfeinerung als einen kontinuierlichen Prozess; Es sollte nicht nötig sein, bis zum festgelegten Besprechungstermin zu warten, wenn etwas früher geklärt werden könnte (dies erfordert die Zusammenarbeit mit dem Scrum Master, sodass Unterbrechungen des aktuellen Sprints minimiert werden).

++ Die Vorschläge stammen aus diesem Artikel, siehe Option 3 und 4. http://www.romanpichler.com/blog/when-should-product-backlog-grooming-take-place/

Zunächst einmal gehe ich davon aus, dass diese Migration das einzige Projekt ist, an dem eines der Teams derzeit arbeiten muss.

Um eine Scrum-Mentalität aufrechtzuerhalten, müssen Sie „Epics“ finden, die in ihrer Gesamtheit von einem einzigen Scrum-Team bearbeitet werden können, und die Epics gleichmäßig auf die Teams verteilen, bis das Projekt geliefert wurde.

Wenn es absolut unmöglich ist, die Migrationsgeschichten in „Epics“ aufzuteilen, besteht die einzig vernünftige Option darin, alle Teams vom selben Board mit demselben Zeitplan zusammenarbeiten zu lassen. Andernfalls werden Sie das Geschäft in der Sprint-Verwaltung ertränken. Ich würde Scrum fallen lassen und von einem Kanban-Board aus arbeiten, wobei jeder Entwickler eine Aufgabe nach der anderen auswählt, bis das Projekt abgeschlossen ist.

Natürlich ist Ihr Unternehmen möglicherweise nicht damit einverstanden, die Scrum-Methodik fallen zu lassen.

Ich denke auch, dass Sie dem Projekt nicht genügend BA-Ressourcen zugewiesen haben. Ein BA kann nicht drei Scrum-Teams gleichzeitig unterstützen, und der BA wird zum limitierenden Faktor des Projekts. 1-2-1-Sitzungen mit dem BA könnten den Entwicklern gefallen, sind aber noch zeitaufwändiger als die einzelne Pflegesitzung. Es ist nicht erforderlich, dass jeder Entwickler an der Pflegesitzung teilnimmt, ein paar Vertreter jedes Teams sollten ausreichen, die ihr Wissen an den Rest weitergeben können.

+1 für den Hinweis, dass ein BA ein potenzieller Engpass ist
Danke Baracus, obwohl du versucht hast, ein Problem zu lösen, das ich nicht habe. Danke aber für deinen letzten Absatz.
+1, aber ich bezweifle ernsthaft, dass es weniger zeitaufwändig ist, 20 Personen in einem Meeting zu haben, als kleinere Pflegemeetings. Es mag den Anschein haben, dass kleinere Meetings mehr Zeit in Anspruch nehmen, aber sie wären viel effizientere Meetings. Letztendlich weniger Zeitaufwand für bessere Ergebnisse.

Wem gehören die Lösungen?

Bei Scrum besitzt das Team die Lösung. Sie erwähnen in der Frage, dass die PO viele technische Bewertungen durchführt. Ich gehe davon aus, dass die BA dann noch etwas mehr tut, um die Backlog Items vorzubereiten. Wenn das Team erwartet, nur einsatzbereite Lösungen zu erhalten, sollte es nicht überraschen, dass es keinen Wert darin sieht, Zeit in die Verfeinerung des Backlogs zu investieren.

Um das Problem zu lösen, sollte das Erste also sein, die Lösung wieder in die Hände des Entwicklerteams zu legen – lassen Sie es die technische Analyse durchführen und die Migrationen planen. Die PO sollte sich auf den Geschäftswert und die Priorisierung der Bemühungen konzentrieren.

Also zurück zur Backlog-Verfeinerung

Sobald Sie dies tun, wird die ganze Konversation viel einfacher. Ich habe bereits an einigen Cloud-Migrationsbemühungen gearbeitet und sie sind normalerweise ziemlich komplex. Diese Teams werden wahrscheinlich viel miteinander reden müssen. Wenn sie die Lösung besitzen, erwarte ich, dass sie zumindest einen Teil ihrer Backlog-Verfeinerung gemeinsam erledigen und dann einen Teil ihrer Arbeit zurück zu ihren einzelnen Teams bringen, um sie weiter zu verfeinern. LeSS bietet in diesem Fall eine mögliche Lösung ( https://less.works/less/framework/product-backlog-refinement.html )

Das ist nicht möglich. Ich weiß Ihre Antwort zu schätzen, aber Ihre Antwort ist eine massive Unternehmensumstrukturierung eines Programms mit über 200 Mitarbeitern.

Derzeit lädt die BA alle Entwickler aus allen Teams zu einer einzigen Refinement-Sitzung ein, um die Geschichten im Detail zu diskutieren. Die Entwickler haben sich zu Recht zurückgehalten und 19 der 21 Entwickler haben einfach ihre Laptops geöffnet und wieder mit dem Programmieren begonnen.

Wenn Sie ein paar mittelgroße Scrum-Teams haben, kann dies funktionieren. Bei größeren Teams wird dies sehr schwierig zu handhaben, selbst für erfahrene Scrum Master. Ich nehme an, diese Treffen dauern auch ewig?

Damit kann ich folgendes empfehlen:

  1. Lassen Sie jedes Team entscheiden, wer von seinem Team an den Refinement-Meetings teilnehmen wird. Dies kann und sollte sich von Zeit zu Zeit ändern. Auf diese Weise haben Sie weniger Teilnehmer und ein viel fokussierteres Meeting. Seien Sie vorsichtig, wenn die Teams einen Neuling nominieren, nur um die Lücke zu füllen.
  2. Stellen Sie sicher, dass diese Meetings während des Sprints nicht mehr als 10 % der Zeit der Teams in Anspruch nehmen
  3. Werden Sie kreativ und gestalten Sie Meetings mit vielen Teilnehmern unterhaltsam (nur in Fällen, in denen die meisten Entwickler anwesend sein müssen, um Feedback zu geben). Verwenden Sie vielleicht The Big Wall . Dies wird zur Schätzung verwendet, aber ich verstehe nicht, warum es nicht bei Verfeinerungen verwendet werden kann, wenn Sie beispielsweise abhängige Elemente in verschiedenen Ecken der Wand zusammengruppieren? Dadurch kann die Beteiligung gesteigert werden. Denken Sie daran, dass der Hauptzweck des Verfeinerungsmeetings darin besteht, die Abhängigkeit zwischen den Teams zu verringern. Sie können unklare/sehr große Probleme in einer anderen Ecke gruppieren, damit sie verfeinert werden können.

Ich gehe davon aus, dass sich das Unternehmen in einem Transformationsprozess befindet. Scrum teilweise implementiert, aber keine Verantwortlichkeiten und Produktkenntnisse an Scrum-Teams delegiert. Darüber hinaus ist dies offensichtlich nicht sofort möglich. Das bedeutet, dass wir Entwickler haben, die in der Lage sind, technische Aufgaben zu bewältigen, aber BA benötigen, um die Anforderungen zu verstehen.

Was hier schon gesagt wurde BA ist Flaschenhals und man braucht mehr BAs. Wenn wir nicht mehr BAs haben können, können wir vielleicht etwas mit 1on1-Sitzungen machen. Sie sind sehr effizient, weil wir keine Zeit mehrerer Personen verlieren, aber sie blockieren den Wissensaustausch. BA hat 1on1-Sitzungen und das bedeutet, dass später beim Grooming nur diese Person weiß, worum es geht. Ich würde empfehlen, 1on1s durch kleine Gruppen zu ersetzen, die an verwandten Themen arbeiten, um den Wissensaustausch zu verbessern. Wenn jede Gruppe mindestens eine Person aus jedem Scrum-Team hat, sollte dies das Verständnis der funktionalen Anforderungen in Teams verbessern. Wenn Teams besser verstehen und wissen, woran sie arbeiten, sollten sie engagierter sein.