Aktionen

Anforderungen kontinuierlich priorisieren

Aus PQWiki


Schnelligkeit
★★☆
Einfachheit
★★☆
Agilität
★★★

Ziele

* Tatsächlich umzusetzende Anforderungen ermitteln insbesondere im Hinblick auf einen Ressourcenengpass
  • Vereinfachung der Planung für Auftragnehmer, bessere Planung der notwendigen Ressourcen beim Auftragnehmer
  • Erkennen der vom Auftraggeber am dringendsten benötigen Leistungen

Motivation/Problemstellung

Das Ergebnis einer Anforderungsermittlung ist oftmals eine große Menge von einzelnen Anforderungen, die aus Kundensicht alle möglichst schnell umgesetzt werden sollen. Hierbei wird oft nicht zwischen wirklich systemrelevanten Anforderungen und Nebenschauplätzen unterschieden: es können persönliche Präferenzen der unterschiedlichen Stakeholder mit einfließen oder der Auftraggeber ist sich der Wichtigkeit seiner Anforderungen selbst nicht komplett bewusst. Auf der Seite des Auftragnehmers stellen jedoch die zur Verfügungen stehenden Ressourcen wie Zeit und Geld einen limitierenden Faktor dar, der eine Umsetzung aller aufgenommenen Anforderungen eventuell nicht zulässt. Um die wichtigsten Anforderungen identifizieren und eine Reihenfolge festlegen zu können, müssen die ermittelten Anforderungen daher priorisiert werden.

Kurzbeschreibung

Default Picture.jpeg
Eine Priorisierung der Menge der initial erhobenen Anforderungen bringt die Anforderungen in eine absteigende Reihenfolge gemäß ihrer Wichtigkeit. Sie legt somit die Relevanz der einzelnen Anforderungen fest und impliziert letztendlich die Reihenfolge ihrer Umsetzung. Durch die kontinuierliche Priorisierung von Anforderungen in jedem Sprint wird ersichtlich, wie relevant die Anforderungen für einzelne Stakeholder sind. Mit diesen Anforderungen kann anschließend weiter gearbeitet werden. Man stellt somit schon früh fest, auf welche Anforderungen man sich im Entwicklungsprojekt am stärksten konzentrieren sollte, um die späteren Nutzer zufrieden zu stellen.

Input

Menge von Anforderungen

Output

Nach Wichtigkeit sortierte Liste von Anforderungen

Rahmenbedingungen

Rolle (Ausführender)

Projektleiter, Kunde, Anforderungsingenieur

Werkzeuge, Hilfsmittel

-

Vorkenntnisse und Erfahrungen

Kenntnis von Priorisierungstechniken

Ort und Umgebung

Kundenworkshops

Weitere Teilnehmer

Produktmanagement, Stakeholder, die an der Anforderungsermittlung beteiligt waren

Voraussichtliche Dauer

Fortlaufend während der Anforderungsphase, abhängig von der Anzahl zu priorisierender Anforderungen und teilnehmender Stakeholder

Vorgehensweise

Vorbereitung

Anforderungen werden im Rahmen von Kundenworkshops erfasst oder ergeben sich durch Lastenhefte vom Kunden. Im Laufe der Anforderungsanalyse wird eine Menge von Anforderungen zusammengetragen, welche das zu entwickelnde Produkt erfüllen soll. Als Grundlage für die Priorisierung dieser Anforderungen muss zunächst festgelegt werden, welche Klasse von Anforderungen aus der Gesamtmenge der erhobenen Anforderungen priorisiert werden sollen (Nutzeranforderungen, Systemanforderungen, Geschäftsanforderungen, etc.). Hierbei ist darauf zu achten, dass sich die zu priorisierenden Anforderungen auf derselben Detaillierungsebene befinden oder zumindest einen sehr ähnlichen Detaillierungsgrad aufweisen.

Durchführung


Liegt eine Menge von Anforderungen fest, gilt es ein oder mehrere Kriterien festzulegen, nach denen eine Reihenfolge über die Anforderungen gelegt werden kann. Das Ziel der Priorisierung ist es festzulegen, welche Anforderungen wichtig sind und zuerst umgesetzt werden und welche Anforderungen kaum eine Rolle spielen und eventuell ganz wegfallen können.

Die Kriterien, nach denen eine Sortierung erfolgt, können je nach Einsatzzweck durchaus unterschiedlich sein. Eine Möglichkeit ist etwa die Wichtigkeit und Dringlichkeit der Anforderung festzulegen und dann mit den wichtigsten und dringlichsten Aufgaben zu beginnen. Hierbei können die Funktionalität, Benutzerfreundlichkeit oder aber auch die frühe Verfügbarkeit der Umsetzung eine Rolle spielen. Eine andere Variante ist, jeweils die Kosten, den Nutzen und das verbundene Risiko zu bestimmen und mit den Anforderungen zu beginnen, die den höchsten Nutzen bei geringen Kosten und Risiko bringen. Bei der Kano-Modell-Analyse wird als Kriterium die Kundenzufriedenheit herangezogen, die eine Umsetzung einer Anforderung dann bewirkt. Anforderungen werden in Basismerkmale, die ein Kunde auf jeden Fall erwartet, Leistungsmerkmale, die ein Alleinstellungsmerkmal darstellen, und Begeisterungsmerkmale, welche den Kunden vom Produkt überzeugen, eingeteilt. Bei einer Priorisierung nach Moisaidis erfolgt eine subjektive Priorisierung der einzelnen Anforderungen durch die an der Anforderungsermittlung beteiligten Stakeholder. Die sich hieraus ergebenden subjektiven Bewertungen werden gewichtet und somit eine objektivere Gesamtreihenfolge ermittelt.

Welche Methode auch verwendet wird, eine Sortierung der Anforderungen ist immer möglich, egal ob technische, fachliche, prozessuale oder sonstige Kriterien verwendet werden. Die Priorisierung von Anforderungen erfolgt gemeinsam mit allen relevanten Stakeholdern kontinuierlich für die Anforderungen, die innerhalb eines Sprints umgesetzt werden sollen.

Nachbereitung

Das Ergebnis der Priorisierung ist eine Sortierung der Anforderungen, welche dann in der Entwicklung die Reihenfolge der Umsetzung festlegt.

Gütekriterien/Empfehlungen

Die Grundlage einer Priorisierung bildet die Menge der vorher erfassten Anforderungen aus derselben Klasse und auf demselben oder sehr ähnlichen Detaillierungsgrad. Hierbei sollten alle relevanten Anforderungen erfasst worden und wichtige Anforderungen nicht vergessen worden sein. Hierfür ist es wichtig, dass die Anforderungen von allen relevanten Stakeholdern erhoben werden und gemeinsam darüber diskutiert wird. Die priorisierten Anforderungen spiegeln dann die Wünsche der Stakeholder wider. Es gilt auch, neben funktionalen Anforderungen nicht-funktionale Anforderungen zu erfassen.

Risiken

Ein Risiko besteht bei der Wahl der Kriterien für die einzelnen Anforderungen, da diese möglichst objektiv eine Bewertung erlauben und nicht durch subjektive Aspekte der einzelnen Stakeholder beeinflusst werden sollten. Weiterhin sind die Menge der Anforderungen und ihre Priorisierung nicht über die gesamte Projektlaufzeit konstant, sondern können sich auch ändern. Entweder, weil initial wichtige Dinge übersehen wurden oder sich die Relevanz bestimmter Anforderungen vergrößert bzw. verringert hat. Eine mehrfache Priorisierung über die Entwicklungszeit sollte eingeplant werden. Zu beachten ist, dass sich widersprechende Anforderungen nicht durch eine Priorisierung aufgelöst werden können. Hier gilt es, im Vorfeld diese Konflikte zu lösen und dann mit einer konfliktfreien Anforderungsmenge in die Priorisierung zu starten.

Einordnung in das PQ4Agile-Qualitätsmodell

Schlagworte

Anforderungen, Priorisierung, Anforderungsanalyse

Weiterführende Informationen

Literatur

* Klaus Pohl, Chris Rupp (2010): Basiswissen Requirements Engineering. 2. Auflage. dpunkt, Heidelberg
  • Kano, N.; Seraku, N.; Takahashi, F.; Tsuji, Attractive Quality and Must-be Quality'; Journal of the Japanese Society for Quality Control, 14(2) S. 147-156, 1984.
  • Frank Moisiadis, A Framework for Prioritising Software Requirements, Macquarie University, 2004