Wer sich mit der Entwicklung von Produkten, Systemen oder einer Software beschäftigt, stellt sich verschiedene Fragen: Was sind die Anforderungen – also die Fähigkeiten und Eigenschaften – des gewünschten Produkts? Wie lassen sich diese Anforderungen spezifizieren – also erheben, analysieren, dokumentieren und validieren? Wie sollten Anforderungen verwaltet – also freigegeben, evtl. verändert und rückverfolgt – werden?
Definition und Aktivitäten
Die Antworten auf diese Fragen liefert das Requirements Engineering (RE): RE ist das systematische Vorgehen beim Spezifizieren und Verwalten von Anforderungen an ein System, ein Produkt oder eine Software. Viele Definitionen von Requirements Engineering variieren im Detail.
Das International Requirements Engineering Board (IREB), das versucht, sowohl RE als auch Business Analyse (BA) zu professionalisieren, nennt vier zentrale Aktivitäten:
- Die Ermittlung von Anforderungen inklusive Detaillierung und Verfeinerung
- Die Dokumentation als adäquate Beschreibung von Anforderungen
- Die Prüfung und Abstimmung von Anforderungen mit dem Ziel, die Qualität sicherzustellen
- Die Verwaltung – auch als Requirements Management bezeichnet – von Anforderungen
Das International ) adressiert bspw. die Anforderungserhebung der Stakeholder, das Anforderungsmanagement inklusive Kommunikation und die Anforderungsanalyse (Quelle: Institute of Business Analysis (IIBA) sowie IEEE 24765:2017)).
spricht von
- Anforderungserhebung (Requirements Elicitation),
- Anforderungsanalyse (Requirements Analysis),
- Anforderungsspezifikation (Requirements Specification) und
- Anforderungsbewertung (Requirements Validation).
Synonyme
Aufgrund dieser unterschiedlichen Definitionen und Interpretationen werden auch viele Begriffe synonym zu Requirements Engineering genutzt. Vor allem Anforderungsmanagement und Anforderungsanalyse werden häufig genannt. Diese Begriffe können aber auch unter RE subsumiert werden.
Requirements Engineering – das systematische Vorgehen beim Spezifizieren und Verwalten von Anforderungen
Gründe für Requirements Engineering
Es gibt eine Reihe von guten Gründen für die Durchführung von Requirements Engineering:
Was erwarten die Stakeholder?
Nur wer weiß, was die Nutzer, Auftraggeber, aber auch andere Interessenten vom Produkt erwarten, ist in der Lage, etwas zu entwickeln, das entsprechende Erwartungen erfüllen kann. Ansonsten fehlt die Akzeptanz. Das Stakeholder-Management – bestehend aus der Identifikation, Analyse und Kommunikation ist daher ein zentraler Bestandteil des Requirements Engineering.
Beschreibung der Lösung
Die Erhebung der Anforderungen der Nutzer sowie der Erwartungen der Stakeholder an das Produkt sind aber nicht genug. Gerade technische Systeme sind komplex und lassen sich nur erfolgreich implementieren, sofern es eine möglichst vollständige, eindeutige und widerspruchsfreie Spezifikation aller Anforderungen – bspw. in Form einer System Requirements Specification (SRS) – gibt. Die Erstellung einer solchen Spezifikation ist ebenfalls Aufgabe des Requirements Engineering. Im übrigen lässt sich eine Lösung auch in agilen Projekten eindeutig beschreiben. Nur wird die Tiefe der notwendigen Beschreibung sowie der Zeitpunkt der Erstellung von Sprint zu Sprint entschieden.
Grundlage jeder Planung
Nur wer zumindest einen wesentlichen Teil der Anforderungen kennt, kann Prognosen oder Schätzungen über Termine und Kosten aufstellen, Pläne entwerfen und kommunizieren – nicht nur in der Produktentwicklung, sondern im gesamten Unternehmen.
Risikomanagement
Requirements Engineering kann Entwicklungskosten reduzieren und Fehlentwicklungen vermeiden oder frühzeitig erkennen lassen. Eine Korrektur einer missverstandenen Anforderung in einer frühen Entwicklungsphase ist deutlich günstiger als im laufenden Betrieb.
RE schafft die Basis für eine Weiterentwicklung von Produkten, Systemen oder Software. Und das ist auch der Grund, warum Publikationen, die darauf abzielen, Requirements Engineering als eine Phasentätigkeit zu Beginn einer Entwicklung zu deklarieren, einen wichtigen Punkt übersehen: RE ist eine kontinuierliche Aufgabe. Last but not least führt der CHAOS Report der Standish Group regelmäßig unklare Anforderungen als einen wesentlichen Faktor für gescheitere Projekte und Entwicklungen an. Bei allen Gründen, die für die Durchführung von Requirements Engineering sprechen, ein Aspekt sollte dennoch beachtet werden: Wirtschaftlich betrachtet wirkt RE lediglich indirekt, bspw. in dem sich Kosten reduzieren lassen oder die Kundenzufriedenheit gesteigert wird. RE als Tätigkeit verursacht aber immer Kosten. Hier gilt es also für Organisationen ein „vernünftiges Maß“ zu finden. Fragen im Kontext von Requirements Engineering Es gibt eine lange Liste an Fragen im Kontext von RE. Auf einige der Fragen finden Sie Antworten in unserem Blog: Was ist ein guter Prozess im Anforderungsmanagement? Wie wichtig ist das „Warum“ im Anforderungsmanagement? Welche Tipps gibt es zur Durchführung von Anforderungsworkshops? Was tun, wenn der Berg an Anforderungen zu groß wird? Wie lassen sich Anforderungen binnen 14 Tagen spezifizieren? Was sind die größten Hindernisse im Requirements Engineering? Was sind typische Missverständnisse im Requirements Engineering? Was verhindert Kreativität im Requirements Engineering? Wie lassen sich Anforderungen destruktiv erheben? Wie funktioniert die Anforderungsanalyse remote? Was ist eigentlich agiles Requirements Engineering? Sicherlich fallen Ihnen noch weitere Fragen ein. Melden Sie sich gerne bei uns, gerne versuchen wir die Fragen zu beantworten oder entsprechende Beiträge zu publizieren. Tools für Requirements Engineering Es gibt sehr viele Tools im Requirements Engineering. Hier finden Sie eine kleine Liste mit Tools ohne Anspruch auf Vollständigkeit und ohne Bewertung: YAKINDU von Itemis objectiF RPM von microTOOL ReqSuite RM von OSSENO Software Polarion Requirements von Siemens DOORS von IBM Enterprise Architekt von Sparx Systems CaliberRM von Borland Reqtify von Dassault Systems Reqchecker von Khilogic Jama Connect von Jama Software PREEVision von Vector Helix ALM von Perforce Visure Requirements TraceCloud Cradle von 3SL SpiraTest von Inflecta Sicherlich lässt sich die Liste leicht ergänzen, zumal es zahlreiche Produkte gibt, die in Organisationen für die Arbeit mit Anforderungen genutzt werden (bspw. MS Excel, MS Word oder Jira), originär aber einen anderen Vermarktungsschwerpunkt haben.