Requirements Engineering ist ein essenzieller Bestandteil erfolgreicher Software- und Systementwicklungsprojekte. Ohne eine strukturierte Anforderungsanalyse entstehen Missverständnisse, hohe Kosten und Verzögerungen. Diese Seite gibt Ihnen einen umfassenden Überblick über Requirements Engineering, seine Bestandteile, Methoden und die Risiken, die ohne eine solide Anforderungsanalyse entstehen können.
Was ist Requirements Engineering?
Beim Requirements Engineering (zu Deutsch: Anforderungsentwicklung) geht es um die gezielte und strukturierte Erfassung, Analyse, Dokumentation und Verwaltung von Anforderungen an ein System oder eine Software. Dabei sind verschiedene Aspekte entscheidend:
Ein strukturiertes Requirements Engineering führt zu eindeutigen, realisierbaren Anforderungen, die von den Entwicklern problemlos umgesetzt werden können und die den Erwartungen der Stakeholder entsprechen. Neben funktionalen Anforderungen (Was soll das System tun?) müssen auch Qualitätsanforderungen (z. B. Performance, Sicherheit, Skalierbarkeit) berücksichtigt werden.
Warum ist Requirements Engineering wichtig?
Requirements Engineering ist in jedem Softwareentwicklungsprojekt ein entscheidender Bestandteil. Es bildet die Grundlage für erfolgreiche Projekte, indem es sicherstellt, dass alle beteiligten Akteure genau wissen, was getan wird und was getan werden muss.
Ohne klar definierte Anforderungen kommt es häufig zu Missverständnissen, Verzögerungen und kostspieligen Fehlentwicklungen. Ein professionelles Requirements Engineering sorgt dafür, dass:
Welche Bestandteile gehören zum Requirements Engineering?
Bei der Durchführung von Requirements Engineering werden vier Phasen durchlaufen.
1. Erhebung
Zunächst geht es um die Ermittlung der Anforderungen. Dazu werden Stakeholder Interviews durchgeführt, um wichtige Aspekte abzuklopfen. Stakeholder aus unterschiedlichen Bereichen werden befragt. Zu einer guten Analyse gehören eine technische, geschäftliche und nutzerorientierte Betrachtung. Die Anforderer aus den verschiedenen Bereichen, wie z. B. der Fachabteilung oder Softwareentwicklung repräsentieren dabei die verschiedenen Interessen.
2. Analyse
Die gesammelten Anforderungen werden zunächst überprüft.
3. Dokumentation
Das Herzstück ist neben der Abstimmung die Dokumentation. In agilen Projekten werden Anforderungen meist in Form von User Stories festgehalten. Eine strukturierte Anforderungsdefinition umfasst die Anforderungsbeschreibung, Prozessdiagramme, weitere Bilder bzw. Screenshots und Akzeptanzkritieren, die die Erfüllungsvoraussetzungen definieren.
4. Validierung
Die definierten Anforderungen werden vor der Umsetzung geprüft. Dazu werden sie mit den Stakeholder validiert – etwa durch Reviews, Prototyping oder das Durchspielen von Testszenarien. In agilen Projekten findet oft ein Refinement statt, wo die Anforderungen gemeinsam mit den Entwicklern auf Vollständigkeit geprüft werden.
Welche Risiken entstehen ohne den Einsatz von Requirements Engineering?
Ohne ein strukturiertes Requirements Engineering treten häufig folgende Probleme in Projekten auf:
Was ist der Unterschied zwischen Requirements Engineering und Requirements Management?
Requirements Engineering umfasst die Erhebung, Analyse und Dokumentation der Anforderungen. In klassischen Projekten endet RE nach der Spezifikation, in agilen Projekten bleibt es jedoch ein fortlaufender Prozess.
Das Requirements Management sorgt dafür, dass Anforderungen auch während des gesamten Projektzyklus aktuell bleiben, kontrolliert geändert werden können und jederzeit nachvollziehbar sind.
Welche Methoden gibt es zur Anforderungsermittlung?
Je nach Projekt und Team sind unterschiedliche Methoden unterschiedlich wirkungsvoll. Hier ein kleiner Ausschnitt: