Ursprünglich hielten Analysten Anforderungen separat fest, ohne immer über die Beziehungen zwischen ihnen nachzudenken. Dies funktionierte für kleine Systeme, aber in großen IT-Projekten steigt die Komplexität der Beziehungen zwischen Anforderungen erheblich: Es entstehen Datenabhängigkeiten, Integritätsverletzungen, Widersprüche und kaskadierende Änderungen, die das Risiko von Ausfällen erhöhen.
Problem — Das Fehlen oder die Unklarheit von Verbindungen zwischen Anforderungen führt zu ausgelassenen funktionalen Blockaden, Bugs, blockierenden Aufgaben und inkonsistenter Teamarbeit. Oft wird eine Anforderung geändert, während die damit verbundenen Anforderungen zurückbleiben, was Probleme im Produktbetrieb verursacht.
Lösung — Die Anwendung der Praxis der expliziten Modellierung und Verfolgung von Abhängigkeiten (Anforderungsabhängigkeitskarten). Dafür kommen Diagramme (z.B. Traceability-Matrix, ERD), spezialisierte Werkzeuge (Jama, Jira-Linking, DOORS), eine klare Festlegung von "übergeordneten" und "untergeordneten" Anforderungen sowie deren Einfluss auf Test-Szenarien, Architektur und Benutzergeschichten zum Einsatz. Es ist notwendig, alle Abhängigkeiten transparent zu dokumentieren und alle Beteiligten über jede Änderung, die betroffene Anforderungen betrifft, zu informieren.
Hauptmerkmale:
Was passiert, wenn in den Anforderungen die Abhängigkeiten nicht angegeben werden?
Antwort: Kritische Verbindungen können übersehen werden (zum Beispiel kann eine Anforderung nicht ohne eine andere umgesetzt werden), es entstehen Blocker, Unzufriedenheit der Kunden, zusätzliche Belastung für das Testing.
Ist es ausreichend, einmal zu Beginn eine Abhängigkeitsskizze zu erstellen?
Antwort: Nein. Die Abhängigkeitsskizze muss während des gesamten Lebenszyklus des Projekts aktuell gehalten werden. Eine Änderung einer Anforderung kann alle damit verbundenen Anforderungen beeinflussen.
Können Abhängigkeiten nur direkt sein (A hängt von B ab)?
Antwort: Nein. In realen Systemen gibt es häufig Kreuz-, Zyklus- und Transaktionsabhängigkeiten sowie Einflüsse durch gemeinsame Ressourcen oder Integrationen.
Negativer Fall: In einem E-Commerce-Projekt wurde die Abhängigkeit zwischen verschiedenen Zahlungsmethoden nicht berücksichtigt. Bei der Änderung eines Moduls trat ein Ausfall auf – ein Teil der Bestellungen wurde nicht verarbeitet.
Vorteile:
Nachteile:
Positiver Fall: Für jede Geschäftsanforderung wurden die zugehörigen technischen Anforderungen festgehalten und eine Traceability-Matrix erstellt. Bei Änderungen wurden automatisiert Benachrichtigungen an alle Beteiligten gesendet.
Vorteile:
Nachteile: