Ich habe vor 6 oder 7 Jahren eine Anforderungsdatenbank geschrieben, um damit umzugehen. Jeder Anforderungsdatensatz enthält eine kurze Beschreibung, ein "Definitions" -Notizbuch und ein "Notizen" -Notizbuch (beide Rich-Text-Dateien, in die Screenshots usw. eingebettet werden können). Es gibt auch andere Felder für das Projekt, die Lieferbarkeit, die Sequenznummer (damit sie logisch bestellt werden können), den Anwendungsfall / die zugehörige Funktion, die Zeitschätzung, ein Feld für die Person, die es bearbeitet, falls jemand es zur Implementierung ausgewählt hat. etc.
Es gibt auch ein "Status" - "Eingegeben", während wir die Funktionen entwerfen; "Genehmigt": Wird festgelegt, sobald eine Gruppe von Anforderungen überprüft und als umsetzungsbereit eingestuft wurde. "Implementiert", vom Programmierer festgelegt, sobald die Anforderung erfüllt ist, und "Validiert", sobald der QA-Techniker mit dem Programmierer einverstanden ist. (Wenn der QA-Techniker nicht einverstanden ist, kann er ihn auf "Genehmigt" zurücksetzen, damit der Programmierer ihn zurückerhält.) Die Anforderungen können auch "Zurückgestellt", "Abgelehnt" oder "Befragt" sein (dh, die Änderungskontrollbehörde muss dies prüfen) .)
Der Trick, dies gut zu machen, ist eine vernünftige Granularität. Es kann manchmal sinnvoll sein, Anforderungen mit einem Satz zu haben (z. B. "Das in Problem 12345 beschriebene Problem ist behoben"), aber im Allgemeinen sollten Anforderungen alle wichtigen Aspekte eines ganzen Features (oder einen großen Teil von einem) beschreiben. Für eine typische Funktion "Neuer Bericht" ist beispielsweise ein Berichtsformat (wie die Ausgabe aussieht) und ein Optionsdialog (Erklären der Felder, Validierung usw.) erforderlich. Es kann sogar ein dritter vorhanden sein, wenn Es gibt einen komplexen Generator, der die Daten zerquetscht, anstatt nur eine einfache Abfrage oder so. Außerdem erstellen wir eine "Hilfe" -Anforderung für das entsprechende Hilfethema.
Es hat enorme Vorteile, dieses Zeug in Datenbankaufzeichnungen anstatt in einem großen Dokument zu speichern. Mehrere Programmierer können gleichzeitig an Anforderungen arbeiten. Einzelne Datensätze sind gesperrt, sodass jeweils nur eine Person sie bearbeiten kann. Sie können jedoch geöffnet und gelesen werden, während eine andere Person sie bearbeitet. Der größte Vorteil ist jedoch, dass die Dokumentation sowohl zu den Anforderungen als auch zu den Hinweisen zu deren Implementierung auf einfache Weise durchsucht werden kann. Wir haben jetzt über 25.000 Anforderungen und können alle Anforderungen mit bestimmten Wörtern in allen Feldern oder der Definition oder Notizen oder was auch immer in weniger als 10 Sekunden leicht finden. (Versuchen Sie das mit Word-Dokumenten im Wert von mehr als 6 Jahren.)
Ich kann verstehen, warum Leute sagen, dass es eine schlechte Idee ist, Anforderungen in einem "Bug-Tracker" zu erstellen, aber ich vermute, das liegt daran, dass die Tools nicht funktionieren, und nicht daran, dass das Speichern von Anforderungen in einer durchsuchbaren Datenbank eine schlechte Idee ist.