ANFORDERUNGSMANAGEMENT

Anforderungsmanagement 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 
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, Testbarkeit.
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.

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.