- Requirements Management
-
Anforderungsmanagement (AM, englisch Requirements Management, RM) ist eine Managementaufgabe für die effiziente und fehlerarme Entwicklung komplexer Systeme. Es umfasst die Anforderungserhebung (Requirements-Engineering) sowie Maßnahmen zur Steuerung, Kontrolle und Verwaltung von Anforderungen, also Risikomanagement, Änderungsmanagement und Umsetzungsmanagement.
Diese Definition, die Anforderungsmanagement als Oberbegriff sieht, trägt den Erkenntnissen aus der Vergangenheit Rechnung, dass Probleme mit Anforderungen zumeist aus mangelndem Management eben dieser resultieren. Es ist inzwischen die Erkenntnis gereift, dass alleine das Aufstellen von Anforderungen nicht ausreicht, sondern für die Realisierung eines Produktes oder Systems der weitergehende Prozess des Anforderungsmanagements notwendig ist.
Inhaltsverzeichnis
Ziele
Anforderungsmanagement ist vor allem dort von Bedeutung, wo komplexe Produkte bzw. Systeme konzipiert werden und sehr arbeitsteilig an deren Entwicklung gearbeitet wird.
Das Ziel des Anforderungsmanagement ist ein gemeinsames Verständnis über ein zu entwickelndes System zwischen Auftragnehmer und Auftraggeber zu erreichen. Zugleich dienen die resultierenden Dokumente häufig als vertragliche Basis für eine weitere Umsetzung.
Die Erreichung eines gemeinsamen Verständnisses kann durch die Einführung und Umsetzung von Anforderungsmanagementmethoden (u. a. Scoping, Anforderungserhebung, Anforderungsspezifikation, Anforderungsanalyse, Anforderungsmodellierung, Anforderungsreviews) erreicht werden. Durch den Einsatz dieser Methoden kann die Qualität der Anforderungsdokumentation gesteigert werden. Qualitätskriterien einer Anforderungsdokumentation sind u. a. Verständlichkeit, Eindeutigkeit, Nachweisbarkeit, Widerspruchsfreiheit, Vollständigkeit.
Das Management von Anforderungen bedeutet, dass Prozesse definiert und implementiert werden, in dem die Anforderungsdokumentation während des gesamten Projektverlaufs aktualisiert wird und diese am Ende als Grundlage für die Erstellung von Testfällen verwendet werden kann.
Normen und Sprache
Anforderungsmanagement gehört zu den elementaren Prozessen in den Software- und System-Reifegrad-Modellen CMMI und ISO/IEC 15504 (SPICE) sowie im Standard ISO/IEC 12207.
Anforderungsmanagement verwendet zur Darstellung die natürliche Sprache, oder bei Bedarf eine formalisierte natürliche Sprache mit eingeschränktem Vokabular und festen Satzkonstruktionen, den sogenannten Requirements Templates. Die ebenfalls verstärkt verwendeten künstlichen Sprachen zur Modellierung wie z. B. UML oder Message Sequence Charts (MSC) erleichtern in vielen Situationen eine Formulierung der Anforderungen.
Ziel einer Anforderungsspezifikation (u. a. Lastenheft, Pflichtenheft, Fachkonzept,...) ist es, die Anforderungen so zu formulieren, dass zwischen dem Auftraggeber und Auftragnehmer ein gemeinsames Verständnis über das zu entwickelnde System geschaffen wird. Um das bei natürlicher Sprache zu erreichen, sollten Regeln eingehalten werden. So z. B. kurze Sätze verwenden, Vermeidung von Weak-Words (z. B. schneller, schöner, automatisch, circa,....) Ein Autor einer Spezifikation sollte sich an diese Regeln halten, um die Qualität der Anforderungen zu verbessern. Damit der Autor diese Regeln einhält, gibt es auch Software-Werkzeuge, die ihn dabei unterstützen können.
In Deutschland hat sich ein Standard zum einheitlichen Austausch von Anforderungen etabliert, das so genannte Requirements Interchange Format (RIF). RIF wird durch ein XML Schema definiert und ist ein Format und Datenmodell, das Strukturen für Anforderungen, deren Attribute, Typen, Zugriffsrechte, Relationen (Links) usw. enthält. Die RIF-Projektgruppe wurde 2004 im Rahmen der Herstellerinitiative Software (HIS) von deutschen Automobilherstellern wie Audi, BMW, Daimler, Porsche und Volkswagen gestartet. Grund war die immer offensichtlicher werdende Notwendigkeit, Anforderungen zwischen verschiedenen Partnern auszutauschen, die unterschiedliche RM-Tools einsetzen.
Anwendung
Anforderungen dürfen bei Anforderungsmanagement nicht nur Aussagen über gewünschte Eigenschaften machen, sondern müssen parallel dazu Kriterien beschreiben, wie diese Eigenschaften überprüft werden können (Akzeptanzkriterien).
Diese oft auch als Testfälle bezeichneten Kriterien dienen nicht nur der Qualitätssicherung des Produktes, sondern ganz wesentlich der Qualität der Anforderungen selbst, da das Beistellen eines Akzeptanzkriteriums zu einer sofortigen inhaltlichen Überprüfung der Anforderung zwingt.
Anforderungsmanagement-Software
- Hauptartikel: Anforderungsmanagement-Software
Um das Anforderungsmanagement besser zu strukturieren, Redundanzen zu reduzieren sowie Versions-/Konfigurationsmanagement und Rückverfolgbarkeit zu ermöglichen, wird für das Anforderungsmanagement Software eingesetzt. Diese Software sollte dann auch mehrbenutzerfähig sein. Vielfach werden anstelle dieser speziellen Software Standard-Textverarbeitungsprogramme eingesetzt, was dann aber zu den oben genannten Problemen führen kann.
Die Software basiert in aller Regel auf einer Datenbank, in der die Einzel-Requirements gespeichert und in der Folge ihre Abarbeitung verfolgt und überwacht werden. Zu jedem Requirement wird der Start der Bearbeitung, die Erreichung von Meilensteinen und der (erfolgreiche) Abschluss der Arbeit vermerkt.
Diese Anforderungsmanagementsoftware ermöglicht es meist über diese Datenbanken, Anforderungen in Beziehung zu setzen. So können dann zum Beispiel Systemanforderungen auf Kundenanforderungen zurückgeführt werden und damit unter anderem Systemanforderungen registriert werden, die auf keine Kundenanforderungen zurückzuführen sind, um damit ein Overengineering zu vermeiden. Genauso können Tests mit den Anforderungen in Beziehung gesetzt werden, um eine Vollständigkeit dieser Tests zu gewährleisten.
Siehe auch
- Software Requirements Specification
- Feature-Request
- Volere - Ressourcen zur Anforderungsanalyse
- IT Demand Management
Weblinks
- volere.co.uk (englisch) Liste mit den wichtigsten Anforderungsmanagementwerkzeugen
Literatur
- Christof Ebert: Systematisches Requirements Management. Dpunkt Verlag, 2005, ISBN 3898643360
- Bruno Schienmann: Kontinuierliches Anforderungsmanagement : Prozesse – Techniken – Werkzeuge. Addison-Wesley, München 2001, ISBN 3827317878
- Colin Hood,Simon Wiedemann, Stefan Fichtinger, Urte Pautz Requirements Management: Interface Between Requirements Development and All Other Systems Engineering Processes Springer, Berlin 2007, ISBN 354047689X
- Andreas Kress, Robert Stevenson, Rupert Wiebel, Colin Hood, Gerhard Versteegen Requirements Engineering Methoden und Techniken, Einführungsszenarien und Werkzeuge im Vergleich, iX Studie Anforderungsmanagement Heise 2005 zweite Auflage 2007, ISBN 9783936931198
- Chris Rupp & Die SOPHISTen "Requirments-Engineering und -Management" Hanser 4. Auflage 2007, ISBN 978-3-446-40509-7
Wikimedia Foundation.