Der WSJF (Weightest Shortest Job First) ist eine Priorisierungsmethode. Du kannst diese Methode oder Technik dazu nutzen unterschiedliche Dinge in eine Reihenfolge zu bringen. Oft wird das für Projekte oder Backlogs getan. Du kannst dir aber auch verschiedene andere Dinge vorstellen, die du nach den sogenannten Verzögerungskosten priorisieren möchtest.
Wo der WSJF herkommt
Der Weightest Shortest Job First stammt aus der Feder von Don Reinertsen, aus dem Buch The Principles of Product Development Flow. Dort beschreibt Reinertsen - seit über 30 Jahren im Geschäft der Produktentwicklung tätig - Prinzipien, die für die Produktentwicklung Gültigkeit haben. Und in eben diesem Buch, stellt er auch die Verzögerungskosten, die nun Grundlage für den WSJF sind.
Scaled Agile Framework
Leider oft angenommen, doch nie wahr: das Scaled Agile Framework hat weder den WSJF erfunden noch eingeführt. Wie so oft beim SAFe werden viele Dinge vom Markt kopiert und in das Framework integriert. So ist es auch mit dem WSJF hier geschehen. Was das Scaled Agile Framework allerdings gemacht hat, ist die Berechnung für den WSJF zu konkretisieren. So findet sich eine besondere, erweiterte Berechnung des CoD (Cost of Delay).
Was ist der WSJF genau?
Eine Priorisierungsmethode, die eine Zahl als Ergebnis erzeugt, die die Reihenfolge in dem Backlog (oder allgemein: der zu priorisierenden Elementen) darstellt. Dabei erfolgt die Sortierung nach den sogenannten Verzögerungskosten, als den Kosten die entstehen, wenn du etwas nicht tust.
Die Voraussetzungen
In diesem Abschnitt schaue ich mit dir auf die Voraussetzung vom WSJF. Denn auch der Weightest Shortest Job First ist kein Silver Bullet und passt nicht immer. Sprich: du brauchst auch ein paar Rahmenbedingungen, die unbedingt gegeben sein sollten, damit dein Erlebnis mit dem WSJF auch wirklich aufgeht.
Wunsch nach Verzögerungskosten zu priorisieren
Nicht zu selten habe ich Diskussionen, warum der WSJF nicht oder nicht genau so, wie beschrieben, angewendet werden kann. Ich will jetzt gar nicht auf die einzelnen Gründe eingehen, oft kommt als Ergebnis eine Überraschung heraus. Es wurden sich keine oder nur unzureichende Gedanken gemacht, was durch die Priorisierung ausgesagt werden soll. Bei dem Weightest Shortest Job First wird nach den sogenannten Verzögerungskosten priorisiert. Möchte also auch dein Unternehmen nach den Verzögerungskosten priorisieren, dann tut es gut daran, den WSJF nicht anzupassen. Doch dazu später mehr.
Kenntnis über die zu priorisierenden Themen
In vielen Unternehmen herrscht nach wie vor ein folgendes oder ähnliches Bild. Es gibt Menschen in der Organisation, die etwas möchten und entscheiden sollen. Diese Menschen haben oft leider kein ausreichend tiefes Verständnis über das, was priorisiert werden soll. Schlimmer noch, es wird dann wieder in die Priorisierung eingegriffen. Damit der WSJF (wie übrigens jede andere Priorisierung auch) funktioniert, solltest du wissen, was du priorisierst.
Wenig Abhängigkeiten zwischen den Elementen
Wenn wir viele Einträge mit vielen Abhängigkeiten haben, dann wirst du am WSJF nur bedingt Freude haben. Das liegt aber nicht am WSJF selbst oder der Methode, sondern garantiert daran, dass du kein wirklich agile inkrementelles und interaktives Vorgehen anwendest. Damit haben wir also ein gewisse Voraussetzung, dass du innerhalb bestimmter Zeitabschnitte in der Lage bist, Wert zu erzeugen.
Lösen von der Ressourcen-Denke
Wie viele andere Priorisierungsmethoden auch, sortiert der WSJF nach Wert. Sprich es geht nicht darum, Ressourcen zu verplanen (jedenfalls im Zuge der Priorisierung nicht). Die Liste orientiert sich zwar anhand der "Größe" (Zahl im Nenner der SAFe Formel) aber nicht an allokierten Ressourcen.
Die Vorteile
Geschwindigkeit
Der WSJF ist schnell. Du hast damit die Möglichkeiten die Anzahl der Features (oder Projekte, ...) schnell zu bewerten. Zwar hängt das wieder rum davon ab, wie du den CoD bestimmst, aber grundsätzlich kann es mit der Technik, die das SAFe vorschlägt (relative Priorisierung mit Fibonacci Reihe), sehr zügig durchgeführt werden.
Einfachheit
Um den Weightest Shortest Job First anwenden zu können, benötigt es echt nicht viel. Ganz im Gegenteil. Wir brauchen nur wenige Minuten und du verstehst absolut, wie dieser funktioniert. Damit kannst du viele Menschen, unabhängig von deren Ausbildung und Position, in die Priorisierung einbinden.
Stabil trotz Manipulationsversuchen
Gerade wenn du die im SAFe verwendete Berechnung des CoD's verwendest, dann ist es meisten schwer, die Bewertung zu manipulieren. Probiere es ruhig mal aus - einzelne Komponenten in der Berechnung ändern wenig an deinem Ergebnis. Der Große Hebel ist die Größe.
Nutze einmal die nachstehende Tabelle und sortiere sie dir nach der Spalte "WSJF Index". Diese Spalte zeigt dir die Reihenfolge in deinem Backlog.
Probiere nun mal folgendes aus: Die ersten vier wichtigsten Feature (16,17,05 und 19) können im nächsten Sprint / Iteration / Zeitabschnitt erledigt werden. Du möchtest jetzt aber unbedingt, dass dein Feature (der Eintrag 02) nach vorne kommt. Rechne dir mal durch, welche Anstrengungen dafür notwendig sind!
Auch wenn du bei der WSJF Priorisierung nun andere Werte hast und mein Beispiel auch immer hinkt, so wirst du in der Realität immer ein ähnliches Muster feststellen: Es ist gar nicht so leicht Product Backlog Items zu "überholen"
PBI | BV | TC | RR/OE | JS | WSJF Index |
---|---|---|---|---|---|
Feature 01 | 13 | 8 | 5 | 5 | 5,2 |
Feature 02 | 20 | 8 | 5 | 5 | 6,6 |
Feature 03 | 1 | 1 | 1 | 1 | 3 |
Feature 04 | 3 | 1 | 8 | 8 | 1,5 |
Feature 05 | 8 | 3 | 3 | 1 | 14 |
Feature 06 | 3 | 5 | 2 | 3 | 5,5 |
Feature 07 | 2 | 2 | 3 | 8 | 0,875 |
Feature 08 | 1 | 2 | 2 | 5 | 1 |
Feature 09 | 3 | 8 | 1 | 3 | 4 |
Feature 10 | 5 | 13 | 8 | 5 | 5,2 |
Feature 11 | 8 | 2 | 1 | 13 | 0,846 |
Feature 12 | 20 | 2 | 13 | 20 | 1,75 |
Feature 13 | 3 | 1 | 8 | 8 | 1,5 |
Feature 14 | 3 | 8 | 3 | 8 | 1,75 |
Feature 15 | 2 | 13 | 2 | 3 | 5,667 |
Feature 16 | 8 | 20 | 13 | 2 | 20,5 |
Feature 17 | 5 | 8 | 5 | 1 | 18 |
Feature 18 | 20 | 8 | 5 | 13 | 2,538 |
Feature 19 | 3 | 5 | 3 | 1 | 11 |
Feature 20 | 1 | 3 | 2 | 2 | 3 |
Schafft Transparenz über Bewertung und Verständnis
Alleine nur wenn Organisationen das erste Mal gemeinschaftlich klar vor Augen haben, wie die gesamte Organisation Wert und einzelne Komponenten der Berechnung sehen, zeigt oft ein spannendes und wichtiges Bild. Es ist nämlich die Klarheit und Transparenz über die Bewertung und das Verständnis, welches richtig geschaffen wird.
Der Weightest Shortest Job First in der Praxis
Lass uns einmal durchspielen, wie eine Priorisierung in der Praxis tatsächlich aussehen würde und auf was du in diesem Zusammenhang immer achten musst.
Verständnis schaffen
Bevor du eine Priorisierungsmethode verwendest, solltest du sie auch kennen. Wenig überraschend ist es, das alle Beteiligten verstehen müssen, was sie zu tun haben. Das musst du durch gewisse Informationsformate zur Verfügung ermöglichen. Bis heute gilt aber auch hier: Die Teilnehmer müssen aktiv in das Ausprobieren gehen und die Methode erleben.
Ich sehe bis heute Menschen in Organisationen, die es schaffen sich dem Wissen zu entziehen, nie an einer Schulung dazu teilgenommen haben und trotzdem in der Position sitzen, diese Priorisierung durchzuführen. Funktioniert nicht. Achte darauf, dass du selbst Klarheit darüber hast, ob alle Beteiligten das Thema verstanden haben.
Die Einträge selbst Verstehen
Zunächst einmal müssen alle wissen, was es zu priorisieren gibt. Das ist wenig überraschend, stellt viele große Unternehmen dennoch vor Probleme. Doch dazu später mehr. Denn du musst die Themen für die Priorisierung auch verstehen. Interessanter Weise verstehen das alle, wenn es um Scrum und ein Product Backlog geht. Weniger verstehen es viele Menschen scheinbar, wenn es um die Priorisierung in der Skalierung geht. Gerade beim Scaled Agile Framework finde ich immer und immer wieder Situationen vor, in denen die mit dem WSJF zu priorisierenden Themen nicht bei allen Teilnehmern bekannt sind. Das für unweigerlich zu Problemen, was nicht der Methode geschuldet ist!
Einträge vorbereiten
Die eigentliche Vorbereitung mit dem Weightest Shortest Job First ist nicht aufwendig, wenn sie so durchgeführt wird, wie gedacht. Denn alle Einträge, die zu bewerten sind benötigen lediglich den Cost of Delay und die Job Size.
Was du aber auf jeden Fall benötigst ist ein Verständnis deiner Features, Projekte oder Backlog Items allgemein. Dafür macht es Sinn dir ein entsprechendes Format zu überlegen und das gemeinschaftlich zu verstehen und zu verwenden. Gerade größere Unternehmen oder Unternehmen mit bestimmten Rahmenbedingungen wie Rechte & Normen tun sich damit deutlich leichter.
Priorisierung durchführen
Die Priorisierung kannst du in der Regel auch nach einem einfachen, festen Muster durchführen.
Fehler und Mythen vom Weightest Shortest Job First
In meiner Arbeit mit großen Unternehmen findet sich der Weightest Shortest Job First oft in der Anwendung. Interessanterweise oft aber falsch angewendet. Manchmal aus dem Nichtwissen heraus, manchmal eher, weil man denkt, "man müsse das mal anpassen, weil es so bei uns nicht funktioniert".
Ich werde einfach mal die Fehler sprechen lassen und nicht Erläuterungen. Schau dir die Fehler an und reflektiere doch einfach mal gegen deinen WSJF.
Die zu priorisierenden Elemente sind nicht bekannt
Alles was du priorisieren möchtest, musst du auch kennen. Jedenfalls zu einer bestimmten Granularität. Immer wieder stelle ich bei der Priorisieurng fest, dass Entscheidungen für eine Priorisierung aber nicht getroffen werden können. Meistens liegt das an vielen Delegationen von Entscheidungen und Wissen.
WSJF ist ungenau
Immer wieder höre ich diese Aussage. Man könne den WSJF nicht verwenden, da das Ergebnis viel zu ungenau ist. Man zweifelt an der mathematischen Genauigkeit oder sogar daran, dass die WSJF Methode nicht vergleichbar und rekonstruierbar ist.
Ich kann nur empfehlen: Erstmal so starten wie angedacht, ausprobieren und Erfahrungen machen. Danach über Anpassungen denken und sprechen.
Fibonacci Folge ignorieren
Immer wieder gerne gemacht und Grund für viele unnötige Diskussionen und Ungenauigkeiten. Es ist Unsinn, wenn mir jemand sagt, er kann mit steigender Größe / Komplexität / Dauer / ... genau so gut schätzen, wie Dinge, die klein sind. Das war noch nie so, hat nie funktioniert und wird auch nie funktionieren.
Kann man den WSJF anpassen?
Immer und immer wieder finde ich Anpassungen in der Praxis, die leider überhaupt nicht funktionieren. Die spannendere Frage grundsätzlich ist aber, kann man und wenn ja wie, den Weightest Shortest Job First anpassen?Gehen tun ja bekanntlich alles.
Ob es sinnvoll und zielführend ist, steht immer auf einem anderen Blatt. So wie das SAFe gemacht hat (CoD genauer definieren), kannst du grundsätzlich auch deinen CoD definieren. Ich habe bei den ganzen Diskussionen irgendwann aufgeben und gemerkt, ich versuche Menschen zu überzeugen - was meistens nicht gut ist und mir schlecht gelingt 😉 Was sich aber immer und immer wieder erfolgreich darstellt ist es, ein Experiment zu starten und die Ergebnisse zu überprüfen.