[SL] Yesterday's Weather und WIP Limits

In Scrum gibt es eine einfache Regel, um die mögliche Arbeit für den nächsten Sprint zu schätzen: Wir übernehmen so viele User Stories (oder Story Points), wie wir im Durchschnitt in den letzten drei Sprints geschafft haben. Eventuell wird das noch etwas korrigiert, wenn z.B. jemand im Urlaub war. Statt uns zu optimistischen Zusagen verleiten zu lassen, verwenden wir einfach die beobachtete Geschwindigkeit des Teams als Prognose. Das Wetter von gestern (“Yesterday’s Weather”) taugt eben ganz gut als Vorhersage für das Wetter von heute. Durch die Begrenzung auf eine gegebene Anzahl User Stories vermeidet man, dass sich das Team zu viel vornimmt und dann am Ende des Sprints (der Iteration) nicht alles liefern kann.

Das ist natürlich ein spezielle Form von WIP Limit: Work in Process ist alles, was im Laufe des Sprints abgearbeitet werden soll. “Yesterday’s Weather” sorgt dafür, dass wir das System (Team) nicht überlasten, also

  Zufluss (geplant für diese Iteration)
    ist kleiner oder gleich
  Abarbeitung (beobachteter Durchschnitt der 3 letzten Iterationen)

Weil wir feste Sprintlängen haben, können wir das genauso gut als

  Zuflussrate
    ist kleiner oder gleich
  Abarbeitungsrate

schreiben, gemessen in der Einheit “User Stories pro Woche” (oder Story Points pro Woche).

Nun sieht man im Lean Software Development (Kanban) die Arbeit eher als mehr oder weniger kontinuierlichen Fluss an: User Stories fließen von links nach rechts auf dem Kanban-Board, beispielsweise von “Ready” über “Development” und “Test” nach “Done”. WIP Limits begrenzen die Menge an angefangener Arbeit und damit die Durchlaufzeit (siehe Little’s Law). Unbegrenzt wachsendes WIP ist ein Symptom der Überlastung. Mit WIP Limits bekämpfen wir aber nicht nur das Symptom, sondern auch die Ursache der Überlastung– nämlich dass die Zuflussrate größer als die Abarbeitungsrate ist.

Ein WIP Limit regelt auch den Zufluss an Arbeit.

Ein Beispiel: Nehmen wir an, wir haben ein WIP Limit von 20 Stories (auf dem gesamten Kanban-Board), und zu Begin der letzten Woche war das WIP Limit voll ausgeschöpft. Wenn wir im Laufe der Woche 4 Stories abgearbeitet haben, dann konnten wir im selben Zeitraum höchstens 4 neue Stories annehmen, ohne das WIP Limit zu überschreiten. In einer besseren Woche hätten wir vielleicht 10 Stories geschafft (Hurra!), also könnten wir maximal 10 neue Stories hinzunehmen.

Wenn wir also einen Zeitraum betrachten, den wir “am WIP Limit” gestartet haben, dann gilt immer

  Zufluss ist kleiner oder gleich Abarbeitung

Das WIP Limit wirkt damit wie ein Ventil: Es regelt die Zuflussrate so, dass sie nicht größer als die kürzlich beobachtete Abflussrate (“Yesterday’s Weather”) werden kann.

Manchmal ist das Ventil etwas großzügiger, nämlich dann, wenn wir noch nicht am WIP Limit sind. Dann dürfen wir eine Zeit lang auch mehr Arbeit annehmen, als vorher abgearbeitet wurde. Wenn das WIP Limit dann irgendwann erreicht wird, gilt wieder: Es wird nur soviel angenommen, wie wir erwiesenermaßen abarbeiten können.

Ein WIP Limit funktioniert also als ein Regelkreis für den Zufluss, der Überlastung vermeidet und sich dabei längerfristigen Trends oder kurzfristigen Schwankungen in der Abarbeitungsrate anpassen kann.

Matthias Berth

Alle Emails