Anforderungen ändern sich in der Zeit. Der geordnete Umgang mit den sich ändernden Requirements das Ziel des Requirements Managements.
Während das Requirements Engineering das Ermitteln und strukturierte Dokumentieren von Anforderungen beinhaltet, bezieht sich der Begriff Requirements Management vor allem auf die Verwaltung von Anforderungen in der Zeit. Je grösser das Projekt, desto mehr Aufwand muss in diesem Bereich betrieben werden.
Das Requirements Management adressiert die folgenden Themen:
- Priorisierung
Insbesondere in agilen Projekten müssen die Anforderungen in der richtigen Reihenfolge detailliert und umgesetzt werden. Dies sowohl auf Ebene des Gesamtprojekts, als auch in Teilprojekten. Kriterien hierfür sind zum Beispiel Wünsche der Stakeholder aus dem Business, technische Abhängigkeiten, sowie Managemententscheidungen zur Risikominimierung. - Versionierung der Requirements
Es muss jederzeit nachvollziehbar sein, welche Version einer Anforderung gültig ist. - Parallele Releases
Requirements sind eines der langlebigsten Projektartefakte. Sie sind die Basis für Entwicklung und Testing und können sich aufgrund neuer Erkenntnisse über die gesamte ‘Bauzeit’ ändern.
Werden die Releases parallel entwickelt, so müssen die Requirements je Release in der jeweiligen Version verfügbar sein und Änderungen aus früheren Releases in spätere Releases übernommen werden. - Branch und Merge von Requirements
Um Parallele Releases zu unterstützen, wird für die Anforderungen ein toolgestützter Branch- und Mergemechanismus ähnlich der Sourcecodeversionierung benötigt. - Requirements Reuse
Anforderungen leben mit dem Produkt; stehen sie in der richtigen Form und Qualität zur Verfügung, so können sie für spätere Produktanpassungen wiederverwendet werden, wodurch sich ein entsprechendes Einsparungspotential erschliesst.