In Scrum, wie mit Konflikten / Arbeitsbelastung am Ende des Sprints umgegangen wird

9

Mein Team hat vor einigen Sprints angefangen, Scrum zu verwenden. Unser Projekt umfasst die Erstellung von Software-Schnittstellen zu physischen Geräten (z. B. Roboter und Sensoren). Unser typischer Produktstau besteht normalerweise darin, dem gesamten System Steuergeräte hinzuzufügen.

Wir haben die Aufgabe in der Nähe des Beispiels hier aufgeteilt . Jede Geräteintegrationsfunktion ist in Code, Tests, Integrationstests, Peer Review usw. unterteilt. Offensichtlich gibt es für jedes Product Backlog-Element eine eigene Reihenfolge. Normalerweise dauern unsere Sprints 2 Wochen und das Team hat zwischen 4 und 6 Mitglieder.

Am Ende der Sprints treten zwei Probleme auf:

  • Das erste ist , alle am Ende des Sprints zu beschäftigen.
  • Die zweite (verwandte) ist die Auseinandersetzung mit dem System. Wir haben uns in den letzten Tagen des Sprints so ziemlich integriert. Wir haben nur ein Integrationssystem, daher werden Mitarbeiter häufig daran gehindert, an ihrer Aufgabe weiterzuarbeiten, weil sie nicht auf das System zugreifen können. Da dies das Ende des Sprints ist, bleibt im Sprint-Backlog nicht mehr viel zu tun. Woran sollen diese Leute arbeiten? Das Abholen von Artikeln oben im Produkt-Backlog wird vom Product Owner nicht gut angenommen, da die aktuellen Artikel nicht fertig sind. Die Arbeit an technischen Schulden wird dem gesamten Projekt helfen, aber nicht dazu beitragen, den Sprint abzuschließen.

Gibt es Best Practices für die Strukturierung von Sprints, um diese Probleme zu vermeiden? Tipps für Verhandlungen mit Produktbesitzern?

Vincent Hubert
quelle
7
Der Ausdruck "Kontinuierliche Integration" fällt mir ein.
Robert Harvey
1
Kontinuierliche Integration ist das, was das Integrationssystem selbst erledigt, sobald Integratoren jedes Gerät integriert haben. Leider ist es bei unserem Setup nicht so einfach wie das Einchecken des Codes. Wir müssen physische Verbindungen mit Motoren und E / A-Karten einrichten und was nicht. Sicherzustellen, dass Ihr neues Gerät in der CI-Umgebung ausgeführt wird, ist eine Aufgabe selbst, und diese Aufgabe verursacht Konflikte. Interessanterweise ist es ein ziemlich trivialer Prozess, alles, was sich auf dem CI-System befindet, auf die reale Maschine zu übertragen - um zu beweisen, dass sich CI lohnt.
Vincent Hubert
2
Warum müssen Sie auf das eigentliche Integrationsgerät warten? Haben Sie keine Simulatoren (zumindest funktionsfähig, wenn nicht vollständig), mit denen Sie mindestens grundlegende Tests und die Integration der Software durchführen können, bevor Sie auf Hardware umsteigen?
Thomas Owens

Antworten:

6

In mancher Hinsicht ist es gut, dass Sie am Ende eines Sprints langsam sind. Das bedeutet, dass Sie gut einschätzen und sich nicht zu sehr auf Scrum-Teams festlegen, an denen ich gearbeitet habe. Wir haben immer Forschungsaufgaben für die nächsten Schritte hinzugefügt Sprint.

Dies kann ein Beweis für Konzepte für bevorstehende Dinge sein oder ein Blick darauf, wo vorhandener Code neu faktorisiert werden kann, um eine bessere Testabdeckung für Ihren Code zu erzielen usw.

Bob der Hausmeister
quelle
2
Das Beheben von Fehlern war eine weitere Aufgabe, die uns am Ende des Sprints beschäftigte.
Sjoerd
5

Sie sollten Ihr Integrationssystem reparieren, damit Ihr Team seine Arbeit integrieren kann, sobald jede Aufgabe abgeschlossen ist, anstatt auf einen Urknall am Ende des Sprints zu warten.

Ich empfehle, mit User Stories zu arbeiten, die kurz genug sind, um in wenigen Tagen fertig zu sein. Hier bedeutet Code vollständig, getestet und integriert.

Martin Wickman
quelle
2
Tatsächlich kann die Integration jederzeit auf dem System erfolgen. Das Problem ist, dass es nichts zu integrieren gibt, bevor sich die Aufgaben in der Integrationsphase befinden, und die meisten erreichen diese Phase gegen Ende des Sprints, daher Streit.
Vincent Hubert
1
Scheint, als würde meine Empfehlung, Ihre Aufgaben zu verkürzen, hier helfen, nein?
Martin Wickman
4

Denken Sie daran, dass es in der Verantwortung des gesamten Teams liegt, nicht einzelne Mitglieder per se zu liefern. Es ist möglich, dass alle vier bis sechs Mitglieder ZUSAMMEN an jeder Aufgabe arbeiten - schieben Sie jedes einzelne durch den Prozess und fahren Sie mit dem nächsten fort. Dies mag zunächst ineffizient klingen, aber wenn die festgestellten Engpässe so schlimm sind, ist dies möglicherweise eine gültige Option.

Vielleicht möchten Sie auch die Theorie der Einschränkungen (Goldratt's The Goal ) untersuchen und herausfinden, wie Sie am besten analysieren können, warum und wo Sie diese Integrationsengpässe haben.

Matthew Flynn
quelle
3

Wir haben dies mit dem Kanban-Ansatz angegangen.

Wir haben Warteschlangen in unserer Tracking-Software (Jira) mit Minimum und Maximum.

Wir pflegen 'nach Bedarf'. Könnte einmal pro Woche sein, könnte dreimal sein, hängt von den Grenzen und der Arbeit ab, die erledigt wird.

Dies hilft Ihnen dabei, den Product Owner darauf zu konzentrieren, Ihre Warteschlange mit viel zu tun zu halten, und kann das Mikromanagement einzelner Tickets reduzieren. Denken Sie daran, dass Änderungen wie immer Zeit brauchen werden.

Wir testen immer noch alle zwei Wochen und veröffentlichen wöchentlich.

Michael Durrant
quelle
2

Wow, wenn du nicht Roboter sagen würdest, würde ich annehmen, dass du gerade in meinem Team bist. Wir haben das genauegleiche Reihe von Problemen. Nachdem ich an zahlreichen agilen Projekten mit unterschiedlichem Treue zum Manifest und unterschiedlichem Erfolg gearbeitet habe, ist meine Analyse, dass unser Problem darin besteht, dass Sprints zu kurz sind. Wir machen zweiwöchige Sprints, was einige Probleme verursacht. Eine davon ist, dass wir bei der Planung übervorsichtig sind und am Ende häufig tote Tage haben. Zweitens wird die große Menge an Überprüfungen, Rückblicken und Planungen belauscht, die alle zwei Wochen 1-2 Tage in Anspruch nehmen. Ein weiterer Grund ist, wie Sie sagten, die Integration in letzter Minute und häufig fehlgeschlagene Stunden vor der Überprüfung. Mein erstes und erfolgreichstes agiles Projekt hatte vierwöchige Sprints, die meiner Meinung nach für Industriestandards ziemlich groß sind, aber für uns hat es großartig funktioniert.

EDIT: Ich erinnere mich noch an eine Sache aus diesem ersten Projekt, die ein Segen war. Wir hatten immer ein vollständig priorisiertes Produkt-Backlog und gaben Entwicklern die Freiheit, Aufgaben daraus zu übernehmen, wenn ihre Sprint-Aufgaben abgeschlossen waren und keine anderen Sprint-Aufgaben verfügbar waren.

jiggy
quelle
"viel belauscht von Rückblick, Rückblick und Planung" - Wenn Sie der Meinung sind, dass der Rückblick so belastend ist, müssen Sie dies nicht für jeden Sprint tun. Die Planung sollte nur von dem abhängen, was Sie planen, sollte also bei längeren Sprints nicht weniger sein.
Sleske
0

Das zweite Problem ist wahrscheinlich eine Folge des Versuchs, das Nicht-Problem Nr. 1 zu beheben. Sie sollten Leute, die nicht beschäftigt sind, dazu bringen, ihren Kollegen zu helfen. anstatt an Nicht-Sprint-Aufgaben zu arbeiten, die zu Konflikten über die eingeschränkte Integration führen.

Außerdem sollten Sie am Ende des Sprints nicht integrieren, sondern kontinuierlich.

Bruno Guardia
quelle
0

Du fängst gerade erst an. Geben Sie den Teams die Möglichkeit, dieses Problem im Nachhinein selbst anzugehen.

Zweitens sollte Ihr Product Owner darauf vertrauen, dass das Team am besten weiß, wie es sich organisiert und optimiert. Im Gegenzug vertraut das Team darauf, dass die Bestellung am besten weiß, was der Kunde benötigt.

Dies sind sehr häufige Herausforderungen bei neuen agilen Teams. Schön zu sehen, wann ein Team anfängt, seine eigenen Silos aufzubrechen und zu wachsen.

Kris Van Bael
quelle