Welche Art von Benutzergeschichten sollten in der Anfangsphase eines Projekts geschrieben werden?


11

Wenn Sie gerade ein Projekt starten, haben Sie nichts - keine Benutzeroberfläche, keine Datenschicht, nichts dazwischen. Eine einzelne Geschichte wie "Benutzer sollten in der Lage sein, ihre Foos anzuzeigen" erfordert daher viel Arbeit. Sobald Sie diese Story haben, ist eine wie "Benutzer sollten in der Lage sein, ihre Foos zu bearbeiten" realistischer, aber diese erste Story umfasst das Einrichten einer UI-Schicht, einer Präsentationslogik-Schicht, einer Domänenlogik-Schicht und einer Datenzugriffsschicht.

Dies passt nicht zu meinem Konzept von "Aufgaben": Für mich hätte ich lieber so etwas wie die folgenden "Aufgaben":

  • Zeigen Sie Dummy-Daten für die Foos eines Benutzers in HTML an, die von JavaScript-Objekten abgeleitet sind.
  • Richten Sie eine Präsentationslogikebene ein und verbinden Sie die JavaScript-Objekte damit.
  • Richten Sie eine Domänenlogikschicht ein und verbinden Sie die Präsentationslogikschicht damit.
  • Richten Sie eine Datenzugriffsschicht ein und verbinden Sie die Domänenlogikschicht damit.

Fallen all diese unter die einzige "Geschichte" oben? Wenn ja, denke ich, dass Geschichten in den frühen Phasen eines Projekts kein besonders nützlicher Rahmen sind. Wenn ja, ist das in Ordnung - ich möchte nur sicherstellen, dass mir nichts entgeht, da ich wirklich versuche, diese agile Methodik so gut wie möglich zu lernen.

Antworten:


6

Dies ist eine gute Frage, auf die es wahrscheinlich mehrere gute Antworten gibt. Mein Standpunkt ist:

Eine Story ist eine User Story, daher muss sie in Begriffen definiert werden, die beschreiben, wie sie dem Benutzer zugute kommt.

Wenn Agile und Geschichten für Sie funktionieren, sollten sie bereits in der Anfangsphase funktionieren. Der erste Punkt ist eine einzelne User Story (allerdings etwas technisch formuliert), die anderen drei sind technische Aufgabenbeschreibungen.

In der Anfangsphase eines Projekts, wenn Sie nicht über die entsprechenden Rahmenbedingungen an der richtigen Stelle machen CRUD ( C reate, R ead, U pdate, D elete) Entwicklung schnell und einfach, müssen Sie Ihre Geschichten von viel kleineren, inkrementell sein Stücke.

Anstelle von "Benutzer sollte in der Lage sein, ihr Foo anzuzeigen" , so etwas wie folgt:

  1. Der Benutzer sollte eine Seite mit Beispieldaten sehen können
  2. Der Benutzer sollte eine Seite mit interaktiven Beispieldaten sehen können
  3. Der Benutzer sollte in der Lage sein, eine Seite mit interaktiven Live-Beispieldaten anzuzeigen

Denken Sie daran, dass die meisten User Stories, die zu groß erscheinen, um in einem einzigen Sprint entwickelt zu werden (ich habe festgestellt, dass alles, was größer als 8 Story Points oder Tage der Entwicklung war, zu groß war), wahrscheinlich in Teile zerlegt werden kann, die für sie immer noch von Bedeutung sind der Benutzer.

Die Story / Funktion muss nicht marktfähig sein, sondern nur für den Product Owner von Bedeutung sein. Im obigen Fall könnten Sie einige kurze Demo-Teile einfügen, um zu zeigen, was sich geändert hat und wie diese Geschichte jetzt gemacht wird. Beispiel: Für Nummer 3 können Sie die Seite für zwei verschiedene Benutzer mit Daten anzeigen, die in der Datenbank vorab ausgefüllt sind . In Stufe 2 würden alle Benutzer die gleichen Daten sehen.


Dies war die hilfreichste Antwort für mich, da sie Beispiele für detailliertere User Stories enthielt. Ich glaube, ich habe meine Frage falsch kommuniziert. Ich weiß, dass meine "Aufgaben" keine User Stories sind, aber ich hatte gehofft, dass sie etwas mit ähnlicher Granularität sind, das sich noch qualifizieren würde. Die Geschichten, die Sie erzählten, waren genau das, wonach ich gesucht habe.
Domenic

Verwirrt über das Bit "Es muss nicht freisetzbar sein". Könnten Sie das näher erläutern? Soweit ich mich erinnere, müssen alle Anforderungen an User Storys erfüllt sein, damit die Story als abgeschlossen betrachtet werden kann. Halten Sie die Abstimmung ab, um zu sehen, ob die Erklärung hilft.
IndyK1ng

@ indyK1ng Ich habe nicht über die doppelte Bedeutung nachgedacht. Ich meinte, dass nicht jede Geschichte ein marktfähiges Feature sein muss. Um als vollständig betrachtet zu werden, sollte jeder Code von Release-Ready- Qualität sein . (Bearbeitete Antwort)
Nicole

3

Was Sie fragen, ist wichtig, "wie denken Sie über den Problemraum", um ihn in sinnvolle Teile zu zerlegen, aus denen Sie ein Design erstellen können.

Egal, ob Sie dies als User Story, Analyse, Zerlegung, Spezifikation oder Erfassung von Anforderungen bezeichnen ... am Ende kommt es auf mehrere Dinge an, die normalerweise eine gewisse Iteration aufweisen.

Sie müssen von den Köpfen der Benutzer bekommen, was sie wollen. (Sie wissen wahrscheinlich etwas von dem, was sie wollen, und wollen Dinge, die inkonsistent sind, aber das noch nicht sehen können.)

Sie müssen dies in irgendeiner Form erfassen - Sie haben wirklich nur zwei Möglichkeiten: Wörter oder Bilder. Beide haben Macht, benutze sie beide, wenn du kannst. Worte sind letztendlich unter dem Gesichtspunkt eines späteren Vertragsstreits mächtiger.

Sie müssen dies zurücklegen und eine Einigung erzielen.

Einige Leute machen frühe visuelle Prototypen ohne Geschäft oder andere Logik dahinter. Dies kann eine leistungsstarke Technik sein - bis zu einem gewissen Punkt, da immer noch ein gewisses Maß an Handbewegung erforderlich ist.

Einige werden Storyboards erstellen - und dann präsentieren und erklären.

Einige werden strenge und sorgfältig analysierte Dokumente schreiben.

Jede Technik hat ihre Vor- und Nachteile.

Der einzige Rat, den ich geben würde, ist: Ein zu frühes Codieren einer Lösung ist normalerweise ein schlechter Schachzug. Wenn Sie verstehen, WAS für die WHO und WARUM zu tun ist, bevor Sie dies tun, führt dies im Allgemeinen zu weniger Nacharbeit und einer schnelleren Entwicklung.

Wenn Sie über "Aufgaben" sprechen, scheint mir dies eine Art Zusammenbruch der Arbeit zu sein, nachdem ich herausgefunden habe, was, wer und warum. Sie können Aufgaben nicht GUT herausfinden, bis Sie die User Story in einem Dokument verstanden haben, das vom Kunden als Umfang der Arbeit genehmigt wurde, die Sie ausführen werden. Wenn Sie wissen, was Sie erreichen müssen (die Ausgabe), können Sie die Aufgaben herausfinden (die Schritte, die erforderlich sind, um dorthin zu gelangen).

Sparen Sie nicht bei der Analyse und Dokumentation des Frontends.


+1 für mehr Vorabdenken
Gary Rowe

1

Ich denke, was Ihnen fehlt, ist, dass in User Stories beschrieben wird, wie der Benutzer das System voraussichtlich verwenden wird. Auf diese Weise können die Geschäftsanforderungen ermittelt werden . Sie sollen Ihnen nicht direkt sagen, was Sie technisch tun sollen, was Sie anscheinend wollen.

Dies ist wohl einer der wichtigsten Teile eines Projekts. Wenn Sie die Geschäftsanforderungen nicht korrekt erfüllen, ist das System für die Benutzer nicht von Nutzen.


1
+1 - was ich nur prägnanter geschrieben habe.
schnell_now
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.