Haben Sie schon von atomaren Anforderungen gehört? Aber was heißt das? Jeder Satz eine Anforderung? Eine Definition heißt: „Eine Anforderung ist atomar, wenn sie nicht in weitere Anforderungen aufgespaltet werden kann.“ Alles klar? Nein, dann lesen Sie weiter …

Erst kürzlich hatte ich eine Diskussion über den Umgang mit Abhängigkeiten von Anforderungen. Ausgangspunkt war die Frage, wie solche Abhängigkeiten abgebildet werden sollen, wenn die Realisierung mehrere Anforderungen nur gemeinsam Sinnvoll ist. Es stand die Lösung im Raum, ob solche Anforderungen als „depend“ referenziert werden sollen.

Aber was war damit gemeint, dass eine Realisierung nur gemeinsam Sinnvoll ist? In einer „realize“ Beziehung zu einer übergeordneten Anforderung steckt ja auch diese Semantik, wenn wir unterstellen, dass nur notwendige Anforderungen ohne Alternativen abgeleitet wurden. Gemeint war, dass die Realisierung der Anforderungen – auf einer Ebene – fachlich nicht sinnvoll zu trennen sei.

Mein Vorschlag war dann zu überlegen, ob eine Trennung dieser Anforderungen wirklich notwendig ist. Möglicherweise könnten die Eigenschaften auch in einer Anforderung beschrieben werden.

Atomizität

Beispiel für eine Anforderung, die Existenzabhängig ist.

Das Beispiel zeigt, dass die Anforderungen AB und AC zu einer Anforderung zusammengefasst werden kann, unabhängig von der Ebene darüber (A) und darunter (ABA/ACA). Die Art des Umsetzungsnachweises der Anforderung(en) spielt für die Zusammenführung zu einer Anforderung keine Rolle, da wir unterstellen, dass ein Test der Realisierung gegen die beiden ursprünglichen Anforderungen nur gemeinsam erfolgt. Das Kriterium für Zusammenführung in eine Anforderung ist die „zwingende“ Abhängigkeit der Anforderungen untereinander.

Letztlich muss für die Entscheidung, wie Atomar Anforderungen beschrieben werden müssen, immer ein Trade-off gemacht werden. Gegen die Erstellung und Pflege von zusätzlichen Relationen und Anforderungen, gilt abzuwägen: getrennte Verantwortlichkeiten, Nachweismethoden und fachlicher Kontext. Es wird dann die Alternative umgesetzt, bei der weniger Aufwand entsteht.

Diese Vorgehensweise ist ein fortwährender Prozess, dessen Ergebnis sich im Laufe der Entwicklung immer wieder ändern kann. Entscheidend ist der bewusste Umgang mit dem Thema „Atomare Anforderungen“, denn teuer wird vor allem der unbedachte Umgang mit Anforderungen, egal welche Lösung dann ggf. nicht mehr passend ist.