Mein Team wird Visual Studio Team Services für ein bevorstehendes Projekt verwenden. Mit den Agile-Tools kann ich User Stories und Aufgaben hierarchisch wie folgt organisieren:
Episch> Feature> User Story> Aufgabe / Fehler
Nehmen wir an, ich entwerfe ein Student Org (Club) -Managementsystem für Schüler und Berater. Studenten und Berater können Clubs beitreten, Offiziere sein, Veranstaltungen organisieren, Ankündigungen senden usw.
Nehmen wir als Beispiel die Funktion Ankündigungen:
Benutzergeschichten:
- Als Student möchte ich Ankündigungen für die Clubs lesen, in denen ich Mitglied bin, damit ich über Änderungen des Zeitplans informiert bin.
- Als Berater möchte ich Ankündigungen für die Clubs lesen, in denen ich Mitglied bin, damit ich über Änderungen des Zeitplans informiert bin.
- Als Berater möchte ich Ankündigungen für die Clubs senden, in denen ich Mitglied bin, damit meine Schüler über Änderungen des Zeitplans informiert werden
- Als Administrator möchte ich Ankündigungen an ALLE Schulklubs senden, damit ich sie auf Planungskonflikte aufmerksam machen kann.
- usw
Wenn wir davon ausgehen, dass es sich um gut geschriebene User Stories handelt (was möglicherweise nicht der Fall ist), bin ich verwirrt, wenn mein Entwicklungsteam und ich uns hinsetzen, um diese Elemente in Entwicklungsaufgaben aufzuteilen. Wir können Teile mehrerer User Stories mit einzelnen Entwicklungsaufgaben abdecken. Zum Beispiel haben wir ein Tool, das CRUD-Aktionen für alle Ebenen von der Benutzeroberfläche bis zur Datenbank generiert, indem einfach die Eigenschaften einer Ankündigung definiert werden. Die Teile mehrerer User Stories zum Senden und Lesen werden also in einem einzigen Entwicklungsschritt abgeschlossen.
Nach allem, was ich gelesen habe, sollte jede User Story unabhängig von den anderen sein, und das macht Sinn. Jede unserer User Stories teilt jedoch die Aufgabe "Benutzeroberfläche und Datenbank generieren", da wir auf diese Weise unsere Benutzeroberfläche auf Basisebene erstellen (bevor wir sie anpassen). Ich sollte nicht für jede User Story eine Aufgabe "Benutzeroberfläche und Datenbank generieren" schreiben. Das ist zu viel Redundanz. Ich weiß jedoch nicht, wie ich eine Aufgabe "Benutzeroberfläche und Datenbank generieren" schreiben soll, die abgeschlossen sein muss, bevor eine der User Stories gestartet werden kann.
Ich habe ähnliche Verwirrung mit unserem Berechtigungssystem. Wir haben verschiedene Kontotypen wie Student, Berater und Administrator, die alle Zugriff auf die Seite Ankündigungen haben, aber unterschiedliche Funktionen auf der Seite haben (ich habe diese Idee mit den obigen Benutzergeschichten erfasst). Wir können das Berechtigungssystem modular schreiben, damit es für andere Funktionen verwendet werden kann, aber ich weiß nicht, wo ich die Aufgabe schreiben soll, um ein "modulares Berechtigungssystem" zu erstellen.
Ich denke, diese ganze User Story-Sache hat mich verwirrt. Ja, es ist großartig, um die Funktionalität eines Systems zu erfassen, aber wenn es darum geht, Entwicklungsaufgaben zu durchdenken, kann ich mich nicht darum kümmern. Jeder Rat wäre toll.
TL; DR: Ein Teil der Programmierung, die ich für eine User Story mache, kann an anderer Stelle in unserem Projekt für andere User Stories (Berechtigungssystem usw.) verwendet werden. Wie schreibe / organisiere ich Aufgaben für User Stories, um diese Möglichkeit zu veranschaulichen?