BlogbeitragIm Fokus

Thema im Fokus: Ein Plädoyer für Requirements Engineering

Was auch immer Sie herstellen: Es lohnt sich, zuerst zu planen und es dann zu bauen. Idealerweise müssen Sie dann keines Ihrer Arbeitsergebnisse verwerfen oder überarbeiten. Je komplexer das Produkt, je mehr zufriedenzustellende Parteien und je neuer und unreifer die Technologie, desto schwieriger erreichen Sie dieses Ideal. Es gibt zwei Ansätze, die im Folgenden erläutert werden.

Vorab-Anforderungsermittlung. Bei diesem Ansatz werden die Anforderungen zu Projektbeginn vollständig ermittelt und qualitätsgesichert. Dadurch entsteht ein schlüssiges Gesamtkonzept. Verpflichtend ist dies in sicherheitskritischen Bereichen, wo das Gesamtkonzept des Systems einer Risiko- und Sicherheitsanalyse unterzogen werden soll. Sinn macht dieser Ansatz auch, wenn eine Technologie zum Einsatz kommt, die sich nicht flexibel erweitern und verändern lässt. Gängige Standards, die dieser Philosophie folgen, sind das V-Modell XT (Lastenheft, tu-clausthal.de) und ISO/IEC/IEEE 29148:2018 „Systems and software engineering – Life cycle processes – Requirements engineering“ (iso.org).

Iterative Anforderungsermittlung. Lassen sich in einem volatilen Umfeld oder für ein komplexes Vorhaben die Anforderungen nicht zuverlässig frühzeitig ermitteln, kommen agile Methoden zum Einsatz, bei denen ein System in mehreren Iterationen entsteht. In jeder Iteration sind neue Anforderungen zu ermitteln und ein technischer Entwurf zu erstellen, umzusetzen und zu testen. Dadurch lassen sich anforderungsbezogene Entscheidungen aufschieben und Feedback zum bisher Umgesetzten berücksichtigen. Das verringert das Risiko, in die falsche Richtung zu arbeiten – aber nicht das Risiko, dass sich im Verlauf des Projektes die anzustrebende Richtung ändert. Die iterative Anforderungsermittlung arbeitet mit Anforderungen, die einzeln in einem Backlog oder Ticketsystem verwaltet werden. In der Praxis kommt häufig das kommerzielle Werkzeug Jira zum Einsatz (atlassian.com).

Es gibt natürlich auch Mischformen aus beiden Vorgehensweisen, z.B. eine abstrakte und vollständige Vorab-Spezifikation, die dann iterativ verfeinert und umgesetzt wird.

Die Feinheiten des Requirements Engineering – von Interviewtechniken über UML-Notationen bis hin zu Standards und rechtlichen Anforderungen – bieten eine unerschöpfliche Spielwiese für Diskussionen, Methoden, Werkzeuge, Experimente und Forschung. Zum Austausch bietet sich die Fachgruppe „Requirements Engineering“ der GI an (fg-re.gi.de), die sich immer Ende November trifft und unter dem Jahr in Arbeitskreisen inhaltlich arbeitet (fg-re.gi.de/fachgruppe/arbeitskreise). In der nächsten Ausgabe der Softwaretechnik-Trends erscheinen der Bericht und die Beiträge des vorigen Treffens (uni-siegen.de).

Die wissenschaftliche Community versammelt sich auf der International Requirements Engineering Conference (re19.orgre20.org usw.) und auf der International Working Conference on Requirements Engineering REFSQ (refsq.org). Praxisorientierte Veranstaltungen zu diesem Thema sind die Requirements Engineering Tagung Reconf in München (reconf.de) und die European Business Analysis Days in Frankfurt (ba-day.com).

Dieser Beitrag wurde von Andrea Herrmann verfasst. Sie ist Gewähltes Mitglied im GI-Präsidium und Mitglied des Leitungsgremiums der GI-Fachgruppe „Requirements Engineering“.