Was ist Requirement Engineering und Requirement Management?

Requirements Engineering umfasst die Definition, Dokumentation und Verwaltung von Anforderungen an ein zu entwickelndes Produkt, eine Software oder ein System. Es bildet somit die Grundlage für einen erfolgreichen Entwicklungsprozess.

Dabei lautet das Ziel des Entwicklungsprozesses, ein Produkt zu erstellen, das alle Anforderungen von Stakeholdern sowie Rahmenbedingungen erfüllt. Um dies zu erreichen, soll ein erfolgreiches Requirements Engineering (RE) ein für alle am Projekt beteiligten Personen einheitliches Verständnis schaffen und als Instrument von der ersten groben Idee bis hin zum konkreten Resultat dienen. RE ist somit Teil der Business Analysis sowie des Projektmanagements und geht Hand in Hand mit dem Requirements Management.

Grundlagen des Requirements Engineering

Requirements bedeutet auf Deutsch „Anforderungen“, während „Engineering“ das Entwickeln, Konstruieren und Ausführen umfasst. Aber was versteht man unter Requirements Engineering im Kontext von Unternehmen? Es beschreibt grundlegend den Vorgang, bei dem die Anforderungen an ein System, eine Software oder ein Produkt erhoben, dokumentiert und verwaltet werden. Das erweist sich vor allem hinsichtlich IT-Projekten als notwendig, um komplexe Projekte zu realisieren, Budgets einzuhalten und Bedürfnisse von Stakeholdern zu erfüllen.

Um diese Ziele zu erfüllen, müssen alle Beteiligten des Requirements Engineering folgende Fragen beantworten: 

  • Wie lauten die Anforderungen an das zu entwickelnde System, Produkt oder die zu entwickelnde Software?
  • Wie lassen sich diese Anforderungen möglichst spezifizieren? Das umfasst eine Erhebung, Analyse und Validierung der Anforderungen.  
  • Wie lassen sich die Anforderungen verwalten? Das umfasst Anpassungen und Nachvollziehbarkeit der ermittelten Anforderungen.

Anforderungen und Ziele

Der RE Prozess soll sicherstellen, dass alle Bedürfnisse und Erwartungen klar definiert und verstanden werden, bevor die eigentliche Entwicklungsarbeit beginnt. Requirements Engineering ist somit wesentlicher Bestandteil des Systems Engineering und des Software Engineering. 

Dafür müssen die erhobenen Anforderungen im RE folgende Kriterien erfüllen:

  • Klarheit: Anforderungen benötigen eine eindeutige und verständliche Formulierung.
  • Konsistenz: Sie dürfen sich nicht widersprechen.
  • Vollständigkeit: Alle notwendigen Anforderungen müssen erfasst sein.
  • Nachvollziehbarkeit: Sie müssen über ihren gesamten Lebenszyklus hinweg nachvollziehbar sein.
  • Verifizierbarkeit: Sie müssen messbar und testbar sein.
  • Relevanz: Anforderungen müssen einen tatsächlichen Nutzen für das Projekt oder das System bieten.
  • Machbarkeit: Sie müssen technisch und wirtschaftlich umsetzbar sein.

In diesem Zusammenhang muss berücksichtigt werden, dass jedes Projekt – und besonders Projekte im Softwarebereich – Gefahr läuft, zu scheitern. Gründe sind unter anderem die Nichterfüllung von Erwartungen, falsche Budgetierung und Ressourcenkalkulation sowie unrealistische Zielsetzungen. 

Übergeordnetes Ziel des Requirements Engineerings lautet also, das Projekt zum Erfolg zu führen. 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.

Requirements Engineering verfolgt dementsprechend folgende Ziele:

  • Eruierung der Anforderungen von Stakeholdern: Ein erfolgreiches RE ermittelt die Erwartungen von Stakeholdern und setzt diese um. Das führt zur Zufriedenheit der Kundschaft. Man spricht von Stakeholdermanagement, also der Identifikation, Analyse und Kommunikation der Erwartungen als Teil von RE.
  • Erfolgreiche Implementierung: Eine eindeutige und widerspruchsfreie Spezifikation aller Anforderungen ist Voraussetzung für den Projekterfolg. Mittels RE können vor der eigentlichen Entwicklung alle Anforderungen klar festgelegt und kommuniziert werden.
  • Planbarkeit von Kosten und Terminen: RE bietet die Grundlage, sämtliche Aufgaben zu segmentieren und anhand dessen Kosten- und Zeitpläne aufzustellen.
  • Reduzierung von Entwicklungskosten: Durch die Erkennung und Analyse von Anforderungen vor der Produktion können Fehlentwicklungen vermieden werden. Kommt es zu missverstandener Anforderungsanalyse, kann diese jederzeit, auch im Frühstadium der Produktion, korrigiert werden, bevor das Produkt tatsächlich angewandt wird.
  • Framework für Folgeprojekte: Ein gut durchdachtes RE schafft die Rahmenbedingungen für Folgeprojekte und Weiterentwicklungen. Oftmals ändern sich gesetzliche Vorgaben, Funktionswünsche oder Merkmale an Produkten während der Entwicklungsphase, spätestens jedoch beim Betrieb. RE schafft ein Fundament, das auch für die Weiterentwicklung eines Produktes zur Verfügung steht.

Hauptaufgaben und Prozesse

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:

1) Anforderungserhebung: Mittels verschiedener Requirements Engineering Methoden werden Anforderungen an ein System oder Produkt möglichst effizient, vollständig und fehlerfrei ermittelt. Durch die Einbeziehung verschiedener Stakeholder sollen alle relevanten Perspektiven berücksichtigt werden. Darüber hinaus sorgen Detaillierung und Verfeinerung der Anforderungen für eine klare und präzise Formulierung der ermittelten Anforderungen.

2) Anforderungsdokumentation: Anforderungen sollen in diesem Schritt adäquat und qualitativ hochwertig beschrieben werden. Dieser Schritt umfasst die systematische Dokumentation der Anforderungen, häufig in Form einer möglichst verständlich formulierten Spezifikation (oder auch Lastenheften), priorisiert die Anforderungen und teilt sie in Gruppen ein:

  • funktionale Anforderungen
  • nicht-funktionale Anforderungen
  • Abnahmekriterien

3) Anforderungsprüfung und -abstimmung: Die Anforderungsspezifikation wird auf ihre Gesamtqualität geprüft. Dies beinhaltet die inhaltliche Abstimmung mit den Stakeholdern sowie die Validierung und Verifizierung der Anforderungen. Die Validierung nutzt verschiedene Methoden, um zu gewährleisten, dass das Produkt auf Anforderungen der Kundschaft rückführbar ist. Die Verifizierung überprüft, ob die Anforderungen korrekt, vollständig, konsistent und frei von Fehlern sind.

4) Anforderungsverwaltung/Anforderungsmanagement: Hierbei geht es darum, Anforderungen zur Nutzung bereitzustellen, ihre Versionsstände zu pflegen, Priorisierungen zu erstellen und Änderungen zu verwalten. Alle Anforderungen werden über den gesamten Projektlebenszyklus hinweg mit Hilfe von Requirements Engineering Tools nachverfolgt. Zudem wird ein strukturiertes Änderungsmanagement genutzt, da sich Anforderungen im Laufe des Projekts ändern können. Dies umfasst:

  • die Bewertung der Änderungsanfragen, 
  • die Kommunikation der Änderungen an alle relevanten Stakeholder und 
  • die Aktualisierung der Anforderungsdokumentation. 

So sollen alle Anforderungen aktuell, korrekt und konsistent bleiben.

Der gesamte Requirement Engineering Prozess ist iterativ. Anforderungen können in der Regel nicht initial vollständig und perfekt definiert werden. Anforderungsdefinition, -analyse, -validierung und -management werden wiederholt durchlaufen, um Anforderungen schrittweise zu verfeinern und anzupassen.

Zudem ist das RE ist ein dynamischer, kontinuierlicher Prozess, der eng mit anderen Entwicklungsphasen verknüpft ist. So läuft der Requirements Engineering Prozess parallel zur System-Design-Phase, Implementierungs-Phase und Testphase.

Methoden zur Anforderungsermittlung

Um zu erfahren, welche Anforderungen zu erfüllen sind, müssen diese Anforderungen zunächst erhoben werden. Welche Methoden zur Anforderungsermittlung erhoben werden, hängen von Art und Beschaffenheit des Produkts (bzw. des Systems oder Software) ab.

Etablierte Methoden zur Ermittlung bestehender Anforderungen sind:

  • Beobachtungsbericht, bei dem in einem bestimmten Szenario über bestimmte Zeit beobachtet wird, was Nutzer*innen tun.
  • Umfragen, bei denen mit gezielten Fragen Informationen von Nutzer*innen gesammelt werden.
  • Use Cases, bei denen beschrieben wird, wie Nutzer*innen ein vorher festgelegtes Ziel mit dem Produkt erreichen können.
  • Benutzergeschichten sind informelle Beschreibungen von Anforderungen aus der Perspektive der Nutzer*innen samt Begründung.
  • Mindmapping, bei den Ideen und neue Konzepte visuell miteinander verbunden werden.
  • Entwicklung eines Prototyps zum fortlaufenden Testen und Verfeinern.
  • Anforderungsworkshops, bei denen mit Stakeholdern gebrainstormt und andere Kreativitätstechniken angewandt werden, um Anforderungen zu ermitteln.

Unterschiede zwischen Requirements Engineering und Requirements Management?

Fälschlicherweise werden die Begriffe „Requirements Engineering“ und „Requirements Management“ oft synonym verwendet. Genau genommen sind das Management und der Prozess der Requirement Engineerings untrennbar miteinander verbunden: Bezugnehmend auf die vier zentralen Aufgaben des RE, bezieht sich RE auf die ersten drei Aufgaben, die Ermittlung sowie Erhebung, Dokumentation und Validierung von Anforderungen. Requirements Management bzw. Anforderungsmanagement bezieht sich auf die Verwaltung der Anforderungen, also die vierte zentrale Tätigkeit.

Die Unterschiede der Tätigkeiten werden bei folgender Gegenüberstellung deutlich:

  Requirements Engineering (RE)    Requirements Management (RM)
  • Bezieht sich auf die Ermittlung, Analyse und Dokumentation von Anforderungen eines Produkts
  • Ziel: Klare und vollständige Spezifizierung der Anforderungen, um die Grundlage für die Produktentwicklung zu schaffen
  • Aktivitäten: Anforderungserhebung, -analyse, -dokumentation und -validierung

 

  • Bezieht auf die Steuerung und Verwaltung der Anforderungen während des Entwicklungsprozesses
  • Ziel: Eine möglichst effektive Entwicklung ermöglichen, indem Fehler frühzeitig erkannt und Änderungen bestmöglich umgesetzt werden
  • Aktivitäten: Verwaltung von Änderungen, Einhaltung der Rahmenbedingungen, Kommunikation mit Stakeholdern

Nutzen und Vorteile von Requirements Engineering

Requirements Engineering zahlt sich aus. Nur, wenn Entwickler*innen wissen, was von einem Produkt, einer Software oder einem System erwartet wird und welche Funktionen es erfüllen soll, kann ein möglichst passendes Resultat erzielt werden, das die Zielgruppe anspricht und gewinnbringend ist. Durch die Anwendung von Requirements Engineering kann ein Unternehmen seine Geschäftsabläufe deutlich optimieren und davon profitieren: 

  • Es entsteht ein Produkt, das Erwartungen der Stakeholder entspricht.
  • Fehler durch Missverständnisse werden minimiert
  • Potenzielle Probleme können frühzeitig erkannt werden
  • Fördert Rollenbewusstsein und Kommunikation aller an der Entwicklung beteiligten Personen
  • Kosten für den Entwicklungsprozess werden gesenkt.
  • Gesetzte Qualitätsstandards können eingehalten werden.

Tools und Software

Mittlerweile existieren zahlreiche Requirements Engineering Tools für die Entwicklung von Produkten, Systemen und Softwares. Nutzer*innen müssen wissen, welche technischen Voraussetzungen gefordert werden, bevor sie ein Tool verwenden. Es gibt zahlreiche Anbieter 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 Auswahl der bekanntesten Requirements Engineering Tools:

  •   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

Best Practices

Folgende Unternehmen sind bekannt für ein etabliertes und effektives Requirements Engineering:

  • Toyota: Der Autohersteller stellt mit seinen RE-Methoden sicher, dass er die Fahrzeuge kundenorientiert produziert. Das Toyota Production System (TPS) betont die kontinuierliche Verbesserung und die Einbeziehung von Mitarbeiter*innen in den Prozess. Bekannt wurden die RE-Methoden durch das Buch „The Toyota Way“ von Jeffrey K. Liker.
  •  Boeing: Der Flugzeughersteller verwendet RE-Methoden in der Entwicklung neuer Flugzeugmodelle. Boeing wird regelmäßig in Fallstudien beleuchtet, wobei dargestellt wird, wie der Hersteller sich ändernde Sicherheitsstandards implementiert und Anforderungen an Fluggesellschaften erfüllt.
  • Siemens: Das Elektronik- und Elektrotechnik-Unternehmen nutzt ein dezidiertes RE zur Entwicklung komplexer Systeme, insbesondere in den Bereichen Automatisierung und Medizintechnik. Dadurch wird Siemens wachsenden Anforderungen Industriezweigen mit wachsendem Innovationsanspruch gerecht.

Mit dem Fortschritt und im Zuge der Digitalisierung steigen die Anforderungen von Stakeholdern an Produkte, Software und Systeme. Vorhaben nehmen an Komplexität zu, weswegen ein strukturiertes und qualitativ hochwertiges Requirements Management unabdingbar wird. Lerne in unserem Programm IREB® CPRE Foundation Level Requirements Engineering anhand internationaler Standards und Best Practices, wie du RE erfolgreich umsetzt. Jetzt bewerben!

Stakeholder haben unterschiedliche Anforderungen und Prioritäten hinsichtlich eines Produkts. Diese Anforderungen müssen vor der Ent­wicklung identifiziert, dokumentiert und priorisiert werden. Das Stakeholder-Management stellt zudem sicher, dass die Anforderungen während der Entwicklung umgesetzt werden. 

Vom Requirements Engineering erhobene Anforderungen sollten folgende Kriterien erfüllen: 

  • Eindeutige und verständliche Formulierung
  • Konsistenz
  • Vollständigkeit
  • Nachvollziehbarkeit
  • Sie sollten messbar und testbar sein
  • Nützlichkeit und Relevanz
  • Technische und wirtschaftliche Machbarkeit

Anforderungsmanagement ist im Wesentlichen eng mit dem Requirements Engineering verknüpft. Während das RE den Fokus auf das Erfassen, die Dokumentation sowie Validierung von Anforderungen setzt, bezieht sich das Anforderungsmanagement auf die laufende Verwaltung und Kontrolle der Anforderungen über den gesamten Projektverlauf.  

Requirements Engineers sind verantwortlich für die Erfüllung der Hauptaufgaben des RE. Konkret gehört zu den Tätigkeiten unter anderem:

  • Durchführung von Interviews, Workshops und Umfragen
  • Erstellen und Pflegen von Anforderungsdokumenten.
  • Analyse und Verfeinerung von Anforderungen
  • Validierung der Anforderungen durch Nutzung von Methoden wie Prototyping und Use Cases.
  • Verwaltung der Anforderungen, einschließlich Nachverfolgbarkeit und Änderungsmanagement.
Melde dich hier direkt für die gewünschte Weiterbildung an