Freitag, 15. August 2014

Prioritäten verteilen ist eine Kunst.

Managementaufgaben

Artikelübersicht
1. Teil Managementaufgaben zwischen Fremd- und Selbstverwaltung.
2. Teil Was soll ich zuerst tun? Die Qual der Wahl.
3. Teil Prioritäten verteilen ist eine Kunst.
4. Teil Nur ein Fool wählt gleich ein Tool und ein Plädoyer gegen Monsterprogramme.
5. Teil Wer weiß schon, was alles dazu gehört? Von der Lust oder Unlust zur Versionsverwaltung.
6. Teil Im Dschungel der Nachvollziehbarkeit.
7. Teil Gib Deiner Version einen nachvollziehbaren Namen.
8. Teil Das Erstellen reproduzierbarer Software Releases.


Im letzten Post haben wir bestimmt wer priorisiert, wir haben Artefakte ausgewählt, die zu priorisieren sind und außerdem haben wir festgelegt, welches die Priorisierungskriterien sind. Die geeigneten Techniken, um diese Priorisierungen durchzuführen, hatten wir uns für den heutigen Post aufgehoben. Behalten wir im Kopf, dass es wichtig ist, sich beim Priorisieren auf die notwendigen Artefakte zu beschränken und auch die Komplexität der Kriterien zu beschränken. Im Folgenden führe ich einige Methoden auf, die sehr einfach sind und somit schnell anzuwenden. Für alle Methoden setzen wir eine Anzahl n von Artefakten voraus, die es in eine Reihenfolge zu bringen gilt.

Beim Ranking muss einfach eine Reihenfolge bestimmt werden. Eine der Artefakte muss die erste sein, eine die zweite, bis wir das letzte Artefakt angeordnet haben. Eine Erweiterung dieser Technik ist das Streichen von Artefakten, die man nicht betrachten will. Diese Technik wird von einer Person oder von einer Gruppe angewandt.

Eine sehr verbreitete Methode ist das Priorisieren in Bezug auf Prioritätsklassen. Solche Klassen können sein: verpflichtend (mandatory), optional und gewünscht, aber nicht notwendig (nice-to-have). Wenn der Kunde in die Priorisierung mit eingebunden ist, wie es eigentlich sein sollte, so neigt dieses System allerdings dazu, alle Artefakte mit einem verpflichtend zu versehen. Dann ist das Ziel einer Priorisierung verfehlt und die Methode ist für unsere Zwecke unbrauchbar.

Der Klassiker der Prioritätsklassen ist natürlich die Kano-Klassifikation. Kano unterteilt in Basismerkmale, Zusatzmerkmale und Begeisterungsmerkmale. Als Basismerkmale bestimmen wir alle Artefakte bzw. Anforderungen, die ein System unbedingt benötigt, weil sie dem allgemeinen Standard entsprechen. Ohne diese Merkmale würde kein Kunde das Produkt kaufen. Zusatzmerkmale sind bewusste Forderungen des Kunden. Das ist für ihn der Mehrwert über den Marktstandard hinaus. Am Ende kann der Auftragnehmer versuchen den Kunden zu begeistern. Mit den Begeisterungsmerkmalen werden dem Kunden Merkmale angeboten, die er nicht erwartet hätte, die ihn aber faszinieren.

[POHL08] beschreibt in seinem Buch ein systematisches Vorgehen zur Umsetzung des Kano-Ansatzes:"
  • Schritt 1: Identifikation von Systemmerkmalen, die klassifiziert werden sollen
  • Schritt 2: Entwurf eines Fragebogens, in dem für jedes Systemmerkmal erfragt wird, wie ein potentieller Kunde empfindet, wenn (1) das Merkmal im System enthalten ist (funktionale Frage) und (2) das Merkmal nicht im System enthalten ist (dysfunktionale Frage)
  • Schritt 3: Auswertung der Befragungsergebnisse und Ermittlung der Durchschnittswerte
  • Schritt 4: Identifizierung der zugehörigen Merkmalsklassen
" [S.535, POHL08]

Eine von mir verwendete Methode der Priorisierung ist das knappe Verteilen von Punkten. Es gilt n Artefakte zu priorisieren. Die Arbeit wird durch eine Gruppe erledigt. Jedes Gruppenmitglied besitzt Punkte. Bestimmte Gruppenmitglieder können mehr Punkte als andere besitzen, weil ihnen eine größere Wichtigkeit zugestanden wird. Außerdem sollten weniger Punkte für ein Gruppenmitglied vorhanden sein, als Artefakte. Man wäre so oder so gezwungen eine Wertigkeit zu erzeugen, weil man bestimmten Artefakten keine Punkte geben kann. Eine höhere Wertigkeit bestimmt man, in dem man einem Artefakt mehr Punkte gibt als einem anderen Artefakt.

Alle bisher genannten Methoden funktionieren nur für ein einziges Kriterium, für das priorisiert werden soll. Meistens sollten sie aber ausreichend sein. Muss nach mehreren Kriterien priorisiert werden, erhöht sich die Komplexität. Es wird also unübersichtlicher und somit schwerer zu durchschauen. Nachdem wir jedoch festgestellt haben, eine höhere Komplexität ist notwendig, gibt es natürlich auch Methoden um so Prioritäten zu ermitteln.

"Werden zwei Kriterien verwendet und jeweils n bzw. m Klassen unterschieden, können wir die zu priorisierenden Anforderngen n x m Prioritätsklassen zuordnen." [S.537, POHL08] Diese Methode nennt man die Zwei-Kriterien-Klassifikation. Ein Kriterium könnte das Risiko in Bezug auf das Erlernen neuer Techniken sein und ein anderes Kriterium die Wichtigkeit in Bezug auf die Akzeptanz des Systems. Das Risiko wird in die Klassen gering, mittel und hoch eingeteilt und die Wichtigkeit in Basismerkmale, Zusatzmerkmale und Begeisterungsmerkmale. Somit ergeben sich 9 neue Klassen. Eine wäre z.B. die Klasse hohes Risiko + Basismerkmal.



Auch in Bezug auf unser Punktesystem lässt sich eine Priorisierung nach zwei oder mehr Kriterien durchführen. Nennen wir dieses System das Verteilen knapper Punkte mit mehreren Kriterien. Der gleiche Punktevorrat steht jedem Gruppenmitglied für jedes Kriterium zur Verfügung. Jedes Kriterium kann außerdem ein Gewicht (w) besitzen. Bei drei Kriterien (k1, k2, k3) würden die drei Gewichte (w1, w2, w3) dann eine Priorität für ein Gruppenmitglied über die Gleichung Priorität p = w1 x k1 + w2 x k2 + w3 x k3 ergeben. Die Summe dieser Werte für alle Gruppenmitglieder ergibt dann die Gesamtpriorität. Das gilt natürlich nur für Prioritäten, die nicht umgekehrt proportional sind.

In meiner Diplomarbeit [BAU09] habe ich eine weitere Methode erläutert. Diese möchte ich Ihnen an dieser Stelle nicht vorenthalten. Der folgende Text ist meiner Diplomarbeit entnommen:

Im Folgenden wird eine Bewertungsmethode für Anforderungsartefakte von [SCHIEN02] übernommen. Jede Bewertung erfolgt aus Auftraggebersicht und aus Auftragnehmersicht. Aus der Sicht des Auftraggebers (Kunde) spielen der Nutzen und die Relevanz als Bewertungskriterien eine Rolle. Aus der Sicht des Auftragnehmers (Entwicklung) spielen die Kosten der Realisierung und die Risiken der Realisierung eine entscheidende Rolle. Für jedes dieser Bewertungskriterien kann ein Wert zwischen 1 und 5 vergeben werden. Dabei ist die 5 immer der Wert für eine hohe Bewertung, also einen hohen Nutzen, eine hohe Relevanz, hohe Kosten bzw. ein hohes Risiko. Demgegenüber ist die 1 immer der Wert für eine niedrige Bewertung.

Neben den von [SCHIEN02] erwähnten Bewertungskriterien gibt es weitere, die in Erwägung gezogen werden können. [POHL08] erwähnt z.B. die Zeitdauer der Realisierung und die Volatilität, also die Wahrscheinlichkeit, mit der sich diese Anforderung ändert.

[SCHIEN02] verwendet die folgende Formel zur Berechnung der Priorität:

(A * Nutzen + B * Relevanz) / (C * Kosten + D * Risiko)

A, B, C und D sind die Gewichtungsfaktoren für Nutzen, Relevanz, Kosten und Risiko. [SCHIEN02] hat diese Werte mit A = B = C = 2 und D = 1 festgelegt. Diese Werte werden als Defaultwerte übernommen. Die Werte der Gewichtungsfaktoren sollten jedoch konfigurierbar gehalten werden. "Bei der Wahl des Berechnungsverfahrens ist zu beachten, dass manche der Bewertungsergebnisse positiv mit dem Ergebnis korrelieren (Nutzen, Relevanz), während andere negativ korrelieren (Kosten, Risiko). Faktoren, welche negativ korrelieren, werden im vorliegenden Beispiel im Nenner aufgeführt." [S.269, SCHIEN02]

Wenn also ein Auftraggeber den Nutzen mit 2 und die Relevanz mit 3 festlegt, ein Auftragnehmer die Kosten mit 5 und das Risiko mit 4, ergibt sich ein Wert von 0,7.

Damit möchte ich den Auszug aus der Diplomarbeit enden lassen. Dort wurden alle alle Anforderungsartefakte mit den Attributen Kundennutzen, Kundenrelevanz, Entwicklungskosten und Entwicklungsrisiko versehen. Die verschiedenen Artefakte standen in einem hierarchischen System zueinander. Prioritäten konnten vererbt werden. Wenn ein Tool höhere Komplexität abfängt und die Prioritäten berechnet werden, sind auch kompliziertere Systeme benutzbar.

  • [BAU09] Ralf Baumann: "Entwicklung eines Arbeitsablaufes für die Entwicklung von Anforderungen an eine Software durch den Auftraggeber.", Diplomarbeit an der FH Trier, 2009
  • [POHL08] Klaus Pohl: "Requirements Engineering", 2. korrigierte Auflage, dpunkt.verlag GmbH, Heidelberg, 2008
  • [SCHIEN02] Bruno Schiemann: „Kontinuierliches Anforderungsmanagement“, Addision Wesley Verlag, München, 2002


vorheriger Post dieses Themas     folgender Post dieses Themas


Print Friendly Version of this page Print Get a PDF version of this webpage PDF

1 Kommentar:

  1. Danke für die Zusammenstellung von Priorisierungstechniken. Diese möchte ich noch um die (spiel-) geldbasierten Ansätze zur Priorisierung von Ideen und Anforderungen ergänzen:

    http://apliki.de/2015/03/02/die-kunst-anforderungen-zu-priorisieren/

    Gedanken, Kommentare und Inspiration sind herzlich Willkommen.

    AntwortenLöschen