In meinem Fall habe ich immer festgestellt, dass die für vollständige Anwendungsfälle erforderliche Detailebene dadurch entsteht, dass ich zuerst meine User Stories durchdenke. Die erste Frage, die ich stelle, lautet: "Was müssen Menschen tun können?". Sobald ich die Szenarien habe, ist es einfacher, alle Anwendungsfälle und Varianten des Ablaufs für das System durchzugehen.
Abgesehen davon müssen Sie sich für einen einzelnen Entwickler, der alleine arbeitet, nicht wirklich darum kümmern, ob es sich um einen Anwendungsfall oder eine User Story oder einen Sticky an der Wand handelt, auf dem steht: "Vergessen Sie nicht 'x'". Was Sie brauchen, ist ein Prozess, bei dem Sie darüber nachdenken, was Ihre Benutzer erreichen möchten, und der Ihnen hilft, die verschiedenen Dinge zu verfolgen, die sie tun müssen. Alles andere liegt bei Ihnen in Bezug auf den Detaillierungsgrad, den Sie notieren müssen, um Ihre Entwicklung zu planen.
Wenn ich zum Beispiel an einem Solo-Nebenprojekt arbeite, sehen meine Arbeitsaufgaben ungefähr so aus:
- Anmeldung
- Liste von 'foo' anzeigen
- Auswahl aus Liste speichern
- Suche
Ehrlich gesagt, jeder von ihnen hätte nicht mehr als eine Schätzung. Warum? Weil ich sie nur als Erinnerung daran benutze, was ich tun muss, damit der Benutzer sie ausführen kann, und ich werde die Details herausfinden, wenn ich zu diesem Teil komme. Mit einem Team von einer einzelnen Person kann alles in Ihrem Kopf sein und das ist in Ordnung, weil Sie es niemandem mitteilen müssen.
Nun gibt es Vorbehalte ...
Einzelner Entwickler arbeitet mit anderen Spezialisten zusammen
Müssen Sie einem anderen Team über Fortschritte berichten? Haben Sie Tester, die Ihre Arbeit validieren müssen? Haben Sie ein Management, das wissen möchte, was Sie getan haben? Haben Sie einen Projektmanager, der einen Zeitplan vorhersagen muss? Haben Sie einen Product Owner, der die erforderlichen Funktionen festlegt?
Wenn diese Personen Teil Ihres Projekts sind, müssen Sie sicherstellen, dass Ihre Arbeitsaufgaben über genügend Informationen verfügen, damit sie ihre Arbeit erledigen können. Der Premierminister braucht wahrscheinlich eine Möglichkeit, die relative Größe der Dinge zu erkennen und Fortschritte bei dieser Arbeit zu erzielen. Ihre Tester benötigen Details darüber, wie die Dinge voraussichtlich ablaufen (Anwendungsfälle), und Sie können sie sogar bitten, Ihnen beim Schreiben zu helfen. Das Management möchte möglicherweise wissen, woran Sie gerade arbeiten. Daher benötigen Sie eine ausreichende Geschäftsbeschreibung, damit es die Funktionen verstehen kann, die Sie bereitstellen werden.
Wenn Sie all diese Fragen mit "Ja" beantwortet haben, benötigen Sie wahrscheinlich einen strenger dokumentierten Rückstand, da Sie ihn für die Kommunikation mit den anderen Mitgliedern Ihres Teams verwenden werden.
- Sie benötigen wahrscheinlich das Konzept "Epics" oder "Features", das die Funktionen auf hoher Ebene darstellt, mit denen Sie dem Management oder Ihren Produktbesitzern Bericht erstatten können.
- Sie haben verschachtelte User Stories in diesen Epics / Features, die die kleineren Funktionsblöcke definieren, die verwendet werden, um den Fortschritt mit Ihrem Projektmanager zu kommunizieren, Ihre Arbeitsaufgaben innerhalb eines Sprints zu definieren und um das Geschäftsziel an das zu kommunizieren Testteam.
- Für die Storys werden Anwendungsfälle oder Testfälle definiert, um die verschiedenen Low-Level-Flow-Entscheidungen zu erfassen, die erforderlich sind, um sicherzustellen, dass Sie, das Unternehmen und das Testteam aufeinander abgestimmt sind und wissen, was als "korrekt" akzeptiert wird.
Alle oben genannten Punkte können einfach ignoriert werden, wenn Sie die Arbeit definieren, den Fortschritt verwalten, die Software testen und entscheiden, ob etwas „korrekt“ ist. Reduzieren Sie den zusätzlichen Aufwand und stellen Sie sicher, dass Sie das tun, was wichtig ist: funktionierende Software erstellen!