Wie gehst du mit abhängigen Geschichten in Scrum um?

9

In der Firma, an der ich gerade arbeite, haben wir festgestellt, dass manchmal einige Geschichten aneinander gebunden sind (wie in zu gekoppelt). Dies kann sein, dass sie zu demselben Gesamtfeature gehören oder dass sie unterschiedliche Features sind, aber es gibt einige, die zuerst fertiggestellt werden müssen, um mit den nächsten fortzufahren usw.

Wie gehen Sie mit diesen Fällen um, ohne den Workflow der Iteration anzuhalten? Machen wir etwas falsch?

Edgar Gonzalez
quelle

Antworten:

7

Das ist eine gute Frage. Die Theorie besagt, dass User Stories unabhängig sein sollten, aber ich konnte das nie vollständig erreichen.

Meiner Meinung nach ist es am wichtigsten, die Abhängigkeit zu kommunizieren, damit sowohl das Team als auch der Produktbesitzer sich dessen bewusst sind. Dadurch wird der Product Owner gezwungen, User Storys neu zu definieren, damit die Abhängigkeit beseitigt wird (z. B. durch Zusammenführen von User Stories), oder die Geschäftspriorität entsprechend zu definieren, sodass die Hauptbenutzer-Story zuerst implementiert wird.

Basierend auf der Prioritäts- und Bestellentscheidung werden Sie entweder beide im selben Sprint implementieren oder die abhängige wird später problemlos implementiert, da der Principal bereits fertig ist.

Der schlimmste Fall ist, wenn A von B abhängig ist und B von A abhängig ist. In diesem Fall sind User Stories höchstwahrscheinlich falsch definiert und sollten wahrscheinlich in A und B (meist unabhängig oder mit nur einer Einwegabhängigkeit) und C abhängig von C umgeschrieben werden A und B.

Ladislav Mrnka
quelle
2

Planen Sie sie entsprechend.

Setzen Sie sie in den gleichen Sprint ein, und da User Stories auch in einem Sprint-Backlog priorisiert werden, werden Sie kein Problem bekommen.

Da Ihr Team daran teilnimmt, ist es sich der Abhängigkeiten bewusst, sodass Sie sich vor nichts fürchten sollten. Sie sind Erwachsene und wenn Sie ihnen die Abhängigkeiten erklären (normalerweise erklären sie Ihnen das), laufen die Dinge reibungslos.

In Agile wie in Waterfall können Sie immer nur eine Sache gleichzeitig tun. Und normalerweise machst du A vor B, wenn B A braucht. Das ist gesunder Menschenverstand.


quelle
1

Abhängigkeiten können ein Geruch sein, bei dem Sie Ihre Geschichten horizontal anstatt vertikal durch das System schneiden. Die Entwicklung für eine bestimmte Funktion sollte alles von der Änderung des Datenbankdesigns bis zur Benutzeroberfläche umfassen. Wenn Sie feststellen, dass Sie Ihre gesamte Anstrengung für eine User Story in einer niedrigeren Ebene der Systemstruktur aufwenden, z. B. das Schreiben von Handler-Routinen für Datenbanksuchen, ist es wahrscheinlicher, dass Sie Abhängigkeiten zwischen Storys erstellen. Und wahrscheinlich schreiben Sie Ihre User Stories falsch.

Dave
quelle
1
Wie würden Sie mit dem Aufteilen von Geschichten in einem Online-Shop umgehen? Benutzer sollten in der Lage sein, eine Liste der Produkte anzuzeigen. Sie sollten in der Lage sein, die Produkte zu suchen, zu filtern und zu sortieren. In meinen Augen ist jede dieser Aktionen groß genug, um ihre eigene Geschichte zu rechtfertigen. Aber Sie können die Produktsortierung implementieren, bevor Sie die Liste der Produkte eingerichtet haben ....
NSjonas
0

Am besten teilen Sie Ihre abhängigen User Stories in kleinere Teile auf, die so unabhängig wie möglich werden können. Sie sollten die Geschichten angehen, von denen am meisten abhängig ist (wie Sie sagten: diejenigen, die zuerst beendet werden müssen, um die anderen fortzusetzen). Erstellen Sie so etwas wie einen Abhängigkeitsindex: Wenn Story 3 mehr Abhängige als Story 1 hat, sollten Sie zuerst Story3 in Angriff nehmen.

Wenn Ihre Abhängigkeiten zu viele Unterbrechungen verursachen, ist es möglicherweise eine gute Idee, die Arbeit ganz einzustellen (ja, mitten in Ihrem aktuellen Sprint) und Ihre vorrangigen User Stories neu zu bewerten und sie zuerst anzugehen

DPD
quelle