Priorisierungsframework nach Moisaidis
Ziel:
Das Priosierungsframework stellt Verfahren bereit, um eine gegen Verzerrungen robuste Priorisierung von Anforderungen zu erzielen. Weitere Analyseschritte ermöglichen das Erkennen von Risiken (z.B. mangelnder Konsens).
Beschreibung:
Die Qualität eines (Software-) Produkts ist im Wesentlichen eine Wahrnehmung der Stakeholder. Welche Anforderungen der Stakeholder in einem Produkt umgesetzt werden, bestimmt zu einem großen Teil die Akzeptanz des Produkts. Die Entscheidung darüber, welche Anforderungen im Produkt umgesetzt werden sollen, wird durch eine Priorisierung der Anforderungen unterstützt.
Die Erfassung von Präferenzen der Stakeholder durch Befragungstechniken birgt jedoch eine Reihe von Risiken, die zu Verzerrungen führen können.
Allgemein sind an einen Priorisierungsprozess die folgenden Anforderungen zu stellen, die im Priorisierungsframework nach Moisiadis umgesetzt werden:
- Die Priorisierung der Anforderungen sollte möglichst frei von Verzerrungen oder Täuschungen sein
- Die Vorteile des Priorisierungsprozesses sollten den Aufwand aufwiegen
- Die Stakeholderperspektiven sollten möglichst vielfältig berücksichtigt werden
- Nichtfunktionale Anforderungen und Geschäftsziele sollten berücksichtigt werden
- Es sollte eine leichte Überführung zur Anforderungsspezifikation bestehen
- Priorisierungen sollten validierbar und begründet sein
- Anforderungsänderungen sollten unterstützt werden
- Unterschiedliche Abstraktionsebenen sollten unterstützt werden
Grundlegende Konzepte
- Rating-Skalen sind generell kontinuierlich, anstatt auf diskrete Werte, ausgelegt. Zusätzlich zum Punkt-Rating kann auch ein Toleranzbereich auf der Skala angegeben werden.
- Die gegenseitige Bewertung von Stakeholdern erlaubt die Anwendung der Social Network Analysis (SNA), um Verzerrungen (insbesondere durch Cliquenbildung) auf die Spur zu kommen.
- Durch statistische Verfahren wird verhindert, dass einzelne Stakeholder den Abstimmungsprozess manipulieren.
Vorgehen
Voraussetzungen
Für die Priorisierung der Anforderungen werden Eingabedaten vorausgesetzt, die durch andere Methoden gewonnen werden müssen:
- Menge der Anforderungen
- Menge der Geschäftsziele
- Menge der Stakeholder
- Nutzungsmetriken für die Anforderungen
- Abhängigkeiten zwischen Anforderungen
Subjektive Priorisierung durch die Stakeholder
In dieser Phase der Priorisierung werden die Stakeholder nach ihren subjektiven Einschätzungen der Geschäftsziele, Anforderungen der anderen Stakeholder und ihrer eigenen Person befragt. Dabei werden standardisierte Fragen und kontinuierliche Rating-Skalen eingesetzt.
Für jeden Stakeholder wird mittels eines Fragebogens ein Stakeholderprofil angelegt, das die folgenden Aspekte umfasst:
- Rolle im Projekt
- Fähigkeiten und Erfahrung
- Meinung zum zu entwickelnden Produkt
- Wissen über nichtfunktionale Anforderungen
- Einschätzung der Wichtigkeit der anderen Stakeholder für das Projekt
- Jeder Stakeholder priorisiert subjektiv die einzelnen Geschäftsziele
- Jeder Stakeholder priorisiert subjektiv die einzelnen Anforderungen
- Jeder Stakeholder schätzt den Einfluss jeder Anforderung auf die einzelnen Geschäftsziele ein
Berechnung gewichteter Priorisierungen
In dieser Phase werden die subjektiven Bewertungen zu gewichteten Skalen aggregiert.
- Aus dem Stakeholderprofil (Erfahrung, Wissen, Fremdeinschätzung) wird die Priorität der Stakeholder in Bezug auf das Projekt berechnet.
- Aus den subjektiven Priorisierungen der Stakeholder wird die Priorität der Geschäftsziele berechnet. Dabei wird die Stakeholderpriorität berücksichtigt.
- Die Priorität der Anforderungen wird berechnet; dabei werden folgende Parameter einbezogen:
- Subjektive Bewertung der Anforderung
- Stakeholderwichtigkeit
- Einfluss auf Geschäftsziele
- Subjektive Bewertung der Geschäftsziele
- Aus den Abhängigkeiten zwischen Anforderungen und der Anforderungspriorität werden priorisierte Anforderungscluster berechnet. Ein Cluster zeichnet sich dabei durch hohe interne Abhängigkeit der Anforderungen aus.
Analyse der Priorisierungen
- In einer Risikoanalyse wird untersucht, wo mögliche Verzerrungen durch verdeckte Absprachen bestehen könnten. Dem wird gegebenenfalls durch erneute Befragung der betreffenden Stakeholder nachgegangen
- In der Konsensanalyse (orig.: Stakeholder Association Measures) wird untersucht, wie stark das Ergebnis der gewichteten Priorisierungen mit der subjektiven Einschätzung jedes einzelnen Stakeholders korrelativ übereinstimmt. Bei geringer Korrelation besteht die Gefahr eines geringen Konsens zwischen den Stakeholdern. Dann besteht Bedarf an weiteren Klärungen und Verhandlungen.
- Es wird eine Priorisierung auf Basis ausgewählter Stakeholderattribute durchgeführt. Damit kann untersucht werden, wie Spezialkompetenzen einzelner Stakeholder (z.B. Sicherheit) mit einzelnen Anforderungen, Geschäftszielen, etc. in Beziehung stehen. Daraus kann sich eine inhaltlich begründete Neubewertung einzelner Anforderungen ergeben.
Diese Technik erfüllt folgende Praktiken:
Anforderungen priorisieren und verhandelnStakeholder und Quellen identifizieren
Literaturverweis:
A Framework for Prioritising
Software Requirements
Fundamentals for Prioritising
Requirements
Prioritising Scenario
Evolution
