Die Priorisierung von Anforderungen dient im Software-Produktmanagement dazu, festzulegen, welche Anforderungen eines Softwareprodukts in einer bestimmten Version enthalten sein sollen. Anforderungen werden auch priorisiert, um Risiken während der Entwicklung zu minimieren, sodass die wichtigsten oder risikoreichsten Anforderungen zuerst implementiert werden. Es existieren verschiedene Methoden zur Bewertung der Priorisierung von Softwareanforderungen. [ 1 ] [ 2 ]
Einführung
Im Software-Produktmanagement gibt es mehrere Teilprozesse. Zunächst das Portfoliomanagement, in dem eine Produktentwicklungsstrategie auf Basis von Markt- und Partnerinformationen definiert wird. Im Produkt-Roadmapping (oder Technologie-Roadmapping ) werden Themen und Kernkomponenten der Produkte im Portfolio identifiziert und Roadmaps erstellt. Im Anforderungsmanagement werden potenzielle Softwareanforderungen für ein Produkt gesammelt und strukturiert. Schließlich werden diese Anforderungen in der Releaseplanung priorisiert und für ein Release ausgewählt. Anschließend kann die Produkteinführung vorbereitet werden. Die Priorisierung der Anforderungen ist daher einer der wichtigsten Schritte in der Releaseplanung.
Kosten-Nutzen-Ansatz
Eine gute und relativ einfach anzuwendende Methode zur Priorisierung von Softwareproduktanforderungen ist der Kosten-Nutzen-Ansatz. Dieser Ansatz wurde von Joachim Karlsson und Kevin Ryan entwickelt und anschließend von der Firma Focal Point (die 2005 von Telelogic übernommen wurde ) weiterentwickelt und kommerzialisiert. Die Grundidee bestand darin, für jede einzelne Anforderung die Implementierungskosten und den Nutzen der Anforderung zu ermitteln.
Die Bewertung der Anforderungen hinsichtlich Wert und Kosten erfolgte mithilfe des Analytischen Hierarchieprozesses (AHP). Diese Methode wurde von Thomas Saaty entwickelt . Ihr Grundgedanke besteht darin, für jedes Paar von (potenziellen) Anforderungen einen Wert oder Kosten zu ermitteln, indem die einzelnen Anforderungen eines Paares miteinander verglichen werden. Beispielsweise bedeutet ein Wert von 3 für (Req1, Req2), dass Anforderung 1 dreimal so hoch bewertet wird wie Anforderung 2. Daraus folgt trivialerweise, dass (Req2, Req1) einen Wert von ⅓ hat. Im Ansatz von Karlsson und Ryan werden fünf Schritte zur Überprüfung potenzieller Anforderungen und zur Priorisierung dieser identifiziert. Diese werden im Folgenden zusammengefasst. [ 3 ]
- Die Anforderungsingenieure prüfen die Kandidatenanforderungen sorgfältig auf Vollständigkeit und stellen sicher, dass sie unmissverständlich formuliert sind.
- Kunden und Nutzer (oder geeignete Stellvertreter) wenden die paarweise Vergleichsmethode des AHP an, um den relativen Wert der Kandidatenanforderungen zu bewerten.
- Erfahrene Softwareingenieure verwenden den paarweisen Vergleich des AHP-Verfahrens, um die relativen Kosten der Umsetzung jeder einzelnen Anforderung abzuschätzen.
- Ein Softwareentwickler verwendet AHP, um den relativen Wert und die Implementierungskosten jeder potenziellen Anforderung zu berechnen und trägt diese in ein Kosten-Nutzen-Diagramm ein. Der Wert wird auf der y-Achse und die geschätzten Kosten auf der x-Achse dargestellt.
- Die Beteiligten nutzen das Kosten-Nutzen-Diagramm als konzeptionelle Karte zur Analyse und Diskussion der potenziellen Anforderungen. Anschließend priorisieren die Softwaremanager die Anforderungen und entscheiden, welche umgesetzt werden.
Der Kosten-Nutzen-Ansatz und die Priorisierung von Anforderungen im Allgemeinen lassen sich in den Kontext des Software-Produktmanagements einordnen . Wie bereits erwähnt, ist die Releaseplanung Teil dieses Prozesses. Die Priorisierung von Softwareanforderungen ist ein Teilprozess der Releaseplanung.
Der Releaseplanungsprozess besteht aus folgenden Teilprozessen:
- Anforderungen priorisieren
- Anforderungen auswählen
- Release-Anforderungen definieren
- Freigabeanforderungen prüfen
- Start vorbereiten
Andere Priorisierungstechniken
- Qualitätsfunktionsentwicklung (QFD)
- Binärer Suchbaum (BST)
- Ordinale Prioritätsmethode (OPA)
- Planungsspiel (FSK 6)
- PROMETHEE
- 100-Punkte-Methode (100P), auch bekannt als kumulative Abstimmung
- Planungsspiel kombiniert mit AHP (PGcAHP)
- MoSCoW-Methode
- ICE-Bewertungsmodell zur schnellen Priorisierung (ICE-Wert = Wirkung * Vertrauen * Aufwand) [ 4 ]
- RICE-Bewertungsmodell zur schnellen Priorisierung (RICE-Wert = (Reichweite * Wirkung * Vertrauen) / Aufwand)
- Software Engineering Risk: Understanding and Management (SERUM)
- EVOLVE
- Wertorientierte Priorisierungsmethode (VOP)
- Minimaler Spannbaum (MST),
- Bubble Sort (BS),
- Numerische Zuordnung
Referenzen
- ^ Lehtola, Laura, Marjo Kauppinen und Sari Kujala. „ Herausforderungen bei der Priorisierung von Anforderungen in der Praxis .“ Produktorientierte Softwareprozessverbesserung. Springer Berlin Heidelberg, 2004. 497-508.
- ^ Berander, Patrik und Anneliese Andrews. „ Anforderungspriorisierung “. Archiviert am 27.10.2014 in der Wayback Machine . In: Engineering and managing software requirements. Springer Berlin Heidelberg, 2005. S. 69–94.
- ^ Karlsson, J. & Ryan, K. (1997). Ein Kosten-Nutzen-Ansatz zur Priorisierung von Anforderungen, IEEE Software September/Oktober 1997 , 67-74.
- ^ "ICE-Bewertungsmodell zur Priorisierung" .
Weiterführende Literatur
- I. van de Weerd, Sjaak Brinkkemper , R. Nieuwenhuis, J. Versendaal und L. Bijlsma (2006). Ein Referenzrahmen für Softwareproduktmanagement. Wissenschaftlicher Bericht. Institut für Informations- und Informatikwissenschaften, Universität Utrecht, Niederlande, 2006 . Zur Veröffentlichung eingereicht.