Zum Hauptinhalt springen

Anforderungsmanagement

Requirements Management


Definition Anforderungsmanagement (AM)

Anforderungsmanagement umfasst Aktivitäten zur Planung, Ermittlung, Prüfung und Abstimmung, Steuerung, Kontrolle und Verwaltung von Anforderungen.

Definition laut IREB

Requirements Engineering (RE) nach IREB

Requirements Engineering (RE) is the systematic and disciplined approach to the specification and management of requirements with the goal of understanding the stakeholders’ desires and needs and minimizing the risk of delivering a system that does not meet these desires and needs.

Anforderungsmanagement ist der Prozess der Verwaltung bestehender Anforderungen und anforderungsbezogener Arbeitsprodukte, einschließlich der Speicherung, Änderung und Verfolgung von Anforderungen.

Der klassische Anforderungsmanagement-Prozess folgt einem Phasen- oder Wasserfallmodell:

Klassischer Anforderungsmanagement-Prozess

Zuerst werden Stakeholder und Anforderungen ermittelt und erfasst. Ein oder mehrere Requirements Engineers analysieren, modellieren, strukturieren und verfeinern infolgedessen sämtliche Anforderungen. Die Ergebnisse der Anforderungsanalyse werden schließlich dokumentiert in Form von Lastenheften (von Auftraggeber-Seite) und/oder Pflichtenheften (von Auftragnehmer-Seite). Diese Dokumente dienen der genauen Spezifikation vor dem Start der Entwicklung. Erst wenn die Anforderungen verifiziert sind, wird mit der Realisierung begonnen. Ist die Entwicklung abgeschlossen, folgen eine oder mehrere Teststufen (Validierung) und bei erfüllten Anforderungen die Abnahme. Für die Wartung der Entwicklung müssen die Anforderungen über den ganzen Lebenszyklus der Entwicklung weiterhin sicher verwaltet werden.

Werden Änderungen an Anforderungen gewünscht, müssen Änderungsanträge (Change Requests) gestellt werden. Die von den Änderungen betroffenen Anforderungen werden daraufhin identifiziert und unter Berücksichtigung aller Abhängigkeiten überarbeitet.

Anforderungsmanagement ist in allen Phasen gefragt, weil es die Verwaltung der Arbeitsprodukte zur Aufgabe hat. Produkte sind sowohl einfache Anforderungen als auch ganze Spezifikationen. Zur Verwaltung gehört eine sinnvolle Attribuierung, Filterung, Priorisierung und Versionierung. Und vor allem die Sicherung der Nachvollziehbarkeit. Die Arbeitsprodukte müssen so aufbereitet werden, dass alle, die sie bearbeiten, realisieren und testen, effizient zusammenarbeiten können.

Ein linearer Anforderungsmanagement-Prozess wird zur Sicherung von Qualität und zur Einhaltung von Normen gefordert, eignet sich aber nicht besonders gut, wenn Anforderungen zu Beginn sehr vage sind, wenn Innovation entstehen oder schnell und direkt auf Stakeholder Feedback reagiert werden soll.

Definition Anforderungsmanagement laut ISO 24765:2017 Systems and Software Engineering

Anforderungsmanagement nach ISO24765

Aktivitäten, die sicherstellen, dass Anforderungen während des gesamten Lebenszyklus eines Systems, Produkts oder einer Dienstleistung ermittelt, dokumentiert, gepflegt, kommuniziert und nachverfolgt werden.

Definition laut Business Analysis Body of Knowledgt Guide

Anforderungsmanagement ist die Planung, Ausführung, Überwachung und Steuerung aller oder eines Teils der Arbeiten, die mit der Anforderungserhebung, mit der Zusammenarbeit, mit der Anforderungsanalyse und dem Entwurf sowie dem Management des Anforderungslebenszyklus verbunden sind.

Anforderungslebenszylus

.+ Anforderungsentwicklung (Requirements Development)

  • Anforderungsermittlung/-Definition (Requirements Elicitation)
  • Anforderungsanalyse und - Design ( Requirements Analysis and Design)
  • Anforderungsdokumentation (Requirements Documentation)
  • Anforderungsvalidierung - Prüfung und Abstimmung (Requirements Validation)

.+ Anforderungsverwaltung (Requirements Administration)

  • Anforderungsversionsverwaltung (Requirements Version Control)
  • Anforderungsänderungen - Ergänzungen (Requirements Change Management)
  • Anforderungsverfolgbarkeit (Requirements Tracability)

.= Anforderungsmanagement (Requirements Management)

Agiles Anforderungsmanagement

Bei agilem Vorgehen wird der eine große Prozess in viele kleinere Einheiten (Iterationen) heruntergebrochen. Fest steht die Taktlänge und Frequenz der Iterationen. Die Ermittlung, Analyse, Spezifikation und Verifikation der Anforderungen ist nie abgeschlossen, sondern eine fortlaufende Tätigkeit:

image-20230130174554598

Es gibt eine übergeordnete Anforderungsquelle: das Product Backlog. Leitmotiv für die Anforderungen darin ist das Product Goal, das Ziel der Entwicklung. Ein Product Owner ist dafür verantwortlich, dass Inhalte, sogenannte Product Backlog Items, sortiert, klar und abgestimmt sind. Seine/ihre Aufgabe ist es, das Product Backlog so zu pflegen, dass maximaler Wert geschaffen werden kann. Das Product Backlog ist anders als eine Spezifikation aber nie abgeschlossen. Änderungen sind jederzeit möglich, sofern sie wertstiftend sind.

Zur Realisierung innerhalb einer Iteration (eines Sprints mit einer Laufzeit von 2 – 4 Wochen) werden beim Sprint Planning Meeting Items aus dem Product Backlog in ein Sprint Backlog übernommen. Außerdem wird für die Iteration ein Sprint Goal (Ziel) definiert. Auch während des Sprints können die Entwickler das Sprint Backlog verändern, um das Sprint Ziel zu erreichen. Das Entwicklerteam managt sich schließlich selbst und ist ergebnisverantwortlich. Damit Entwicklungsergebnisse immer wieder zwischendurch überprüft werden, gibt es am Ende jedes Sprints ein Sprint Review, bei dem Feedback von Stakeholdern eingeholt werden kann. Die Ergebnisse dieses Kontroll-Meetings fließen sofort wieder ins Backlog ein. Um den Arbeitsprozess weiter zu verbessern, findet außerdem eine Retrospektive innerhalb des Scrum Teams statt. Durch die deutlich kürzere Feedback-Schleife können Fehlentwicklungen früher erkannt und auf Veränderung viel schneller reagiert werden. Doch das sorgt auch für Dynamik innerhalb des Product Backlogs, weshalb es fortlaufend aktualisiert, gepflegt, priorisiert und verfeinert werden muss.

Der Product Owner ist dennoch nicht alleine für die Anforderungen zuständig, sondern alle Beteiligten sind verantwortlich dafür, durch die Realisierung der Anforderungen Werte zu schaffen. Um Arbeitsprodukte (z.B. User Stories) zu standardisieren, werden oft Satzschablonen, Qualitätsmerkmale (wie SMART, INVEST) und Akzeptanzkriterien festgelegt, deren Anwendung für alle im Team verbindlich ist. Die Pflege des Product Backlogs, des zentralen Speichers aller Anforderungen, ist jedoch eine Aufgabe mit großer Verantwortung. Agile Methoden geben vor, dass bei allen Einträgen ins Product Backlog der Geschäftswert hinterfragt werden müsse. Dadurch ist der Product Owner sogar ins strategische Management eingebunden. Man könnte daher sagen, dass Product Ownership noch mehr Verantwortung bedeutet als klassisches Anforderungsmanagement.

Herausforderungen in Anforderungsmanagement

Requirements Engineering ist für die Beteiligte (insb. Kunden) oft herausfordernd. Viele Fragen gilt es zu klären:

image-20230130112144645

Abbildung: Typische Fragen im Anforderungsmanagement

  • Fokussierung auf richtige Aspekte und Detailebene ist schwierig.
  • Teils unklare, unvollständige und unpräzise formulierte Anforderungen.
  • Erheblicher Ressourcenaufwand zur Erfassung, Konsolidierung und Abstimmung.
  • Generell: Qualität und Beschreibungsstil der Anforderungen stark personenabhängig.