Was ist der Unterschied zwischen User Stories und Features?

25

Als ich mit Icescrum spielte , stellte ich fest, dass ich den Unterschied zwischen User Stories und User Features nicht verstehe.

Kann jemand den Unterschied erklären?

BЈовић
quelle

Antworten:

23

Eine Funktion ist ein eindeutiges Funktionselement, das dem Unternehmen Funktionen bereitstellen kann.

Eine Story ist ein kleiner Aspekt einer Funktion, mit der Sie Feedback von Ihren Stakeholdern erhalten und herausfinden können, ob Sie etwas falsch machen.

Beispielsweise könnte eine Funktion "Benutzern erlauben, Artikel zu kommentieren" sein. Die mit dieser Funktion verbundenen Geschichten könnten dann sein:

  • Kommentare speichern
  • Kommentare nach unhöflichen Wörtern filtern
  • Begrenzen Sie die Anzahl der Kommentare auf 400 Zeichen und senden Sie sie an die Benutzer zurück
  • Fügen Sie Captchas hinzu, um zu verhindern, dass Bots die Site spammen
  • Benutzern erlauben, sich über die Google-ID anzumelden

etc.

In jeder Phase können wir dann Rückmeldungen darüber erhalten, ob die von uns eingeschlagene Richtung nützlich ist.

Einige Teams machen sich nicht die Mühe, Features in Geschichten aufzuteilen. Das ist ok.

Lunivore
quelle
13
Sind diese verknüpften Storys nicht tatsächlich User Story-Aufgaben? Ich würde sagen, dass sie sind. Eine User Story wäre: Als User möchte ich Artikel kommentieren, damit wir als User Artikelinhalte verbessern oder Bedenken äußern können. Diese User Story wurde in Aufgaben unterteilt, die Sie beschrieben haben ...
Robert Koritnik
4
Ich betrachte eine Aufgabe als etwas, das erledigt werden muss, um Feedback zu erhalten, zu dem Sie jedoch kein Feedback allein erhalten können - zum Beispiel das Erstellen einer Datenbanktabelle. Jede dieser Geschichten, mit Ausnahme der ersten, könnte möglicherweise entfernt werden, während der Wert für den Versand erhalten bleibt. Aufgaben werden in meiner Welt normalerweise horizontal aufgeteilt. Aber wenn Sie andere Definitionen haben, ist das in Ordnung. Granularität ist keine völlig diskrete Sache, jedes Ziel ist ein Unterziel eines anderen, und ich denke, Sie sollten alles tun, was für Sie pragmatisch ist. Ich finde diese Aufschlüsselung nützlich, ebenso wie viele meiner Teams.
Lunivore
16

Features == User Stories.

Die Aussprache wird durch die verwendete Agile- Methode bestimmt .

Die verschiedenen Methoden verwenden unterschiedliche Begriffe, um auf Funktionen zu verweisen. Es ist Aufgabe des Teams, zu entscheiden, welche Methodik oder Terminologie verwendet werden soll. Extreme Programming (XP) verwendet die Begriffe User Stories oder Stories, um Features darzustellen. Scrum verwendet Product Backlog, um eine Funktionsliste zu beschreiben. Feature-Driven Development verwendet Feature; und DSDM verwendet Anforderung. In ähnlicher Weise gibt es verschiedene Lightweight-Versionen des Unified Process oder Agile UP, die Requirement und / oder Use Case verwenden, um inkrementell bereitstellbare Funktionen zu definieren. Letztendlich ist das Ziel dasselbe - den Unternehmenswert regelmäßig in kleinen Schritten und eher früher als später zu liefern.

Aaron McIver
quelle
+1, das erklärt es gut. Ich würde nicht unbedingt feature == user story sagen, außer wenn Sie über Geschäftswert oder Kundenwert sprechen. In anderen Fällen hat der jeweilige Begriff möglicherweise keine Bedeutung.
Murrekatt
2
Ich glaube nicht, dass man sagen kann, dass sie gleich sind, auch wenn es sich um verwandte Begriffe handelt. Was ist mit Funktionen, die mehrere User Stories umfassen?
sleske
@sleske Eine User Story in einem reinen Scrum-Ansatz sollte ein Mehrwert für den Benutzer und somit ein Feature sein. Wenn wir Features als übergreifende Epics katalogisieren, ist das in Ordnung, aber das Endergebnis sind User Stories, die Wert liefern.
Aaron McIver
1
@ AaronMcIver: Ja, das ist wahr. Manchmal ist die minimale Menge an Funktionen, die für den Benutzer wirklich nützlich ist (= Feature), jedoch zu viel für eine User Story (oder sogar für eine Iteration). In diesem Fall müssen Sie das Feature in mehrere Storys aufteilen.
sleske
Übrigens, verwandte Frage & Antwort: stackoverflow.com/questions/1714557/…
sleske
7

Eine User Story ist eine informelle Aussage in der Sprache des Kunden, die die Absicht von etwas erfasst, das der Kunde erreichen möchte. Sie können sich eine User Story als informelle Anforderungserklärung vorstellen.

Eine Softwarefunktion ist ein charakteristisches Merkmal der Software, das zum Gesamtdesign und zur Funktionalität der Software beiträgt.

Einige wichtige Überlegungen:

  • Eine Story kann ein Feature beschreiben , aber ein Feature beschreibt niemals eine Story .
  • Eine Story beschreibt ein Feature möglicherweise nicht direkt .
  • Eine Story kann die Aufnahme einer Reihe von Funktionen beinhalten .
  • Eine Eigenschaft - entweder einzeln oder als Mitglied einer Sammlung von Funktionen - kann die Absicht einer erfassen Geschichte .

Vor diesem Hintergrund neige ich dazu, Geschichten als Beschreibungen zu betrachten. Grundsätzlich informelle Anforderungen, die mir sagen, was der Kunde will. Funktionen andererseits sehe ich eher in einer Spezifikation, die mir sagt, wie ein System funktionieren sollte, um die Anforderungen des Kunden zu erfüllen.

S.Robins
quelle
3

Die beiden Begriffe sind eng miteinander verbunden, es gibt jedoch einige Unterschiede.

Erstens kommen sie aus verschiedenen Bereichen. Der Begriff "Feature" ist ein ziemlich allgemeiner Begriff für einen Teil der Funktionalität einer Software, wohingegen "User Story" erfunden wurde und eigentlich nur im Zusammenhang mit agiler Softwareentwicklung verwendet wird.

In der Praxis stimmen sie häufig darin überein, dass eine User Story darin besteht, ein bestimmtes Feature zu implementieren.

In einigen Situationen können sie jedoch unterschiedlich sein:

  • Oft ist ein Feature zu viel Arbeit für eine einzelne User Story. User Stories sollten nicht zu groß sein (in der Regel nicht länger als ein paar Tage, maximal 1-2 Arbeitswochen). Offensichtlich sind viele Funktionen viel größer. In diesem Fall wird eine Funktion in vielen User Stories implementiert. Einige Leute verwenden "Epics", um User Storys zu gruppieren. In diesem Fall könnte man sagen, dass das Feature ein Epic ist.
  • Nicht-funktionale Anforderungen (Leistung, Sicherheit, Kompatibilität usw.) können auch als User-Storys behandelt werden (obwohl dies nicht allgemein akzeptiert wird). In diesem Fall wird das Ergebnis der User Story normalerweise nicht als Feature bezeichnet (es sei denn, Sie bezeichnen "unsere Anwendung stürzt selten ab" als Feature).
sleske
quelle