Was ist Requirement Engineering und Requirement Management?

1. Einleitung

Requirements Engineering (RE) geht Hand in Hand mit Requirements Management und ist ein wichtiger Bestandteil der Entwicklung von Systemen, Produkten und Software. Erfolgreich entwickeln bedeutet, die zu erfüllenden Anforderungen zu kennen. Doch was steckt hinter Requirements Engineering? Und wie funktioniert‘s?

2. Was ist Requirements Engineering?

Um die Grundidee hinter Requirements Engineering zu verstehen, orientiert man sich am besten an der Übersetzung des Begriffs ins Deutsche. Requirements bedeutet Anforderungen, Engineering in etwa entwickeln, konstruieren, ausführen. Somit geht es bei Requirements Engineering um das Spezifizieren und Verwalten von Anforderungen an ein System, ein Produkt oder eine Software. Wie auch andere Datenanalyse-Anwendungen ist Requirements Engineering ein wichtiges Tool zur Optimierung der Geschäftstätigkeit von Unternehmen.

Durch Requirements Engineering sollen die für die Entwicklung von Systemen, Produkten und Software folgenden wichtigen Fragen beantwortet werden, um das Endresultat zu optimieren: 

  • Was sind die Anforderungen (Fähigkeiten und Eigenschaften) an das zu entwickelnde Produkt?
  • Wie kann man diese Anforderungen spezifizieren?
  • Wie soll man diese Anforderungen verwalten?

3. Was sind die Hauptaufgaben von Requirements Engineering?

Das IREB – International Requirements Engineering Board, eine gemeinnützige Organisation von Experten, mit dem Ziel, professionelle Standards im Requirements Engineering zu schaffen, formuliert vier zentrale Tätigkeiten:

  • Anforderungserhebung: Die Anforderungen werden anhand unterschiedlicher Methoden möglichst effizient, vollständig und fehlerfrei ermittelt. Auch Detaillierung und Verfeinerung gehören dazu. 
  • Anforderungsdokumentation: Die Anforderungen müssen adäquat und qualitativ hochwertig beschrieben werden, um die Anforderungsspezifikation mit allen relevanten Anforderungen entstehen zu lassen.
  • Anforderungsprüfung und -abstimmung: Die Anforderungsspezifikation wird auf ihre Gesamtqualität geprüft. Dazu gehört auch die inhaltliche Abstimmung mit den Stakeholdern.
  • Anforderungsverwaltung: Auch Anforderungsmanagement genannt, geht es bei der Verwaltung der Anforderungen darum, sie zur Nutzung bereitzustellen, die Versionsstände zu pflegen, eine Priorisierung zu erstellen, etc.

Kurz gesagt, Requirements Engineering dient dazu, Anforderungen zu ermitteln, zu spezifizieren und zu prüfen. Einzelne Aktivitäten können dabei häufiger auftreten. So werden Anforderungen sowohl nach deren Ermittlung bzw. Analyse geprüft, aber auch nach der Spezifikation. 

Je nachdem, woher man seine Informationen bezieht, kann die Definition etwas unterschiedlich ausfallen. Daraus ergibt sich, dass zwischen Begriffen wie Anforderungsmanagement, Anforderungsanalyse und Requirements Engineering oft kein Unterschied gemacht wird. Um Missverständnisse zu vermeiden, sollte immer darauf geachtet werden, zwischen den Kommunikationspartnern Klarheit zu schaffen und Rücksprache zu halten.  

4. Wie werden Anforderungen ermittelt?

Zur Durchführung von Requirements Engineering müssen Anforderungen ermittelt, analysiert, geprüft, spezifiziert und verwaltet werden, um sie effizient zur Optimierung der Entwicklung eines Produkts, Systems oder Software einsetzen zu können. Doch woher kommen diese Anforderungen eigentlich und wie kann ich sie bestimmen?

Existierende Anforderungen lassen sich durch Befragungen oder Analysen ermitteln. Die Befragungen können schriftlich oder mündlich, etwa mithilfe von Fragebögen, durchgeführt werden und sollten in einem weiteren Schritt einer Analyse unterzogen werden. Analysieren kann man vorhandene Softwaresysteme, Dokumente aller Art (Berichte, Referenzmodelle, Handbücher, etc.) oder Nutzerinnen bzw. Nutzer und deren Umgang mit Systemen. 

Zur Ermittlung von neuen und innovativen Anforderungen muss man kreativer vorgehen, man setzt sogenannte Kreativitätstechniken ein. Dazu zählt etwa Brainstorming, Mind-Mapping oder verschiedene Kartentechniken, die bei Workshops mit den Stakeholdern zum Einsatz kommen.

5. Was ist der Unterschied zwischen Requirements Engineering und Requirements Management?

Am häufigsten fälschlicherweise synonym verwendet, werden die beiden Begriffe Requirements Engineering und Requirements Management. Genau genommen muss man, wenn man von einem ganzheitlichen Requirements Engineering-Ansatz spricht, dies immer in Zusammenhang mit Requirements Management tun. Rückblickend auf die bereits erwähnten vier zentralen Aktivitäten bezieht sich Requirements Engineering im Wesentlichen auf den ersten Punkt, die Ermittlung und Erhebung der Anforderungen. Requirements Management bedeutet ins Deutsche übersetzt Anforderungsverwaltung, umfasst somit die vierte zentrale Tätigkeit. 

Somit dürfen die beiden Fachtermini nicht synonym verstanden werden, sind jedoch untrennbar miteinander verbunden: Ohne Ermittlung gibt es keine Verwaltung und ohne effiziente Verwaltung und Aufbereitung hat die Ermittlung von Anforderungen keinen Nutzen.

6. Warum ist Requirements Engineering so nützlich?

Es gibt zahlreiche gute Gründe für die Anwendung von Requirements Engineering und Management: 

  • Zur Eruierung der Erwartungen der Stakeholder. Nur wer deren Erwartungen kennt, kann ein Produkt entwickeln, dass diese Erwartungen erfüllt. Man spricht von Stakeholdermanagement, also der Identifikation, Analyse und Kommunikation der Erwartungen als Teil von RE. 
  • Zur erfolgreichen Einführung von Software. Denn das funktioniert nur dann, wenn vorher die Anforderungen vollständig geklärt wurden.
  • Zur Erstellung von Prognosen über Termine und Kosten und um Pläne zu entwerfen. Die Anforderungen zu kennen ist die Basis für die Vorausplanung, nicht nur in der Produktentwicklung, sondern bei allen unternehmerischen Tätigkeiten.
  • Zur Reduzierung von Entwicklungskosten. Durch die Erkennung und Analyse von Anforderungen vor der Produktion können Fehlentwicklungen im besten Fall vermieden werden. Kommt es zu missverstandener Anforderungsanalyse, kann diese jederzeit, auch im Frühstadium der Produktion behoben werden, bevor die Funktion, das Produkt tatsächlich angewandt wird, was sich positiv auf die Kosten auswirkt.
  • Zur Weiterentwicklung von Produkten, Systemen oder Software. Es kommt häufig vor, dass sich bereits während der Entwicklungsphase, spätestens jedoch beim Betrieb, Änderungen in Hinblick auf gesetzliche Vorgaben, Funktionswünsche oder Merkmale ergeben. Mit RE wird die Basis geschaffen, die auch zur Weiterentwicklung eines Produktes zur Verfügung steht. Requirements Engineering ist somit ein kontinuierlicher Prozess, der in jeder Entwicklungsphase wichtig ist.
  • Zur Vermeidung von gescheiterten Projekten und Entwicklungen. Verzichtet man auf die Ermittlung, Analyse und Verwaltung von Anforderungen, ist die Chance größer, dass das Endresultat nicht den Zweck erfüllt, den es erfüllen soll. 

7. Welche Tools gibt es für Requirements Engineering?

Die Liste der vorhandenen Requirements Engineering Tools ist lang. Man sollte sich überlegen, welche Ansprüche man hat, welche technischen Voraussetzungen gefordert werden und wer die Software benutzen soll. Es gibt zahlreiche Anbieter und Anbieterinnen verschiedenster Software Tools, die in Firmen zum Einsatz kommen können. Außerdem können auch Anwendungen genutzt werden, die nicht primär auf Anforderungsmanagement ausgerichtet sind, wie etwa MS Excel oder MS Word. 

Eine kleine Auswahl: 

  • ReqSuite RM von OSSENO Software
  • Polarion Requirements von Siemens
  • DOORS von IBM
  • Enterprise Architekt von Sparx Systems
  • CaliberRM von Borland
  • Reqtify von Dassault Systems
  • Jama Connect von Jama Software
  • PREEVision von Vector
  • Helix ALM von Perforce
  • Visure Requirements
  • Cradle von 3SL
  • uvm.

Requirements Engineering zahlt sich aus, denn nur wenn man weiß, was von einem Produkt, einer Software oder einem System erwartet wird, was es können soll, kann man ein möglichst passendes Resultat erzielen, das die jeweilige Zielgruppe anspricht und gewinnbringend ist. Durch die Anwendung verschiedenen Datenanalyse-Tools wie etwa Business Intelligence und Predictive Analytics und natürlich auch Requirements Engineering kann ein Unternehmen seine Geschäftsabläufe deutlich optimieren und davon profitieren.

Melde dich hier direkt für die gewünschte Weiterbildung an