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?
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle