Capacity Allocation und Puffer (mit Beispielen)

Capacity Allocation und Puffer
Von Sebastian Schneider // 29.10.2021 // 0 Kommentare

Wenn du Scrum, Kanban, das Scaled Agile Framework oder auch das Scrum Board 2.0 von Jeff Sutherland kennst, dann kommen dir Capacity Allocation und / oder Puffer als Begriffe bestimmt bekannt vor. In diesem Artikel nehme ich dich auf eine Reise durch die Organsiationslandschaft mit und wir schauen uns interessante Aspekte zu diesen beiden Konzepten an. Am Ende des Artikels besitzt du einen guten Überblick und kannst entscheiden ob und wie du mit der Kapazitätszuweisung und Puffern umgehen möchtest.

Aufteilung der Arbeit in Systemen

Wenn wir Systeme betrachten durch die Arbeit fließt, dann können wir mit der sogenannten Capacity Allocation und dem Puffer die Bearbeitung dieser Arbeit beeinflussen. Beide Konzepte teilen die Arbeit, die ankommt auf ihre Art und Weise auf. Während bei einem Product Backlog alles in einer relativ sortierten Liste steht, erlauben wir mit den beiden Konzepten eine andere Art der Behandlung von Arbeit - mit Vor- und Nachteilen.

Beide Ansätze teilen die Arbeit grundsätzlich auf, in zwei oder mehrere Gruppen von Arbeit. Begrenzen wir unsere Kapazität für eine bestimmte Art der Arbeit, dann erlauben wir es mit dieser auch unterschiedlich umzugehen. Wie das aussehen kann, ist Teil der nächsten beiden Abschnitte.

Capacity Allocation

Capacity A

Capacity Allocation auf deutsch

Capacity Allocation auf deutsch kannst du mit Kapazitätszuweisung übersetzen. Du weist damit Arbeit eine bestimmte Kapazität (deiner Teams, Organisation, ...) zu.

Übersicht

Wenn wir uns eine Capacity Allocation ansehen, dann fällt eines sofort auf. Wir bilden Gruppen von bestimmten Typen der Arbeit. Jede Gruppe kann dabei eine eigene Priorisierung besitzen. So hast du oben in dem Schaubild zwei Gruppen von Arbeit, einmal mit drei Elementen und eine andere Gruppe von Arbeit mit sechs Elementen.

Wie du auch erkennen kannst, gibt es damit zwei mal die Position 1 in jeder Liste. In einem relativ priorisierten Product Backlog finden wir sowas nicht. Bei einer Capacity Allocation hast du pro Gruppe, die du bildest auch jede Position in gleicher Anzahl vorhanden. Damit kannst du grob sagen, jede deiner Prioritäten kommt auch entsprechend oft vor.

Wozu du diese Kapazitätszuweisung nutzen kannst

Die spannende Frage nach dem Warum steht auch hier ganz vorne. Warum solltest du mit einer Capacity Allocation überhaupt arbeiten wollen? Während ich auf die Vor- und Nachteile später noch eingehe, geht es mir hier erstmal um das Verständnis.

Wenn du bei dir eine Situation vorfindest, bei dem du bestimmte Typen von Arbeit hast, die - aus welchen Gründen auch immer - nicht mit anderer Arbeit konkurrieren soll, kannst du mit der Capacity Allocation dafür sorgen, dass diese Arbeit trotzdem in einem bestimmten Umfang zur Bearbeitung kommt.

Damit kannst du in eine natürliche Reihenfolge eingreifen und diese verändern. So ermöglicht du es auch anderer Arbeit früher an die Reihe zu kommen, als es nach reinem Wert wäre.

Herausforderungen der Kapazitätszuweisung

Was erstmal gut klingt, bringt auch Herausforderungen gegenüber einer einzigen Liste mit sich. Wo du sonst eine Position in deinem Backlog hast, hast du nun z.B. zwei mal die gleiche Position. Dabei musst du dir natürlich überlegen, wie du damit umgehst. 

Oft existiert die Diskussion über die Capacity Allocation bei größeren Unternehmen. Bei kleineren Unternehmen mit wenigen Teams habe ich selten die Diskussion über so eine Technik. Mit dieser Begrenzung der Kapazität wird versucht unabhängig von einer tatsächlichen Priorisierung, bestimmter Arbeit einen garantierten Platz zuzuschreiben.

  • Unternehmen nutzen diese Technik, gerade dann wenn sie noch wenig Reife in der Agilität haben. Anstatt einer reinen Wert orientierten Reihenfolge nutzen die Kapazitätszuweisungen 
  • Eine Capacity Allocation wird gerne genutzt, um z.B. ein Verhältnis von Architektur und Features in einem Gleichgewicht zu halten.
  • Meine pauschale Beobachtung: je größer das Unternehmen, je geringer die aktuelle Reife im Bezug zur Agilität, desto häufiger die Verwendung einer kapazitativen Begrenzung.

Puffer

Puffer

Übersicht

"Ich brauche da einen kleinen Puffer (für Anreise zum Zug, Vorstellungsgespräch, etc.)" - die Aussage kennst du bestimmt auch und das trifft diese Technik sogar recht gut. Du lässt dir also bewusst etwas Zeit oder planst etwas passiver und baust dir damit einen Puffer auf, den du nutzen kannst oder der konsumiert wird, wenn etwas unvorhersehbares passiert.

Wenn wir von Puffern sprechen, dann reservieren wir eine Kapazität X / Zeit und verplanen diese nicht. Das kann man perfekt nutzen, wenn du zum Beispiel dein Team mit unplanbaren Aufgaben wie kritischen Fehlern umgehen muss.

Schnell ist klar, dass du natürlich nicht so viel in deinen Sprint planst, wie es möglich wäre. Du nutzt also nicht alle verfügbare Kapazität bzw. Zeit, die dir zur Verfügung steht. Das muss nicht schlimm sein, es ist immer eine betriebswirtschaftliche Abwägung. Denn Puffer sind teuer, wenn du sie nicht oder nicht richtig nutzt.

Wie du Puffer nutzen kannst

Einen Puffer auf deinem Scrum oder Kanban Board zu nutzen geht zum Beispiel mit einer Swimlane recht einfach. Wie du im Folgenden Bild siehst, kannst du dir eine weitere Zeile auf deinem Board erstellen und dort die reservierte Zeit / Story Points / ... abbilden.

Puffer Swimlane

Dabei gibt es natürlich unterschiedliche Wege - manche Teams schreiben eine Prozentangabe an die Swimlane, um ein Gefühl dafür zu bekommen.

Beispiele

Schauen wir uns nun noch zwei einfache Themen für die beiden Techniken von Puffer und Capacity Allocation genauer an.

Vorhalten von Zeit: Puffer

Eine bestimmte Zeit für die kontinuierliche Verbesserung oder auch Innovation wird "vorgehalten". Das können die Teams unterschiedlich tun, wie zum Beispiel ...

  • ... mit einer Anzahl von Story Points die reserviert werden
  • ... mit einer nicht beplanten Zeit im Team

Wenn ein Team sehr stark in der produktionsrelevanten Entwicklung aktiv ist, dann kann es auch helfen, eine bestimmte Zeit nicht zu verplanen.

Wenn ich mit Puffern arbeite, nutze ich gerne eine Swimlane in meinem Board, um die Arbeit sichtbar zu machen, die über den Puffer läuft.

Sebastian Schneider

Aufteilen der Kapazität: Capacity Allocation

Wie bereits oben angesprochen, kannst du mit einer dedizierten Zeit für architekturelle Arbeiten dir eine Capacity Allocation erstellen. Damit weist du der Arbeit Architektur eine bestimmte Kapazität der Organisation / Team / ... zu.

Dafür stehen im Grunde die gleichen Dinge zur Verfügung wie auch bei dem Puffer. Wichtig ist hierbei, dass du nicht in mathematische Genauigkeit verfällst (ich habe aber 21,26% Kapazitätszuweisung), sondern es immer mit dem gesunden Menschenverstand zu betrachten.

Um deine Capacity Allocation praktisch umzusetzen, kannst du entweder (bei gleichbleibenden Werte) auch Swimlanes nutzen oder auch mit "Tags" und "Filtern" in deinem Tool arbeiten, um ein Gefühl über die Zuweisung zu bekommen

Vor- und Nachteile von Capacity Allocation und Puffern im Allgemeinen

Wie so oft kannst du das Thema von Capacity Allocation und Puffern nicht pauschal als gut oder schlecht einteilen, sondern es geht um dein Ziel und deine Rahmenbedingungen. Ich gebe dir mal die folgenden Aussagen mit.

Vorteile

  • Eine Capacity Allocation ermöglicht es dir, unterschiedliche Kategorien der Arbeit bewusst zu trennen und anders zu behandeln.
  • Ein Puffer kann helfen z.B. produktionskritische Themen jeder Zeit bearbeiten zu können.
  • Puffer können helfen, eine bessere, geringe Auslastung zu etablieren (z.B. 75% oder 80%).
  • Die Arbeit, die in den Puffer Bereich fällt, kann einfach visualisiert werden.

Nachteile

  • Puffer sind betriebswirtschaftlich gesehen immer teuer. Du weißt nie genau, wann du die Zeit anderweitig nutzen und damit den Puffer freigeben kannst.
  • Mit einer Capacity Allocation verdoppelst du recht schnell das WIP (Work in Progress Limit)
  • Oft schleicht das Problem ein, dass zu viele parallele Capacity Allocation aufgestellt werden. Damit machst du dir jegliche Priorisierung kaputt.
  • Capacity Allocation kann schnell ein Gefühl von Ungerechtigkeit hervorrufen, wenn es zu oft und immer die gleichen Parteien einfordern.
  • Im Grunde ist Capacity Allocation eine Art Ressourcen Allokation, die wir im agilen Kontext nicht unbedingt wollen.
  • Nimmt Entscheidungsfreiheiten der Product Owner weg.

Der Bruch mit der Agilität

Wenn wir uns der Capacity Allocation und dem Puffer nähern, dann werfe ich einmal ketzerisch den Bruch mit der Agilität in den Raum. Wie so oft ist das natürlich nur eine Perspektive auf das Thema. Lass mir dir einfach mal die folgenden Fragen zum Reflektieren mit auf den Weg geben.

  • Wie wertorientiert arbeitest du wirklich in deinem Backlog, wenn du andere Themen vorziehen willst?
  • Warum sind die Arbeiten, die du per Capacity Allocation nicht so wichtig, dass sie oben im Backlog stehen?
  • Ist der Schnitt deiner Organisation und der Teams wirklich optimal? Warum musst du über Capacity Allocation nachsteuern?
  • Warum ist es dir nicht möglich die Arbeit in einem Puffer zu planen?
  • Wie richtig ist Scrum für dich als Framework, wenn du mit viel Puffer oder Capacity Allocation arbeitest?

Sebastian Schneider ist dem Framework Scrum - es war Liebe auf den ersten Sprint - bereits seit 2005 verfallen. Seitdem begleitet er Unternehmen (meist größere) bei der Transition in eine neue Arbeits- und Produktwelt.

Dafür findet er den richtigen Grad zwischen zielgerichteten systemischen Impulsen und dem nachhaltigen Coaching in der Organisation, um diese bei der Entwicklung und Optimierung des eigenen Kundenmehrwerts zu unterstützen und entwickelt mit ihnen Produkte, die ihre Kunden lieben.

Im richtigen Maß gehören dazu die effektive und effiziente Facilitation dazu, sowie agile Spiele und Simulationen, die sein Themenfeld auf einfache Art begreiflichen machen.

Auf Konferenzen, sei es im Fachbeirat oder als Akteur, gibt er gerne Erkenntnisse weiter und freut sich über Kontakte von Angesicht zu Angesicht.

>