Anforderungsmanagement

für Information Excellence

Die Basis für Ihre BI-Anwendung – Anforderungsmanagement

Anforderungsmanagement ist vor allem dort von Bedeutung, wo komplexe Anwendungen bzw. Systeme konzipiert werden und wo arbeitsteilig an deren Umsetzung/ 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.
Wenn man Anforderungen erhebt und verarbeitet geht es um Herausforderungen und Fragestellungen eines Kunden / Anwenders. Und fast zwangsläufig steht man vor der Frage, ob das Problem richtig definiert wurde. Auch stellen wir immer wieder fest, dass jede Lösung die Ursache für neue Probleme sei kann. Deswegen kann es niemals perfekte Anforderungsdokumente geben. Und deswegen ist auch der Aufwand zu Ermittlung der Anforderungen (Initialaufwand für ein Projekt) immer zu teuer.
Umfassende Anforderungsanalysen am Anfang eines Projekts haben sich nicht bewährt. Aber die Analyse am Anfang kann aufgeteilt werden. So werden am Anfang einige Tage an den Anforderungen gearbeitet. Dann werden diese Umgesetzt (Ergebnisse produziert). Dann wird an den Anforderungen gearbeitet und wieder Ergebnisse produziert.
Initial werden nicht alle Anforderungen gebraucht, sondern nur so viele, dass die nächste Etappe starten kann. Dazu reicht es …
– … wenn es jemanden gibt, der die Benutzerseite vertritt (Product Owner),
– … wenn der ungefähre Umfang in einem Visionsdokument abgestimmt wird,
– … wenn es User Stories mit Tests gibt,
– … wenn die Entwickler bei Bedarf ihre Modelle erstellen und
– … wenn man sich regelmäßig Feedback holt.
Wenn wir als BI-Dienstleister ein Projekt gewinnen wollen, versuchen wir so schnell wie möglich erste Ergebnisse zu zeigen. Das macht Eindruck. Umfangreiche Anforderungsdokumente beeindrucken Kunden leider nicht.

Immer wenn es um neue BI Projekte geht, wird der Ruf nach einer ausführlichen Anforderungsanalyse laut. Und wenn es in laufenden Projekten Ärger gibt, heißt es schnell: „Hätten wir uns mal mehr Zeit für die Anforderungen genommen …“.
Eine Anforderung ist eine Aussage über eine Eigenschaft oder Leistung eines Produktes, eines Prozesses oder der am Prozess beteiligten Personen.
Anforderungsmanagement (Requirements Engineering) soll Anforderungen
– Ermitteln
– Dokumentieren
– Überprüfen und abstimmen
– Verwalten (Steuerung, Kontrolle und Verwaltung von Anforderungen inkl. Risikomanagement, Änderungsmanagement und Umsetzungsmanagement).

Das gemeinsame Verständnis kann durch die Einführung und Umsetzung von Anforderungsmanagement-Methoden (wie bspw. 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.
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. Dabei wird beispielsweise empfohlen, kurze Sätze zu gebrauchen und ungenaue Adjektive und Adverbien (wie z. B. schneller, schöner, automatisch, circa, …) nicht zu verwenden, da dies die Qualität der Anforderungen verbessert. Damit der Autor diese Regeln einhält, gibt es auch Software-Werkzeuge, die ihn dabei unterstützen können.
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. Sondern ermöglichen eine inhaltliche Überprüfung der Anforderung.
Um das Anforderungsmanagement besser zu strukturieren, Redundanzen zu reduzieren und Rückverfolgbarkeit zu ermöglichen, können statt der üblichen Office-produkte auch spezielle Software-Lösungen genutzt werden. Diese erfassen und speichern Einzel-Requirements und stellen eine spätere Verfolgung und Überwachung der Abarbeitung sicher. Auch können Systemanforderungen auf Kundenanforderungen zurückgeführt werden. So können bspw. Systemanforderungen registriert werden, die auf keine Kundenanforderungen zurückzuführen sind und deswegen eine Übererfüllung darstellen (Overengineering).
Genauso können Tests mit den Anforderu