Praktiken für das Requirements Management
Inhalt dieser Lerneinheit:
Was ist Requirements Management?
Requirements Management ist der Prozess der Verwaltung bestehender Anforderungen, die in verschiedenen Arbeitsprodukten aufgezeichnet sind. Dazu gehören insbesondere das Speichern, Ändern und Verfolgen von Anforderungen [Glin2020]. Requirements Management kann je nach gewähltem Entwicklungsprozess und -kontext auf unterschiedliche Arten und auf unterschiedlichen Ebenen erfolgen, z.B. [Leff2011], [Rupp2014], [WiBe2013]. Unabhängig von den Gegebenheiten, besteht die Aufgabe des Requirements Management darin, Anforderungen so zu verwalten, dass alle Rollen in einem Projekt effektiv und effizient arbeiten können.
Verwaltung des Lebenszyklus
Verwaltung des Lebenszyklus bedeutet, alle Arbeitsprodukte in Bezug auf ihren Status im Lebenszyklus zu überwachen. Jede dokumentierte Anforderung und jedes Arbeitsprodukt hat seinen eigenen Lebenszyklus: Es wird erstellt, dann bewertet und verfeinert, bevor es überprüft, überarbeitet, konsolidiert, vereinbart etc., wird.
Zur Identifizierung, welche Arbeitsprodukte sich in welchem Status befinden, ist ein Lebenszyklusmodell notwendig, das alle zulässigen Lebenszyklus-Zustände und Zustandsübergänge definiert. Der aktuelle Status eines Arbeitsprodukts sollte immer klar erkennbar sein, einschließlich (üblicherweise) der Historie seiner Veränderungen.
Versionskontrolle
Versionskontrolle von Anforderungen bezeichnet den Prozess der Überwachung aller Arbeitsprodukte während ihrer Evolution. Jede Änderung in einem Arbeitsprodukt sollte sich in einer neuen Version widerspiegeln. Versionierung ermöglicht es, die Historie eines Arbeitsprodukts bis zu seinem Ursprung zurückzuverfolgen und jede frühere Version dieses Arbeitsprodukts wieder herzustellen. Zu diesem Zweck besteht eine Versionierungsstrategie mindestens aus:
Einer Versionsnummer, um die Version eines Arbeitsprodukts eindeutig zu identifizieren.
Einer Änderungshistorie, um zu definieren, was geändert wurde.
Einem Konzept für die Speicherung von Arbeitsprodukten.
Versionierung muss bei allen Arbeitsprodukten berücksichtigt werden [WiBe2013]. Eine Versionsnummer besteht typischerweise aus mindestens zwei Teilen: Der Version und dem Inkrement.
Konfigurationen und Basislinien
Eine Anforderungskonfiguration ist eine konsistente Zusammenstellung von Arbeitsprodukten, die Anforderungen enthalten. Jede Konfiguration ist für einen bestimmten Zweck definiert und enthält höchstens eine Version jedes Arbeitsprodukts [Glin2020]. Der Zweck von Konfigurationen besteht beispielsweise darin, ein Review auf eine Zusammenstellung von Arbeitsprodukten durchzuführen oder um den Entwicklungsaufwand abzuschätzen.
Eine Basislinie ist eine stabile, änderungskontrollierte Konfiguration von Arbeitsprodukten und dient der Release-Planung oder anderen Liefermeilensteinen in einem Projekt[Glin2020].
Konfigurationen haben die folgenden Eigenschaften:
Logische Verbindung
Konsistenz
Einzigartigkeit
Unveränderlichkeit
Grundlage für das Zurücksetzen
Attribute und Sichten
Attribute sind erforderlich, um wichtige Metadaten für ein Arbeitsprodukt zu dokumentieren und werden typischerweise verwendet, um eine Reihe wichtiger Fragen während des Projekt- oder Produktlebenszyklus zu beantworten.
Das Ziel der Attributierung von Anforderungen besteht darin, es den Teammitgliedern und anderen Stakeholdern zu ermöglichen, zu jedem Zeitpunkt während des Projekts ihre benötigten Informationen über die Anforderungen zu erhalten.
Die Festlegung der relevanten Attribute hängt vom Informationsbedarf der verschiedenen Stakeholder im Projekt ab. Bestehende Normen, z.B. [ISO29148], geben einen Überblick über die wichtigsten Attribute.
Sichten sind ein Auszug aus dem Gesamtpaket der Anforderungen, die nur den aktuell interessanten Inhalt enthalten. Aus technischer Betrachtung ist eine Sicht eine Kombination von Filter- und Sortier-Einstellungen, die durch Speicherung der ausgewählten Kombination anderen Teilnehmern zur Verfügung gestellt oder wiederverwendet werden kann.
Wir unterscheiden zwischen drei Arten von Sichten:
Selektive Sichten
Projektive Sichten
Verdichtende Sichten
In den meisten Fällen sind Anforderungssichten Kombinationen aus selektiven, projektiven und verdichtenden Sichten für die Erstellung von Berichten.
Verfolgbarkeit
Verfolgbarkeit [GoFi1994] ist die Fähigkeit, eine Anforderung zurück zu ihrem Ursprung (d. h. zu Stakeholdern, Dokumenten, Begründungen usw.) und weiter zu nachfolgenden Arbeitsprodukten (z. B. Testfällen) sowie zu anderen Anforderungen, von denen diese Anforderung abhängt, zu verfolgen.
Die Verfolgbarkeit ist eine Voraussetzung für das Verwalten von Anforderungen und wird in Normen, Gesetzen und Vorschriften oft explizit gefordert. Die Umsetzung von Verfolgbarkeit bedeutet im Wesentlichen die Aufrechterhaltung von Beziehungen zwischen verschiedenen Arbeitsprodukten auf Anforderungsebene sowie deren Beziehungen zu Vorgängern und Nachfolgern, aus Gründen der Analyse, Konformität und Information.
Die Verfolgbarkeit kann implizit dokumentiert werden, indem die Arbeitsprodukte strukturiert und standardisiert werden, oder explizit, indem die Arbeitsprodukte auf der Grundlage ihrer eindeutigen Identifikationsmerkmale in verschiedenen Formen zueinander in Beziehung gesetzt werden [HuJD2011]. Gängige Darstellungsformen sind Hyperlinks, Referenzen, Matrizen, Tabellen oder Graphen.
Umgang mit Änderungen
Anforderungen sind nicht statisch. Änderungen in Anforderungen haben viele verschiedene Gründe und müssen richtig gehandhabt werden (Prinzip 7 in LE 2), z.B. durch die Erstellung eines formellen Änderungsantrags oder durch das Hinzufügen eines neuen Eintrags im Produkt-Backlog.
Die Entscheidungsfindung, Planung und Kontrolle der Umsetzung einer Änderung hängt vom Entwicklungsansatz und dem Zeitpunkt ab, zu dem die Änderung auftritt.
In einem linearen Ansatz wird die Entscheidung über eine Änderung oft von einem Change Control Board (bei Projekten) oder einem Change Advisory Board (im Betrieb) getroffen. In einem eher iterativen Ansatz nimmt der Product Owner die Änderung in das Produkt-Backlog auf und priorisiert den neuen Eintrag entsprechend.
Priorisierung
Nicht alle Anforderungen sind gleich wichtig [Davi2005]. Bewertung und Priorisierung werden verwendet, um die wichtigsten Anforderungen für das nächste Produkt-Release oder Inkrement zu bestimmen.
Die Bewertung der Anforderungen ist die Grundlage für ihre Priorisierung, die oft durch die Verwendung mehrerer Bewertungskriterien wie Geschäftswert, Dringlichkeit, Aufwand, Abhängigkeiten und andere bestimmt wird.
Die Priorität einer Anforderung beschreibt die Bedeutung einer einzelnen Anforderung im Vergleich zu anderen Anforderungen anhand bestimmter Kriterien [Glin2020]. Die Priorisierung selbst wird auf der Grundlage eines einzigen oder mehrerer Kriterien durchgeführt, dies hängt hauptsächlich von der gewählten Priorisierungstechnik ab.
Schritte zur Priorisierung:
Festlegen der wichtigsten Ziele und Randbedingungen für die Priorisierung
Definieren der gewünschten Beurteilungskriterien
Festlegen, welche Stakeholder einbezogen werden müssen
Festlegen, welche Anforderungen priorisiert werden müssen
Auswahl der Priorisierungstechnik
Durchführung der Priorisierung
Priorisierungstechniken können klassifiziert werden in:
Ad-Hoc PriorisierungstechnikenAnalytische Priorisierungstechniken