Teil 1 – Intro
Im Requirements Engineering ist die Qualität der Anforderungen entscheidend für den Projekterfolg. Um sicherzustellen, dass Anforderungen von hoher Qualität und somit belastbar sind, ist eine gezielte Analyse von Ursprungsanforderungen notwendig. Diese Analyse sollte effizient durchgeführt werden, um die vorhandenen Ressourcen optimal zu nutzen. Dabei ist es wichtig, die relevanten Qualitätskriterien zu identifizieren und regelmäßig zu überprüfen, welche Anforderungen noch verbessert werden müssen.
In dieser 8-teiligen Blogserie werden wir sechs verschiedene Analysetätigkeiten vorstellen, die Ihnen helfen, eine Anforderungssammlung zu erstellen, die ihren Qualitätskriterien bestmöglich entspricht. Diese Tätigkeiten dienen als Ausgangspunkt für weitere Analyseschritte und helfen Ihnen, gezielt an der Verbesserung Ihrer Spezifikation zu arbeiten.
Nach Durchführung einer Analyseaufgabe für eine Ursprungsanforderung entsteht eine Systemanforderung. Diese neue Anforderung muss jedoch nicht sofort allen Qualitätsansprüchen genügen. Daher können weitere Analysetätigkeiten durchgeführt werden, um die Systemanforderung zu verbessern oder neue Anforderungen abzuleiten. Mithilfe der vorgestellten Tätigkeiten können viele bislang fehlende Anforderungen erzeugt werden, wobei jede Anforderung eine andere verfeinert. Die abstrakteste Ebene von Anforderungen bildet eine Ausnahme, da diese Anforderungen nebeneinanderstehen und die Basis für verfeinernde Anforderungen bilden. Dies führt zu vielen Bäumen, die mathematisch als “Wald” bezeichnet werden, wobei die Wurzeln die abstraktesten Anforderungen und die Blätter, die nicht weiter verfeinerten Anforderungen darstellen. Hierbei wird zwischen nicht-funktionalen und funktionalen Anforderungen unterschieden, die in Verfeinerungshierarchien miteinander verbunden sind.
Als Vorwort für die Tätigkeiten gilt zu erwähnen, dass diese nicht zwingend in der beschriebenen Reihenfolge durchgeführt werden müssen. Je nach Bedarf können Tätigkeiten ausgelassen oder mehrfach durchgeführt werden. Der rechts abgebildete Graph visualisiert das Ergebnis der jeweiligen Tätigkeit in einem Ablauf.
- Anforderungen separieren: Die Analyse beginnt mit einer Ursprungsanforderung, die von einem Stakeholder oder aus einem Lastenheft stammt. Zunächst sollten diese Ursprungsanforderungen in mehrere Anforderungen zerlegt werden, um sie getrennt betrachten zu können.
- Notwendige Anforderungen extrahieren: Anschließend wird überprüft, ob die separierten Anforderungen tatsächlich relevant für das betrachtete System sind. Diese Schritte sollten auf alle Ursprungsanforderungen angewendet werden, um eine solide Basis für die weitere Analyse zu schaffen.
- Anforderungen abstrahieren: Im nächsten Schritt werden abstraktere Anforderungen zu einer bestehenden Anforderung gefunden, um die oberste Ebene der Anforderungen zu identifizieren.
- Fehlende Anforderungen ergänzen: Diese Ebene wird dann durch das Ergänzen fehlender Anforderungen vervollständigt.
- Anforderungen verfeinern: Danach können die bestehenden Knoten in den Anforderungsbäumen weiter verfeinert werden.
- Anforderungen verbessern: Zum Abschluss der Analyse werden die Anforderungen auf ihre individuelle Qualität überprüft und gegebenenfalls verbessert.
In der Praxis erfordert die Anwendung dieser Tätigkeiten oft zusätzliches Wissen, das über die Ursprungsanforderungen hinausgeht. Dieses Wissen muss durch Rücksprache mit Stakeholdern oder durch Annahmen, die später überprüft werden, ergänzt werden.
In den kommenden Artikeln dieser Serie werden wir diese sechs Analysetätigkeiten im Detail betrachten. Jede Analysetätigkeit wird in einem eigenen Blogartikel vorgestellt, wobei wir auf die Methode, ihre Vorteile und praktische Tipps zur Umsetzung eingehen werden. Abschließend werden wir die wichtigsten Erkenntnisse zusammenfassen und Ihnen Empfehlungen für die Praxis geben.
Bleiben Sie dran und erfahren Sie, wie Sie durch gezielte Analyse belastbare Anforderungen für Ihr Requirements Engineering schaffen können!
Beste Grüße,
Ihre SOPHISTen