So verwalten Sie Product Backlog / User Stories

8

Wir sind dabei, ein neues Projekt mit Agile (mit TFS) zu starten, und ich habe einige "Good Practice" -Fragen zum Produkt-Backlog: -

Wenn wir zum ersten Mal Benutzergeschichten hinzufügen, ist es eine gute Idee, sie in eine "Backlog" -Iteration einzufügen oder einfach ihre Iteration leer zu lassen? Wenn die Zeit für den Beginn der Arbeit an einem US-Bundesstaat gekommen ist, wird dies offensichtlich in den entsprechenden Iterationsstau verschoben.

Wenn ich ein Epos in kleinere US-amerikanische Teile zerlege, würde ich dann einfach das ursprüngliche Epos schließen, da es nicht mehr benötigt wird? Oder sollte ich die neuen USA als Kinder des Epos erschaffen? (Es liegt dann in der Verantwortung von jemandem, das Epos zu schließen, sobald alle US-Kinder fertig sind).

Sollte das Product Backlog alle US-Bundesstaaten unabhängig vom Status auflisten oder nur diejenigen, die noch nicht gestartet wurden (dh in meiner vorgeschlagenen "Backlog" -Iteration)?

Mir ist klar, dass diese Fragen nicht Leben oder Tod sind, aber es wäre schön zu wissen, wie andere Leute ihre Produktrückstände verwalten, damit wir die Dinge von Anfang an richtig organisieren können.

Andrew Stephens
quelle

Antworten:

6

Ich bin nicht mit TFS vertraut (ist das ein Software-Tool?), Aber ich kann Ihnen einige Antworten geben, die auf Schwarber basieren.


1. Story-Container

Es gibt nur zwei Container mit Storys, an die Sie jemals denken sollten, den Product Backlog und den Sprint Backlog. Mit Software-Tools zum Verfolgen von Scrum können Sie möglicherweise alte Sprint-Backlogs für die historische Analyse beibehalten. Dies ist in Ordnung. Sie müssen jedoch ein altes Sprint-Backlog schließen (dh sicherstellen, dass alles darin abgeschlossen oder verschoben ist), bevor Sie Arbeiten am Scrum ausführen nächster Sprint-Rückstand.

Manchmal besteht die Tendenz, den Rückstand des nächsten Sprints in einem Software-Tool zu erstellen, während er sich noch im aktuellen Sprint befindet. Mach das nicht. Wenn dieser zukünftige Sprint-Rückstand vorhanden ist, werden die Leute versuchen, Geschichten darin zu platzieren. Dies stört den ordnungsgemäßen Planungsprozess, führt zu Spannungen und verwirrt Planungsprobleme.

Wenn Sie die richtigen Grenzen zwischen Ihren Sprints nicht einhalten, führen Sie im Wesentlichen mehrere ähnliche Sprints aus. Sie sind Multitasking. Zumindest wird Sie der Aufwand für das Wechseln von Aufgaben verlangsamen. Untersuchungen zeigen, dass ein vollständiger Kontextwechsel beim Menschen von Puzzle A zu Puzzle B 15 Minuten dauert. Meine Erfahrung zeigt, dass dieser Widerstand 50% oder mehr Ihrer Produktivität betragen kann.

2. Epen

Behalte deine Epen bei dir. Jemand hat nach dieser Funktion gefragt, sie werden wahrscheinlich zurückkommen und den Status des Epos wissen wollen. Diese Person, Abteilung oder dieser Kunde wird an die 'Geschichte' denken, die sie eingereicht haben und die jetzt zum Epos befördert wurde. Sie werden nicht über die kleineren Geschichten nachdenken und möglicherweise nicht einmal erkennen, dass die Geschichte Foo mit ihrer Anfrage zusammenhängt. Das Epos ist ein praktischer Griff für die Kommunikation zwischen Entwicklung und Kunde.

Da die Epen nicht an sich selbst bearbeitet werden, sondern nur an den zugehörigen Geschichten, werden die Epen direkt von Ihrem Produkt-Backlog auf Ihren fertigen Stapel verschoben.

3. Wohin gehen die Geschichten?

Eine Geschichte sollte sich jeweils nur in einem Container befinden. Es sollte im Produkt-Backlog beginnen, in ein Sprint-Backlog verschoben und dann beendet werden. Wenn jemand im Product Backlog nach seiner Story sucht und sie nicht findet, muss dies bedeuten, dass sie in Bearbeitung ist oder abgeschlossen ist.

4. Letzte Gedanken zur Verwaltung eines tiefen Produktstaus

Eine Reihenfolge mit erzwungener Rangfolge wird ziemlich bedeutungslos, wenn Sie Hunderte von Artikeln in Ihrem Produkt-Backlog haben. Sicher, die Art und Weise, wie Sie die Elemente 20-70 anordnen, mag ziemlich aussagekräftig sein, aber wen interessiert es wirklich, ob # 300 vor oder nach # 301 liegt?

Eine mögliche Lösung hierfür besteht darin, mehrere Unterkomponenten-Backlogs zu haben, die in ein Hauptprodukt-Backlog einfließen. Beispielsweise können Sie UI, DB, Backend, API, Infrastruktur und technische Schulden als Unterkomponenten verwenden. Jedes Komponenten-Backlog kann zur Verwaltung an eine andere Person delegiert werden. Ein periodisches Meeting müsste entscheiden, welche Storys in den Hauptproduktstau verschoben werden sollen. Um ein ausgewogenes Verhältnis der Storys in Ihrem Produkt-Backlog aufrechtzuerhalten, ist es am besten, a priori eine Richtlinie (keine Regel) für die Anteile der Storys festzulegen, die in den Haupt-Backlog befördert werden. Eine API-Story für jeweils zwei UI-Storys? Wie viele Storys können Sie aus Technical Debt im Vergleich zur Anzahl der Backend-Storys entnehmen, die Sie benötigen?

Dieses System erhöht die Komplexität erheblich und erfordert viel zusätzliche Koordination. Dies sollte nur durchgeführt werden, wenn der Produktbestand so groß wird, dass der Product Owner nicht an alle Storys gleichzeitig denken kann.

David Paigen
quelle
5

Eine Iteration in Agile ist weniger ein Container für User Stories als vielmehr eine Miniatur-Softwareversion, die dem SDLC für einen kleinen und leicht verwaltbaren Zeitraum folgt.

Das Backlog ist keine Iteration, sondern im Wesentlichen ein Container für User Stories, Epen und Aufgaben, für die Sie im aktuellen Sprint derzeit keine Zeit haben. Wenn Sie für den nächsten Sprint im Voraus planen, sollten Sie die aktuellen Prioritäten der Elemente im Backlog im Vergleich zum Aufwand für die einzelnen Elemente neu bewerten, um festzustellen, was in der nächsten Iteration gehört oder nicht.

Planen Sie nicht mehr als eine Iteration im Voraus

Dies ist nicht agil und vereitelt den gesamten Zweck der iterativen Entwicklung in seiner Gesamtheit. Geschäftsanforderungen und -anforderungen sind in der Regel zu volatil, um langfristige Pläne für strenge Softwareanforderungen zu erstellen. Aus diesem Grund konzentrieren wir uns nur auf die aktuelle Iteration und die, an der wir arbeiten werden, sobald wir diese Iteration bereitstellen.

Wenn das Management langfristige Schätzungen wünscht (basierend auf dem aktuellen Rückstand, wie er derzeit besteht), kann man die Größe der aktuellen Rückstandselemente überprüfen, um einen geschätzten Fertigstellungstermin anzugeben.

Ihre Frage, in welche Iteration die Backlog-Storys eingefügt werden sollen, sagt mir, dass Sie wahrscheinlich versuchen, Ihre Iterationen zu weit im Voraus zu planen.

Wenn ich ein Epos in kleinere US-amerikanische Teile zerlege, würde ich dann einfach das ursprüngliche Epos schließen, da es nicht mehr benötigt wird? Oder sollte ich die neuen USA als Kinder des Epos erschaffen? (Es liegt dann in der Verantwortung von jemandem, das Epos zu schließen, sobald alle US-Kinder fertig sind).

Ein Epos sollte akzeptiert werden, wenn es sein erklärtes Geschäftsziel zufriedenstellend erreicht. Dies ist im Wesentlichen der Fall, wenn alle untergeordneten User Stories abgeschlossen und akzeptiert wurden.

maple_shaft
quelle
Ich denke, einige Verwirrung ist auf die Art und Weise zurückzuführen, wie TFS Artefakte speichert und darüber berichtet. Es hat nicht das Konzept eines Product Backlogs als solches - wenn Sie es auffordern, das PB anzuzeigen, werden einfach alle USs aufgelistet, die nicht geschlossen sind, unabhängig davon, in welcher Iteration (falls vorhanden) sie sich befinden. In meiner ursprünglichen Frage war ich Wenn man sie in eine gefälschte Iteration namens "Backlog" einfügt, wird allen klar, dass die USA noch nicht gestartet wurden - im Nachhinein ist dies jedoch nicht anders, als eine USA zu erstellen und ihre Iteration einfach leer zu lassen.
Andrew Stephens
2
@ AndrewStephens Ich würde vermuten, dass Ihr Problem darin besteht, dass die in TFS integrierten Standardberichte Sie nicht unterstützen. Dies kann jedoch recht einfach behoben werden, da es, wenn ich mich richtig erinnere, ziemlich einfach ist, benutzerdefinierte Berichte für TFS zu schreiben. In Bezug auf den Rückstand behandelt die meiste PM-Software ungeplante User Stories als Rückstand. Vielleicht können Sie den Bericht basteln, um diese als solche anzuzeigen.
maple_shaft