This entry is part 1 of 2 in the series Modernes Requirements Engineering ist Kommunikation

Viele verstehen unter „Requirements Engineering“ (RE) allein die Kunst, gute Anforderungen zu schreiben. Gewiss, „Writing Good Requirements“ ist eine wichtige Aufgabe im RE. Doch praktisches, modernes RE hat sehr viel mehr mit Kommunikation und Kommunikationskultur zu tun als allgemein bekannt. Daher widme ich mich in dieser Blog-Reihe dem Verhältnis von Requirements Engineering und Kommunikation.

In dem ersten Teil werde ich mit dem Thema „Writing Good Requirements“ starten. Für mich wirft es einige Fragen auf. Zuerst einmal, was bedeutet „Good“ in diesem Zusammenhang? Welche Rolle hat „Writing Good Requirements“ im Requirements Engineering? Und was hat das mit Kommunikation zu tun? Diese Fragen führen mich dann in weiteren Teilen dieser Serie zum „modernen RE“ (auch manchmal bezeichnet als RE 2.0 oder RE 3.0 etc.).

1.    RE = “Writing Good Requirements”?

Klassischerweise denkt man bei „Requirements Engineering“ an Methoden und Techniken, um gut formulierte Anforderungen zu schreiben und um saubere Spezifikationen zu erstellen. Eine solche Dokumentation ist schriftliche Kommunikation, über die Anforderungen an das Produkt (Dienstleistung oder System), und ist eine Kernaufgabe im klassischen RE.
Das oft zitierte „Writing Good Requirements“ ist die bekannteste Aufgabe aus dem RE, und gewiss ein hehres Ziel. Es hat gewöhnlich einen recht positiven Effekt auf den Entwicklungsprozess. Und mit ein paar Regeln, Maßnahmen und Tricks ist es durchaus recht schnell möglich, eine gut formulierte Spezifikation zu schreiben. Denn richtig gut formulierte und saubere Anforderungen helfen, das zu entwickelnde Produkt präziser zu beschreiben, und somit Missverständnisse, Fehler oder Lücken im Entwicklungsprozess frühzeitig aufzudecken. Hierbei stellen sich jedoch sofort folgende Fragen:

  1. Was bedeutet eigentlich „gut formuliert“ und „sauber“ im Konkreten?
  2.  Wie viel Aufwand ist notwendig oder sollte man dafür investieren?
  3. Und: Ist das Ziel von „gut formulierten Anforderungen“ wirklich zielführend für den Entwicklungsprozess?

Ich möchte mich zunächst mit diesen drei Fragen beschäftigen. Daraus läßt sich nämlich gut die Rolle der Kommunikation im RE und im Entwicklungsprozess ableiten, sowie auch die Konsequenzen für ein wirklich modernes RE.

2.    Was bedeutet eigentlich „gut formuliert“ und „sauber“?

In vielen, eher einfachen Projekten werden als Qualitätskriterien für Anforderungen einfach die sogenannten „SMART-Kriterien“ angewandt. Dies sind Kriterien, die ursprünglich im Projektmanagement für gute Formulierung von Zielen definiert wurden:

Specific – Measurable – Activating – Reasonable – Time-bound

SMART-Kriterien für Ziele, https://de.wikipedia.org/wiki/SMART_(Projektmanagement

Im Deutschen gibt es eine große Anzahl unterschiedlicher Übertragungen für dieses Akronym SMART, die jedoch durchwegs alle recht brauchbar sind.

Hält man sich als Anforderungsschreiber an diese SMART-Kriterien, dann hat man wahrscheinlich schon nicht schlecht formuliert und eine gute, nützliche Qualität seiner Spezifikation erreicht.

Das International Requirements Engineering Board IREB empfiehlt für Anforderungen detailliertere Kriterien. Diese resultieren in ein Kernset von 9 wesentlichen, sogenannten „Qualitätskriterien für Anforderungen“ und lauten:

abgestimmt, notwendig, eindeutig, konsistent, prüfbar, realisierbar, verfolgbar, vollständig, verständlich.

Qualitätskriterien für Anforderungen (nach IREB)

Außerdem empfiehlt das IREB zusätzliche Kriterien für das gesamte Anforderungsdokument, also z.B. für das Lastenheft oder die System- oder Komponentenspezifikation:

Eindeutigkeit, Konsistenz, klare Struktur, Vollständigkeit, Modifizierbarkeit, Erweiterbarkeit.

Qualitätskriterien für Anforderungsdokumente (nach IREB)

IREB fügt dem Ganzen weitere Empfehlungen hinzu, darunter die drei Qualitätsaspekte für Anforderungen. Demnach sind bei der Bewertung der Qualität der Anforderung folgende 3 Aspekte zu berücksichtigen.

Inhalt, Dokumentation und Abgestimmtheit

Qualitätsaspekte für Anforderungen (nach IREB)

Damit ergibt sich nun in Summe ein schöner Katalog von offiziellen Kriterien, um zu beschreiben, was „gut und sauber formulierte Anforderungen“ ausmacht: SMART-Kriterien, IREB-Kriterien, Kriterien für Anforderungsdokumente, dazu die 3 Qualitätsaspekte.

Bevor man in der Praxis eine solche Checkliste einsetzen kann, ist sie im Speziellen ja noch zu konkretisieren und dann auf jede einzelne Anforderung anzuwenden. Das macht das „gute Anforderung schreiben“ nicht unbedingt einfacher. Eine solche Menge an Kriterien kann eher verwirren, als helfen. Daher hat mein Kollege Frank Stöckel schon einmal eine Blog-Serie Textuelle Anforderungen“ zur praktischen Formulierung von Anorderungen geschrieben. Hier beschreibt er eine ganze Anzahl von praktischen Formulierungstipps anhand von konkreten Beispielen.

Für den Normalgebrauch von RE scheint eine formale Anwendung all dieser Kriterien nicht unbedingt praktikabel. Zumindest würde die Formulierung, Prüfung und Verbesserung von Anforderungen damit einen erheblichen Aufwand bedeuten. Eine Lösung dafür wäre ein automatisiertes Vorgehen. Das bedeutet wiederum zusätzlichen Aufwand und lohnt sich eher für sehr große Anforderungskataloge. Wir arbeiten derzeit sogar an Möglichkeiten, wie sich dieser Aufwand durch Künstliche Intelligenz (KI, AI) erledigen lässt.

Für den nächsten Teil stelle ich nun die Frage, ob so viel Aufwand überhaupt zielführend ist. Und: Wieviel Aufwand ist denn überhaupt notwendig für eine hinreichende Qualität? Die Antwort führt uns weiter zum Thema „Kommunikation“, und ich werde eine etwas andere Herangehensweise vorstellen, um Anforderungen effizient „gut“ zu schreiben.

Series NavigationModernes Requirements Engineering ist Kommunikation – Teil 2 >>