Konzentrieren Sie sich beim Schreiben der User Stories auf das Was und Warum und vermeiden Sie das Wie .
Was Sie konfrontiert sind, ist eigentlich eine sehr gute Übung für alle Entwickler. Die Anforderung in einfachen, geschäftlichen Begriffen ausdrücken zu können, ist eine wichtige Fähigkeit.
Sie sollten sich auf die allgemeine Anforderung konzentrieren, z. B. "Sie müssen in der Lage sein, eine einzelne Auswahl aus einer Dropdown-Liste von Objekten zu treffen, damit der Benutzer die Foo-Aktion aktivieren kann", anstatt eine Combobox oder Listbox oder was auch immer anzugeben, das eine bestimmte Routine auslöst .
Eine andere Möglichkeit, dies zu erreichen, besteht darin, so zu tun, als wäre die zugrunde liegende Codebasis / das zugrunde liegende Framework eine fast vollständige Black Box. Jedes Mal, wenn Sie "Objekt XYZ verwenden" sagen, können Sie sich selbst überprüfen, indem Sie fragen, ob Sie dies in einem Black-Box-System wissen würden.
Update:
IMO, es ist in Ordnung, Details in einen Anwendungsfall einzufügen, die den für Informationen erforderlichen Detaillierungsgrad angeben. Bei einem Registrierungssystem ist es beispielsweise fair, Folgendes anzugeben
: Nachname; Erforderliches Feld
- Vorname; Erforderliches Feld
- Konto-ID; System erzeugt keine Eingabe notwendig
- Sternzeichen; optionales Feld - (Vorschlag) Suche nach Eingabe des Geburtsdatums?
- usw....
Der Schlüssel ist, dass Sie nicht das technische Wie für diese Informationen angeben. Wenn Sie feststellen, dass Sie für den Nachnamen "String-Klasse / Zeichen-Array / oder Varchar-Feld verwenden" sagen, wissen Sie, dass Sie zu viel angeben.
Wenn Sie mehrsprachig sind, verwenden Sie zwei unterschiedliche Sprachen als Lackmustest. Zum Beispiel sind Strings in C im Allgemeinen char (acter) Arrays, während C ++, Java und C # (okay, und fast alle anderen ...) ein tatsächliches String-ähnliches Objekt haben. Wenn Sie feststellen, dass Ihre Spezifikation durch die Verwendung einer dieser Sprachen ungültig ist, wissen Sie, dass Sie zu viel angegeben haben.
Es ist erwähnenswert, dass ich im Gegensatz zu User Story speziell den Begriff Use Case verwende , obwohl die Variante, die ich am Ende verwende, eine Mischung aus beiden ist. Mein Ziel eines Anwendungsfalls ist es, einen Überblick über die Vorgänge zu geben (eine User Story im engeren Sinne), dann aber die erforderlichen Akteure, Systeme und allgemeinen Funktionen durchzuarbeiten. Mein Ansatz ist näher an dem, was Fowler in diesem Wikipedia-Artikel vorschlägt, als an Cockburns Ansatz.
Ich habe also einen einzigen Anwendungsfall (oder so) für das Registrierungsszenario oder das Arbeitselement. Wenn es wirklich komplex ist, würde ich es in Vielfache aufteilen, aber das ist keine große Sache. Der Anwendungsfall kann dann bei Bedarf in einzelne Aufgaben unterteilt werden. Was in ein bestimmtes Scrum geworfen wird, hängt von vielen Variablen ab, aber nichts in diesem Ansatz hindert Sie daran, am Ende des Scrums eine nachweisbare Komponente zu haben.