Ich bin mir nicht sicher, ob ich die Beziehung oder den Unterschied zwischen User Story, Feature und Epic vollständig verstehe.
Ein Feature ist nach dieser Fragestellung eine Sammlung von Geschichten. Eine der Antworten legt nahe, dass ein Feature tatsächlich ein Epos ist. Werden Features und Epics als dasselbe betrachtet, dh als eine Sammlung verwandter User Stories?
Unser Projektmanager besteht darauf, dass es eine hierarchische Struktur gibt:
Epic -> Features -> User Stories
Und dass grundsätzlich alle User Stories in diese Struktur fallen müssen. Daher müssen alle User Stories unter ein Umbrella-Feature fallen und alle Features müssen unter ein Epos fallen.
Für mich klingt das unangenehm. Kann jemand bitte klären, wie User Stories, Features und Epics zusammenhängen? Oder gibt es einen Artikel, der die Unterschiede klar umreißt?
quelle
Antworten:
Sie sind eigentlich ein sehr allgemeiner Begriff. Es gibt viele Möglichkeiten, sie zu interpretieren, die in der Literatur variieren und wie die Leute sie sehen. Nimm alles, was ich sage, mit einem riesigen Salzkorn.
Normalerweise umfasst ein Epic eine sehr globale und nicht sehr genau definierte Funktionalität in Ihrer Software. Es ist sehr breit. Es wird normalerweise in kleinere User Storys oder Features unterteilt, wenn Sie versuchen, einen Sinn daraus zu ziehen und sie in eine agile Iteration einzufügen. Beispiel
Epic
- Ermöglicht dem Kunden, sein eigenes Konto über das Web zu verwalten
Feature und User Story sind spezifischere Funktionen, die Sie einfach mit Abnahmetests testen können. Es wird oft empfohlen, dass sie granular genug sind, um in eine einzelne Iteration zu passen.
Funktionen beschreiben in der Regel die Funktionsweise Ihrer Software:
Feature
- Bearbeiten der Kundeninformationen über das Webportal
User Stories drücken in der Regel aus, was der Benutzer tun möchte:
Anwenderbericht
Als Bankangestellter
möchte ich die Kundeninformationen ändern können,
damit ich sie auf dem neuesten Stand halten kann.
Ich glaube nicht, dass es wirklich eine Hierarchie zwischen den beiden gibt, aber Sie können eine haben, wenn Sie wollen oder wenn es zu Ihrer Arbeitsweise passt. Eine User Story kann eine bestimmte Begründung für ein Feature oder eine bestimmte Methode dafür sein. Oder es kann umgekehrt sein. Ein Feature kann ein Weg sein, eine User Story zu realisieren. Oder sie können dasselbe bezeichnen. Sie können beides verwenden: User Stories, um zu definieren, was geschäftlichen Nutzen bringt, und Funktionen, um die Einschränkungen der Software zu beschreiben.
User Story : Als Kunde möchte ich mit den gängigsten Kreditkarten bezahlen.
Feature unterstützt die GOV-TAX-02 XML API der Regierung.
Es gibt auch die Frage nach dem Szenario, in dem normalerweise eine Feature- / User-Story ausgeführt wird. Sie ordnen sich in der Regel sauber einem bestimmten Abnahmetest zu. Zum Beispiel
Szenario : Geld abheben
Vorausgesetzt, ich habe 2000 $ auf meinem Bankkonto.
Wenn ich 100 $
abhebe, erhalte ich 100 $ in bar
. Mein Kontostand beträgt 1900 $
So definieren wir die Begriffe, unter denen ich arbeite . Diese Definitionen sind weit entfernt von einer mathematischen Definition oder einem standardisierten Begriff. Es ist wie der Unterschied zwischen einem rechten Politiker oder einem linken Politiker. Es kommt darauf an, wo du wohnst. Was in Kanada als rechter Flügel angesehen wird, kann in den Vereinigten Staaten als linker Flügel angesehen werden. Es ist sehr variabel.
Im Ernst, ich würde mir nicht allzu viele Sorgen machen. Wichtig ist, dass sich alle im Team auf eine Definition einigen, damit Sie sich gegenseitig verstehen können. Einige Methoden wie Scrum definieren sie in der Regel eher formal, wählen jedoch die Arbeit für Sie aus und überlassen den Rest. Ist Agilität in Bezug auf Individuen und Interaktionen bei Prozessen und Tools und Arbeitssoftware bei umfassender Dokumentation nicht gewährleistet ?
quelle
Epic : Eine sehr große User Story, die schließlich in kleinere Storys zerlegt wird.
Anwenderbericht: Eine sehr allgemeine Definition einer Anforderung, die gerade genug Informationen enthält, damit die Entwickler eine vernünftige Schätzung des Implementierungsaufwands erstellen können.
http://www.telerik.com/agile-project-management-tools/agile-resources/vocabulary.aspx
Merkmal : Ein Unterscheidungsmerkmal oder eine Fähigkeit einer Softwareanwendung oder -bibliothek (z. B. Leistung, Portabilität oder Funktionalität).
http://en.wikipedia.org/wiki/Software_feature
quelle
Ich warne Sie davor, eine zu starre Hierarchie auf diese Begriffe anzuwenden. Das haben wir in meinem vorherigen Job versucht. Zweimal. Beide Versuche waren unterschiedlich und beide Male stellten wir fest, dass wir uns unnötig eingeschränkt hatten. Die einzige Konstante war die Definition einer User Story . Aus planerischer Sicht ist eine Story der Grundbaustein eines Projekts. Die größeren Begriffe (Epic, Feature usw.) sind praktisch nur Tags . Tags sind eine einfache Möglichkeit, eine Story gleichzeitig als Teil mehrerer Epics und mehrerer Features existieren zu lassen. Strenger zu sein, ist die mentale Anstrengung nicht wert.
Tags funktionieren für Stack Exchange und können auch für Sie verwendet werden.
quelle
Wir arbeiten wie folgt mit Epics, Stories und Features
Zu Beginn des Projektzyklus haben wir uns Epics ausgedacht . Hierbei handelt es sich um sehr hochwertige, fast marketingorientierte Funktionsmerkmale. Die Art von Dingen, die Sie in einer Zusammenfassung verwenden können, wie z.
Dies führt zu Epen wie
Diese sind als User Stories geschrieben (z. B. möchte ich als Kunde den Produktkatalog durchsuchen, um eine fundierte Kaufentscheidung zu treffen), dienen jedoch nur als Starthilfe für die tatsächlich zu entwickelnden und veröffentlichten Produkte.
Diese Epen werden dann weiter in User Stories unterteilt . Hierbei handelt es sich um tatsächliche End-to-End-Benutzerreisen, deren Umfang sehr begrenzt ist und die so definiert sind, dass sie unabhängig voneinander geschätzt und geplant sowie in einem Release-Zyklus entwickelt , getestet und freigegeben werden können.
Die User Story ist die Liefereinheit. Es ist die User Story, die vollständig oder nicht vollständig ist, live geschaltet wird oder nicht live geschaltet wird.
Ein Epos kann eine große Anzahl von User Stories zur Folge haben. Nicht alle werden gleichzeitig entwickelt oder veröffentlicht.
Beispielsweise kann das Epos "Produktkatalog durchsuchen" unterteilt werden in
Jedes dieser Elemente wird wiederum in dem Format geschrieben, z. B. Als Kunde möchte ich in der Kategoriehierarchie navigieren, um Produkte zu durchsuchen und einen Drilldown zu dem Produkt durchzuführen, das für meine Anforderungen am besten geeignet ist.
Im Allgemeinen haben wir für die meisten unserer Projekte Dutzende von Epics und Hunderte von Geschichten.
Während wir nun den Lebenszyklus der Story durchlaufen, kennzeichnen wir diese Storys mit Features . Beispielsweise werden alle Artikel zum Durchsuchen und Suchen sowie zu Lagerbeständen und Preisen mit dem Tag "Produktkatalog" versehen. Place Order-Artikel, die mit Kreditkartenzahlung zu tun haben, können mit einem "Kreditkarten" -Label versehen werden, und solche, die mit PayPal-Zahlungen zu tun haben, werden mit einem "Paypal" -Label versehen.
Diese Labels dienen dazu, zusammengehörige Geschichten zu gruppieren, und zwar nicht, weil sie unterschiedliche Arten der Ausführung derselben Aktivität darstellen (z. B. alle Geschichten zur Ortsreihenfolge), sondern weil sie gemeinsam veröffentlicht werden sollten.
Beispielsweise gehört die Story "Bestellung per Kreditkarte aufgeben" zum selben Epos wie die Story "Bestellung per PayPal aufgeben", sie muss jedoch nicht zusammen veröffentlicht werden.
Während die Story "Bestellung per Kreditkarte bezahlen", die Story "Rückerstattung per Kreditkarte abwickeln" und die Story "Kunden die Möglichkeit geben, ihre auf ihrem Konto gespeicherten Kreditkarten zu verwalten" zusammenzuhängen scheinen . Sie wären alle mit dem Feature-Label "Kreditkarte" versehen. dh sie würden alle zur Funktion "Kreditkarte" gehören. Es ist nicht sehr hilfreich, eine Bestellung per Kreditkarte aufzugeben, wenn eine Rückerstattung an PayPal nicht möglich ist oder wenn die gespeicherten Kreditkarten nicht in Ihrem Konto verwaltet werden können
Hinweis : In der Regel ist dies. Dies ist letztendlich eine Geschäftsentscheidung. Wenn Time-to-Market wichtig ist, kann es einen legitimen Grund geben, mit einem dieser Produkte und nicht mit dem anderen zu arbeiten.
So dienen Epics dazu, sich in (verwandte, aber getrennte) Geschichten zu unterteilen, die unabhängig voneinander entwickelt werden können, während Features dazu dienen, Geschichten zu gruppieren, die gemeinsam veröffentlicht werden sollen.
Man könnte sagen, dass Epics in User Stories zerlegt werden und User Stories in Features zusammengefasst werden. Die Geschichten, die zu einem Feature gehören, sind normalerweise über Epics verteilt. Daher sind Epics und Features orthogonal und nicht in einer strengen Hierarchie.
In unserer Arbeitsweise verlieren die Epics, sobald sie in Geschichten zerlegt wurden, ihren Zweck. Wir schätzen oder planen Epics nicht. Wir verfolgen keine Fortschritte bei Epics. Wir veröffentlichen keine Epics. Wir schätzen, planen und verfolgen User Stories. Und wir veröffentlichen Features.
quelle
Ich stimme vielen Antworten zu, dass es wirklich keine richtigen Antworten gibt, da dies nur Begriffe sind, die je nach dem Agile-Camp, auf dem Sie basieren, unterschiedlich sein können, und Sie können definitiv Ihr eigenes Camp zusammenstellen , solange alle in Ihrem Team, einschließlich der externen Stakeholder Verstehe, was sie bedeuten. Es ist nur eine Möglichkeit, Ihre Anforderungen zu organisieren.
Die Antwort, die ich mag, stammt aus Mike Cohns Lager und ist ziemlich einfach.
http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes
Er vermeidet eigentlich den Begriff "Feature". Ich gehe davon aus, dass dies hauptsächlich darauf zurückzuführen ist, dass es in der traditionellen Wasserfallwelt ein weit verbreiteter Begriff war. Viele Agile Camps verwenden unterschiedliche Begriffe, um die Unterschiede hervorzuheben.
In der Definition Ihrer PM befindet sich Feature also irgendwo in der Mitte der Epic-Story-Hierarchie.
Hier ist meine Infografik zu dieser Definition aus meinem InfoQ-Artikel http://www.infoq.com/articles/visualize-big-picture-agile ;-)
quelle
Features und Epics sind nicht dasselbe.
In der Planungsphase führen die Diskussionen zu User Stories, die normalerweise als Epics identifiziert werden, da der Aufwand für die Implementierung von Lösungen für sie in wenigen Tagen zu groß ist. Produkteigenschaften werden in dieser Phase identifiziert. Aber das ist nur ein Nebenprodukt der Diskussion. Die Funktionen werden dann verwendet, um eine Produkt-Roadmap zu planen. Dies ist eine separate Diskussion.
Die Epics werden weiter aufgenommen und diskutiert, was zu User Stories für jedes Epic führt. Die Features und Epics werden verwendet, um Diskussionen in Backlog-Verfeinerungs- und Sprint-Planungssitzungen voranzutreiben . Zu diesem Zeitpunkt werden die User Stories aus diesen Diskussionen verfeinert , priorisiert und in der Sprint-Planung für die Implementierung in Sprints akzeptiert.
quelle
Es ist nur eine problematische Zersetzung. Sie sind nur Geschichten, außer mit unterschiedlichen Größen.
Ich persönlich bevorzuge es, ihre Größen nicht zu kennzeichnen, aber wenn Sie das tun, ist das auch in Ordnung. Fragen Sie PM, wie die Definition in Ihrem Arbeitsbereich lautet.
quelle
Unsere Organisation hat über 2.000 Entwickler, daher ist die Antwort auf diese Frage wichtig für eine flüssige und klare Kommunikation zwischen den Hunderten von Agile-Teams, die an unserem gemeinsamen Produkt zusammenarbeiten. Für eine sehr kleine Organisation können Sie eine sehr einfache Struktur haben, die nicht einmal hierarchisch sein muss (wie andere geantwortet haben). Für große Organisationen besteht jedoch definitiv ein Bedarf an einer organisierten, skalierten und konsistenten Hierarchie - und darin liegt das Problem, aus etwas, das nicht streng hierarchisch ist, eine Hierarchie zu machen.
Im Übrigen bezeichnen wir jede dieser unterschiedlichen Ebenen als "Arbeitselemente". Einige Organisationen (einschließlich einiger der oben genannten Befragten) bezeichnen unterschiedliche Ebenen als Stories oder User Stories (und wir haben dies auch in der Vergangenheit getan), fanden dies jedoch zu zweideutig, sodass wir sie jetzt allgemein als Workitems bezeichnen.
Das Beste, was wir bisher "offiziell" gemacht haben, ist, Dean Leffingwells SAFe-Struktur von Investment-Themen und Business-Epen zu folgen, die an der Spitze (und an zweiter Stelle von der Spitze) der Hierarchie steht, dann Features darunter und schließlich Stories unter Features. Laut Agile stehen Aufgaben immer unter Geschichten, daher achten wir darauf, diesen Begriff nicht weiter oben wiederzuverwenden. Wir haben uns für SAFe entschieden, um zumindest eine gewisse Konsistenz in allen unseren Teams zu erreichen.
Für unsere Bedürfnisse reicht das aber immer noch nicht aus. Wir definieren ein Feature als eine eindeutig wertvolle Leistung, die für einen Verbraucher unseres Softwareprodukts erbracht werden kann (dh wir listen diese Features in unseren Ankündigungen kommender Releases auf). Und wir definieren eine Story als eine kleinere Menge an Umfang und Arbeit, die in einem einzelnen Sprint von einem einzelnen Agile-Entwicklerteam geliefert werden kann. Wir beginnen jetzt auch damit, die SAFe-Definition von Anlagethema und Geschäftsepos auf Portfolioebene (und nicht darunter) zu befolgen. Und wir fangen an, NICHT unsere ALTEN Definitionen von "Theme" und "Epic" zu verwenden.
Wir entwickeln uns jetzt langsam in diese Richtung, aber die Räder des Fortschritts schleifen langsam. Wir haben immer noch Probleme damit, die Arbeit in mundgerechte Stücke aufzuteilen, damit wir die Arbeit definieren und von mehreren Teams reibungslos erledigen können. Dazu benötigen wir ein "Unter-Feature", das kleiner als ein Feature, aber größer als eine Story ist. Unterfunktionen können für Teile der Arbeit verwendet werden, die von JEDEM EINZELNEN Team an einem Feature ausgeführt werden, oder für Teile der Arbeit, die von einem EINZELNEN Team zu verschiedenen Zeiten ausgeführt werden (in verschiedenen Sprints oder sogar in verschiedenen Releases).
Wir brauchen auch mehrere Hierarchieebenen zwischen Feature und Business Epic, aber wir haben diese noch nicht gelöst, außer sie einfach "Themen" zu nennen - von denen wir wissen, dass sie nicht der richtige Begriff sind, da sie leicht mit SAFe Investment-Themen verwechselt werden können. Für einige große Projekte (Releases) haben wir bis zu 5-8 verschiedene Hierarchieebenen, von denen jede die Arbeit in immer kleinere Teile aufteilt. Sie können sich diese Themen als "Feature-Gruppen" vorstellen, aber das muss auch nicht der richtige Begriff sein.
Ich halte es für wichtig, Begriffe zu verwenden, die eher Klarheit als Mehrdeutigkeit bieten. Wenn Sie sich also auf eine Story beziehen, bedeutet dies die kleinste Arbeitseinheit, die in einem einzelnen Sprint ausgeführt werden kann (mit Ausnahme der Aufgaben in der Story). Unterfunktion bedeutet die kleinste Arbeitseinheit für eine Feature, die von einer einzelnen Person ausgeführt werden kann Mannschaft. Ebenso ist eine Feature-Gruppe eine Hierarchieebene über Feature. Darüber hinaus wird es ein wenig unscharf, so dass wir sie normalerweise nur als Themen bezeichnen und Themen als Eltern und Kinder anderer Themen zulassen. Wir versuchen, die Ebenen "Feature", "Sub-Feature" und "Story" auf jeweils eine Ebene zu beschränken ("Features" sollten keine untergeordneten Elemente anderer Features sein). Es ist uns jedoch noch nicht zu 100% gelungen, diese einzuschränken.
Ich weiß, dass wir "Tags" verwenden könnten, um einige davon zu organisieren, aber Tags geben uns nicht die Aufschlüsselungsstruktur für die organisatorische Arbeit, die wir benötigen, um die Arbeit zwischen all unseren Teams zu kategorisieren. Tags sind per Definition mehrdeutig (viele-zu-viele-Beziehungen), aber eine Hierarchie ist streng eins-zu-viele.
Das Fazit ist, dass dies für uns noch in Arbeit ist und wir immer noch damit zu kämpfen haben. Wenn wir uns jedoch an die SAFe-Definitionen für Thema, Epos, Feature und Story halten, bewegen wir uns in die richtige Richtung!
quelle
Die Product Backlog-Hierarchie ist weitgehend abhängig von der Produktgröße und ihrer Modularität (Anzahl der definierten Produktbereiche).
Für kleine Projekte: Epic> Story ist mehr als genug; und du nennst entweder das "feature".
Große Projekte ähneln sich möglicherweise: Roman> Thema> Epos> Feature> Geschichte
Das beste Beispiel könnte das folgende sein:
Roman = MS Office-
Thema = MS Word / MS Excel ...
Epic = Tabellen / Schriftartenverzeichnis ...
Features = Grundlegendes Tabellen- / Tabellenfarbschema / Operationen mit Zellen ...
Geschichten (für ' Basic Tables 'Feature in' Tables 'Epic) = Tabelle hinzufügen / Tabelle zeichnen / Rohdaten einfügen / Spalte einfügen ...
Was ich für nützlich halte, wenn Sie Ihre eigene Skalierung für den Rückstand definieren, ist:
1. Story: a) immer innerhalb eines Sprints machbar; b) für Endbenutzer nicht immer testbar
2. Epos / Feature: a) passt nicht zu einer Sprintdauer und muss zerlegt werden; b) sollte für Endbenutzer immer testbar sein; c) immer shippable kann monetarisiert werden - ROI für sie berechnet bekommen
3. Wenn man bedenkt hinzufügen oder nicht Epische> Feature - Abschnitt oder Stick Epic> Story: Ich würde empfehlen , Funktion zwischen Epos und Geschichte einzufügen nur dann , wenn: Epische doesn‘ Nicht für 1 Release geeignet, daher müssen Sie ein versandfähiges Element definieren, das für 1 Release-Dauer geeignet ist .
Hoffe das ist hilfreich.
quelle
In unserer Organisation haben wir Folgendes:
Thema = Gruppiert eine Sammlung von Geschichten
Epic = Beschreibt eine große User Story (in Wahrheit eine Anforderung), die in User Stories unterteilt werden muss
Features = Beschreibt, was auf der Dose steht, ein Merkmal des gewünschten Produkts
User Story = Dies ist die niedrigste Detailebene, von der Aufgaben abgeleitet werden.
quelle