FAQ Requirements Engineering
RE ist die Abkürzung des Begriffs Requirements Engineering.
Requirement = Anforderung
Engineering = technische Planung im Ingenieurswesen mit hohem Qualitätsanspruch
Requirements Engineering umfasst die Anforderungsanalyse, also das Ermitteln, Beschreiben und Prüfen von Anforderungen, sowie das Requirements Management, das Verwalten von Anforderungen, beides mit ingenieurmäßigem Vorgehen.
Wie ist RE definiert?
Unsere eigene Definition lautet: Requirements Engineering umfasst die Anforderungsanalyse und das Requirements Management mit ingenieurmäßigen Vorgehen. IEEE hingegen schreibt: Requirements Engineering (RE) is the branch of systems engineering concerned with managing desired properties and constraints of software-intensive systems and with goals to be achieved in the environment. It is concerned with these aspects from the problem analysis stage to the implementation and maintenance stages of a system. Additional variety is added because of differences in issues that arise in different domains, ranging from public administration software to workflow systems, groupware and embedded systems and control software.
Wozu ist RE nötig?
Requirements Engineering wird benötigt um Anforderungen an zu erfüllende Leistungen eines Produktes, eines Prozesses oder am Prozess beteiligte Personen zu definieren. Neben diesem eher technischen Aspekt darf jedoch auch das soziale Ziel nicht vergessen werden: Gegen Ende der RE-Tätigkeiten sollten die Stakeholder sich mit den Entwicklern auf die Anforderungen geeinigt haben. Das Requirements Engineering umfasst das Ermitteln, das Beschreiben, das Prüfen und das Verwalten von Anforderungen und hat entscheidende Auswirkungen auf die Qualität des entstehenden Systems.
Die Ergebnisse des Requirements Engineering, das heißt die verschiedenen Anforderungsdokumentationen dienen dem Hersteller des Systems als Richtlinie, da dort festgelegt ist, welche Funktionalitäten das System in welcher Qualität nach der Fertigstellung vorweisen muss.
In welchen Situationen setze ich RE ein?
Eigentlich wird Requirements Engineering schon durchgeführt, sobald sich jemand die ersten Gedanken darüber macht, wie ein System zukünftig beschaffen sein soll. Je größer das neu zu entwickelnde System oder je komplexer die Änderungen am bestehenden System sind, desto mehr Ansprüche werden an einen definierten Requirements Engineering Prozess und die Dokumentation der Ergebnisse gestellt werden. In der Regel definieren dann firmeninterne oder –externe Systemanalytiker die Anforderungen zusammen mit den Systembetroffenen, die oft Stakeholder genannt werden.
Was kann passieren, wenn ich RE nicht einsetze?
Wenn kein Requirements Engineering durchgeführt wird, kann das dazu führen dass:
- das System von den Anwendern nicht akzeptiert wird, da sie nicht befragt wurden
- das System fehlerhaft gebaut wird, weil die Entwickler das System aufgrund von Vermutungen gebaut haben
- sich die Projektlaufzeit um ein vielfaches erhöht, weil Abstimmungen zwischen verschiedenen Abteilungen aufgrund fehlender Anforderungsdokumentation wesentlich erschwert werden
- das Projekt vollkommen scheitert, weil das System aufgrund fehlender oder mangelhafter Anforderungen nicht schnell genug umgesetzt werden kann.
Wer setzt RE typischerweise ein?
Requirements Engineering kommt bei jedem Systementwicklungsprozess zum tragen. Es stellt sich nur die Frage, wie stark dieser Prozess in dem jeweiligen Projekt definiert sein muss. Wenn eine kleine Änderungen an einem Produkt firmenintern zwischen zwei Personen direkt abgesprochen werden kann, kann es sein, dass dazu nur ein leichter RE-Prozess gefordert ist. Allerdings wird für die Anforderungsanalyse eines sicherheitskritischen Systems ein wesentlich ausführlicher definierter RE-Prozess nötig sein, da hierbei mehr Dokumentation und Abstimmung gefordert wird.
Was kostet RE, was nutzt es?
Wenn auf einen RE-Prozess viel Wert gelegt wird um die Anforderungen ein System eindeutig, widerspruchsfrei, vollständig und testbar zu beschreiben, wird RE die Projektkosten in den frühen Phasen einer Systementwicklung erhöhen. Allerdings können durch eine gute Anforderungsanalyse viele Fehler im System schon frühzeitig erkannt und beseitigt werden wodurch sich langfristig gesehen die Gesamt-Projektlaufzeit wesentlich reduzieren lässt.
Würde ein in der Anforderungsanalyse gefundener Fehler zur Behebung einen Personentag benötigen, wären es in der Designphase schon etwa 10 Personentage und in der Realisierungsphase schon cirka 100 Personentage Aufwand.
Welche Ausbildung brauche ich um RE einzusetzen?
Um RE einzusetzen, sollte man in der Lage sein, technische Sachverhalte eindeutig, widerspruchsfrei vollständig und lesbar zu beschreiben. Eine andere Rolle spielen gute kommunikative Fähigkeiten um Anforderungen, die von anderen Personen gestellt werden, formulieren zu können. Falls Sie noch nie Anforderungen an ein System beschrieben haben, würde sich eine mehrtägige Schulung empfehlen, um die grundlegenden Techniken zu erlernen.
- Herstellung der Nachvollziehbarkeit von Änderungen an Dokumentationen
- Herstellung der Nachvollziehbarkeit von Abhängigkeiten von Informationen untereinander
- Verbesserung der Kommunikation zwischen den Projektbeteiligten
- Verbesserung der Kommunikation zwischen Auftraggeber und Auftragnehmer
- Durch Abstimmung der im Projekt verwendeten Tools werden Informationen effektiv miteinander verknüpft
- Erfassen aller Projektbeteiligten und Definition der benötigten Arbeitsschritte (Workflow-Konzept)
- Dokumentation des Fortschritts des Entwicklungsprozesses von Informationen
- Verteiltes Arbeiten wird ermöglicht und damit die Aktualität von Informationen sichergestellt
- Strukturierung des Anforderungsdokumentes
Welche anderen Begriffe gehören zu dem Begriffsfeld
- Requirements Engineering
- Requirements Documentation
- Anforderungsverwaltung
- Anforderungsmanagement
- RM - Tool
Gibt es evtl. Definitionen?
Eigene Definition: Requirements Management umfasst Maßnahmen, welche die Anforderungsanalyse und die weitere Verwendung der Anforderungen unterstützen.
Wozu brauche ich es?
Requirements Management wird benötigt um den Überblick über die Gesamtheit der Anforderungen an ein System zu bekommen und zu behalten. Methoden des RM unterstützen den Anforderungsanalyseprozess und helfen dabei die Vollständigkeit, Widerspruchsfreiheit, Aktualität und Redundanzfreiheit von Anforderungen über das gesamte Anforderungs-Dokument sicherzustellen.
Wann setze ich RM ein?
Wenn ein RM-Prozess bewusst durchgeführt wird, startet dieser eigentlich mit der Definition der Stakeholder und der Definition der Arbeitsschritte welche die einzelnen Stakeholder durchlaufen. Durch die oben beschriebenen Maßnahmen wird RM über die gesamte Projektlaufzeit gelebt und kommt zum Teil auch nach Beendigung einer Systementwicklung zum tragen, wenn es darum geht für ein anderes System erhobene Anforderungen für ein Anderes wieder zu verwenden.
Was kann passieren, wenn ich RM nicht einsetzte?
Wenn kein RM-Prozess eingesetzt wird, führt das in der Regel dazu, dass die Gesamtheit aller Anforderungen nicht mehr überschaubar ist, ein aktueller Stand der Anforderungen wahrscheinlich nicht erhältlich ist und das Abstimmen von Anforderungen nahezu unmöglich wird. Letztendlich landen Sie mit einem nicht durchführten RE-Prozess im Chaos.
Brauche ich unbedingt ein Tool dazu?
Vor allem um die Nachvollziehbarkeit von Informationen (in Bezug auf Änderungen und Abhängigkeiten) zu gewährleisten und um einen Workflow-Prozess zu unterstützen, empfiehlt es sich ein RM-Tool einzusetzen. Diese für einen RM-Prozess wichtigen Aspekte sind ohne eine Toolunterstützung kaum zu realisieren.
Was kostet ein RM-Tool, was nutzt es?
RM-Tools sind in den unterschiedlichen Preiskategorien zu erhalten. Die Spanne liegt dabei von „fast geschenkt“ bis „nicht gerade billig“. Kosten verursacht dann noch die Tooleinführung selber. Je komplexer das Tool in seiner Handhabung ist, desto mehr Zeit werden die Anwender benötigen um mit dem Tool umgehen zu können. Der Nutzen liegt dann aber darin, dass durch einen optimierten, toolunterstützten RE-Prozess die Projektlaufzeiten und –Kosten insgesamt geringer werden.
Ab einer gewissen Größe, Komplexität, Kritikalität oder Verteilung führt kein Weg am Tooleinsatz vorbei.
Welche Ausbildung brauche ich um ein RM-Tool einzusetzen?
Eine ein- bis mehrtägige Schulung die den Anwendern des Tools die Bedienung erläutert, ist für die meisten RM-Tools zu empfehlen. Viele der Tools sind in der Regel zwar recht intuitiv zu bedienen. Aber oft sind sie auch sehr komplex und viele Anwender sind höchstens mit den Grundzügen des Requirements Management vertraut.
Wer setzt RM typischerweise ein?
- Anforderungen an ein System von vielen Stakeholdern geschrieben bzw. abgestimmt werden
- Die Stakeholder an unterschiedlichen Standorten arbeiten
- Ein hoher Kommunikationsbedarf zwischen Auftraggeber und Auftragnehmer besteht
- Das System Anforderungen an mehrere System Releases beinhaltet
- Das System Anforderungen an verschiedene Produktreihen beinhaltet
- Die Anforderungen einer hohen Änderungsrate unterliegen
- Wiederverwendung von Anforderungen gefordert wird, sollte RM bewusst und definiert eingesetzt werden.
Welche Ausbildung brauche ich um RM einzusetzen?
Um RM einzusetzen, sollte man zumindest ein Grundverständnis für RE und Projektmanagement (in Bezug auf Dokumenten- und Prozessworkflow) haben. Falls RM-Tools zum Einsatz kommen, sollten Kenntnisse über dessen Fähigkeiten vorhanden sein.
Welche Webseiten/Bücher liefern mit mehr Infos dazu?
- IEEE/EIA 12207: Information Technology – Software life cycle processes. First edition, Aug. 1, 1995
- Robertson, S.:Robertson, J.; Foreword Weinberg, G.: Mastering the Requirements Process. Reading/MA, Addison Wesley 1999
- Rupp, C.: Requirements Engineering und –Management, Hanser Verlag 2009,
ISBN 3-446-41841-5

deutsch
english
Newsletter