Anforderungen bei Softwareänderungen nachverfolgbar halten
AbgeschlossenVerbinden Sie Nutzerergebnisse mit Entscheidungen, Abnahmekriterien, Implementierung und Nachweisen. Aktualisieren Sie die Verbindungen, wenn sich Annahmen ändern.
Veröffentlicht von TaigaWie wir schreiben
Das lernen Sie
- Eine beobachtbare Anforderung mit ausdrücklichen Grenzen schreiben.
- Eine Anforderung durch eine Änderung und ihre Prüfungen verfolgen.
- Nachgelagerte Dokumente erkennen, die eine geänderte Annahme betrifft.
Beschreiben Sie Verhalten, das jemand prüfen kann
„Einen modernen Kundenexport erstellen“ lässt wichtige Entscheidungen offen. Es definiert weder Nutzer noch Datensätze, Felder oder Fehlerverhalten. Ein Agent muss nachfragen oder Annahmen treffen. Nicht dokumentierte Annahmen lassen sich später schwer prüfen.
Nutzen Sie eine fiktive Anforderung mit klarer Grenze: Eine authentifizierte Führungskraft kann aktive Kunden ihrer eigenen Organisation exportieren. Der Export enthält Kunden-ID und Anzeigename. Er schließt Kontaktdaten und archivierte Datensätze aus. Ein Nutzer ohne Führungsrolle erhält keinen Export.
Dazu fehlen noch Entscheidungen über Format, Umfang, Antwortzeit und Fehlerbehandlung. Kennzeichnen Sie Unbekanntes ausdrücklich. Eine nützliche Spezifikation zeigt Unsicherheit, statt sie in selbstsicherem Text zu verbergen.
Trennen Sie Anforderungen von Implementierungsentscheidungen
Der Nutzer braucht eine erlaubte Menge von Datensätzen in einem nutzbaren Format. Datenbankabfrage, Bibliothek und Endpunktstruktur sind Implementierungsentscheidungen. Verknüpfen Sie sie mit der Anforderung, ohne jede aktuelle Wahl zu einem dauerhaften Geschäftsbedarf zu erklären.
Dokumentieren Sie eine folgenreiche Entscheidung mit Kontext, Alternativen und Begründung. Ein synchroner Export kann zum Beispiel für kleine Datenmengen passen. Größere Mengen können einen Hintergrundjob und eine gesonderte Autorisierungsprüfung beim Download erfordern.
Halten Sie die Anforderung möglichst stabil und versionieren Sie die geänderte Entscheidung. So können Reviewer eine andere Implementierung von einem anderen Leistungsversprechen unterscheiden.
Erstellen Sie eine kurze Nachweiskette
Verwenden Sie Kennungen, die in Reviews verständlich bleiben. In diesem Beispiel kann EXPORT-01 die Organisationsgrenze bezeichnen. Der Name dient zur Veranschaulichung und ist kein vorgeschriebenes Nummerierungssystem.
| Verbindung | Beispiel |
|---|---|
| Anforderung | EXPORT-01: nur Datensätze in der Organisation der Führungskraft |
| Entwurfsentscheidung | Mitgliedschaft auf dem Server durchsetzen, nicht im Browser |
| Implementierung | PR ändert Abfrage und Autorisierungspfad |
| Prüfung | Eine Anfrage nach Datensätzen einer anderen Organisation wird abgewiesen |
| Freigabenachweis | Prüfergebnis benennt den angenommenen Commit und das Artefakt |
Die Kette muss auf echte Nachweise zeigen. Ein Testname mit der Anforderungs-ID beweist nicht, dass die Assertion diese Anforderung prüft. Untersuchen Sie den Test und den Produktionspfad, den er ausführt.
Das NIST SSDF ordnet Anforderungen und Prüfung in sichere Entwicklung ein. Nutzen Sie Nachverfolgbarkeit, um diese Aktivitäten prüfbar zu machen, statt Dokumentation als Selbstzweck zu erzeugen. Lesen Sie das Framework.
Prüfen Sie die Folgen einer geänderten Annahme
Angenommen, das Unternehmen braucht nun auch archivierte Kunden. Diese Änderung betrifft mehr als einen Abfrageparameter. Prüfen Sie Aufbewahrungsregeln, Autorisierung, erwartete Datenmenge, Erklärungen für Nutzer und die Bedeutung vorhandener Berichte.
Markieren Sie betroffene Dokumente und Prüfungen für ein Review. Erhalten Sie die vorherige Entscheidung, damit der Betrieb eine ältere Veröffentlichung erklären kann. Schreiben Sie die Vergangenheit nicht stillschweigend um, damit der neueste Entwurf unvermeidlich erscheint.
Ein Agent kann helfen, Verweise zu finden und Aktualisierungen vorzuschlagen. Die Verantwortlichen müssen widersprüchliche Anforderungen klären und das geänderte Verhalten annehmen. Eine Liste passender Dateien ist ein Ausgangspunkt, keine vollständige Folgenabschätzung.
Halten Sie die Dokumentation nutzbar
Dokumentieren Sie Entscheidungen, die Implementierung, Prüfung und Betrieb beeinflussen. Wiederholen Sie dieselbe Anforderung nicht in vielen unverbundenen Dokumenten. Verlinken Sie lieber auf eine gepflegte Quelle.
Fragen Sie vor der Annahme einer Änderung, ob ein Reviewer ihren Zweck bis zu den tatsächlichen Nachweisen verfolgen kann. Fragen Sie vor dem Betrieb, ob der Dienstverantwortliche die relevante Grenze und Wiederherstellungsentscheidung findet. Das sind praktische Prüfungen nützlicher Nachverfolgbarkeit.
Übung bearbeiten
Formulieren Sie eine Anforderung, nach der eine Führungskraft aktive Kunden exportieren kann. Nennen Sie berechtigte Nutzer, Organisationsgrenze, Felder, Fehlerverhalten und eine messbare Abschlussbedingung. Verknüpfen Sie sie mit einem fiktiven Test und einer Veröffentlichung. Erweitern Sie die Anforderung dann um archivierte Kunden und listen Sie die betroffenen Entscheidungen auf.
Arbeitsblatt herunterladen (Markdown)Verständnis prüfen
Quellen und weiterführende Lektüre
- NIST: Secure Software Development Framework ↗
- Google Engineering Practices: What to look for in a code review ↗
Passende Lektüre von Taiga
Wenn Sie diese Auswahl aufheben, wird der gesamte in diesem Browser gespeicherte Fortschritt gelöscht.
Ihr Fortschritt bleibt in diesem Browser. Ohne Konto und Tracking.