Im ersten Beitrag unserer BLOG-Serie zum Thema Qualität von Anforderungen haben wir gezeigt, welche Missverständnisse natürlichsprachliche Anforderungen hervorrufen können und wie sich missverständliche Anforderungen auf die Entwicklung des Systems auswirken können. Aber mit welchen Qualitätskriterien erreicht man eine Verbesserung des Verständnisses über das System? Und wie kann man die Qualitätskriterien erfüllen?
Schauen wir uns ein Beispiel aus dem „normalen“ Leben an:
Dieses Gespräch enthält Anforderungen und die Reaktion der Frau lässt erahnen, dass ihre Anforderungen nicht erfüllt wurden. Das liegt höchstwahrscheinlich nicht daran, dass der Mann (Auftragnehmer) die Anforderungen falsch umsetzen wollte. Der Mann hat die Anforderungen schlichtweg anders interpretiert. Eine qualitativ hochwertige Anforderung kann Missverständnisse zwar nicht komplett vermeiden, sie kann die Chance für Missverständnisse jedoch deutlich vermindern.
Eine qualitativ Hochwertige Anforderung muss dazu Kriterien erfüllen. Wir wollen die Anforderungen nun mit diesen Qualitätskriterien analysieren. Es gibt viele Institute, Unternehmen und die Literatur, die Qualitätskriterien für Anforderungen definieren. Wir wählen hier die Qualitätskriterien des internationalen Standards der ISO 29148:2018. Der Standard unterscheidet zwischen Qualitätskriterien für einzelne Anforderungen und Qualitätskriterien für eine Menge von Anforderungen.
Qualitätskriterien für einzelne Anforderungen
Qualitätskriterien für einzelne Anforderungen beziehen sich nur auf eine einzelne Anforderung. Aus dem Gespräch der Frau mit dem Mann gehen zwei Anforderungen hervor:
Anforderung L1: Der Mann muss zum Supermarkt gehen und ein Brot holen.
Anforderung L2: Wenn Sie Eier haben, bring sechs Stück mit.
Die „ISO 29148:2018“ definiert folgende Qualitätskriterien für einzelne Anforderungen:
- Notwendigkeit
- Eignung
- Eindeutigkeit
- Komplett
- Singulär
- Machbar
- Testbar
- Korrekt
- Konform
Für unser Beispiel wollen wir uns auf die drei Qualitätskriterien beschränken:
Eindeutigkeit
Die „ISO 29148:2018“ definiert die Eindeutigkeit als „nur in einer Weise zu interpretieren und einfach zu verstehen“.
Die erste Anforderung ist nicht eindeutig, weil man in die Anforderung auch hineininterpretieren könnte, dass der Mann das Brot nicht unbedingt im Supermarkt holen muss.
Bei der zweiten Anforderung ist nicht eindeutig, ob mit „Stück“ die Eier gemeint sind.
Singulär
Eine Anforderung darf nur eine Fähigkeit oder eine Eigenschaft beschreiben.
In der ersten Anforderung werden zwei Fähigkeiten beschrieben. Gehen und holen. In einer singulären Anforderung darf nur eins der beiden Verben vorhanden sein. Diese Anforderung sollte in zwei Sätze aufgetrennt werden.
Testbarkeit
Für eine testbare Anforderung muss Akzeptanzkriterium vorhanden sein, um messen zu können, ob die Anforderung erfüllt wurde.
Bei der ersten Anforderung ist nur ein Teil der Anforderung messbar. Der Mann muss ein Brot holen. Ob der Mann im Supermarkt war, kann die Frau nicht testen, denn sie hat nicht von ihm gefordert den Beleg mitzubringen.
Qualitätskriterien für eine Menge von Anforderungen
Für Mengen von Anforderungen definiert die „ISO 29148:2018“ folgende Qualitätskriterien:
- Komplett
- Konsistent
- Machbar
- Erweiterbar
- Validierbar
Aus dieser Kategorie beschränken wir uns auf das Qualitätskriterium „Konsistent“. Die Menge an Anforderungen darf sich nicht widersprechen. Begrifflichkeiten müssen definiert und nach der Definition in allen Anforderungen gleich benutzt werden. In der zweiten Beispielanforderung ist der Begriff „Stück“ jedoch nicht definiert und somit lässt nicht zweifelsfrei sagen, worauf sich der Begriff „Stück“ bezieht. Der Mann dachte es wäre das Brot gemeint gewesen und damit wären die beiden Anforderungen nicht konsistent zueinander, denn in der ersten muss der Mann ein Brot holen und in der zweiten Anforderung muss er sechs Brote mitbringen.
Fazit
Ändert man die Anforderungen im Folgenden um haben sie eine höhere Qualität:
Anforderung S1: Der Mann muss genau ein Brot aus dem Supermarkt holen.
Anforderung S2: Falls der Supermarkt 6 oder mehr Eier hat, muss der Mann 6 Eier aus dem Supermarkt holen.
Anforderung S3: Falls der Supermarkt weniger als 6 Eier hat, muss der Mann die im Supermarkte vorhandene Anzahl an Eiern aus dem Supermarkt holen.
Die Frau hat gefordert, dass der Mann im Supermarkt ein Brot holt. In der Ursprungsaussage der Frau wird dies nicht ganz klar, weil der Mann auch beim Bäcker Brot holen könnte. In Anforderung S1 ist das besser ausgedrückt.
Die Ursprungsanforderung R2 wurde aufgespalten in die Anforderungen S2 und S3. Der Mann kann nur 6 Eier mitbringen, falls der Supermarkt 6 oder mehr Eier vorrätig hat. Ansonsten kann er nur die vorhandene Anzahl an Eiern mitbringen. In der Anforderung S3 steckt zudem die Annahme, dass der Mann auch weniger als 6 Eier mitbringen muss, falls weniger als 6 Eier mit Supermarkt vorrätig sind. Annahmen sollten im Rahmen der Anforderungsermittlung so weit wie möglich aufgelöst werden.
Allein dieses kleine Beispiel aus dem realen Leben zeigt, wie die Qualität von Anforderungen durch die Anwendung von Qualitätskriterien aufgedeckt werden kann.
Im nächsten Blogbeitrag lernen Sie aus Qualitätskriterien Regeln ableiten können, um qualitativ hochwertige Anforderungen zu schreiben.
Suchen Sie Unterstützung, um die Qualität von Anforderungen in Ihren Projekten zu verbessern, so melden Sie sich gerne bei unserem Vertrieb.
Beste Grüße,
Ihre SOPHISTen