Kanban in Projekten

Kanban (in der Softwareentwicklung) ist eine Methode zur Visualisierung von Prozessen und Workflows, deren Ursprünge im Lean Management liegen. Sie basiert auf wenigen Grundprinzipien und Kerneigenschaften. Über abgeleitete Kenngrößen und Metriken können bestehende Prozesse analysiert und verbessert werden. In IT-Projekten – und dort besonders in der Softwareentwicklung – gewinnt Kanban derzeit stark an Bedeutung, da es sehr einfach und mit geringem Aufwand einführbar ist. Dieser Artikel beschreibt die Grundlagen von Kanban und erläutert, wie Kanban in Projekten eingesetzt werden kann.
Kanban ist eine Methode, die seit einigen Jahren in die IT – und hier insbesondere bei der Softwareentwicklung und beim IT-Support – Einzug hält. Obwohl unabhängig von den agilen SW-Entwicklungspraktiken und -methoden entstanden, wird Kanban im Allgemeinen den agilen Methoden zugerechnet.
Der Einsatz von Kanban ist vergleichsweise einfach und auch die Einführung ist schnell umsetzbar, was ein wesentlicher Grund für die zunehmende Beliebtheit von Kanban gerade in kleinen Organisationen und Projekten ist.
Die theoretischen Grundlagen von Kanban
Die theoretischen Grundlagen von Kanban sind schnell beschrieben, denn in Kanban werden lediglich vier Grundprinzipien und sechs Kernpraktiken als theoretische Basis genannt. Die vier Grundprinzipien (Foundational Principles) lauten:
- Starte mit dem, was du jetzt machst
- Verfolge inkrementelle, evolutionäre Veränderung
- Respektiere initial Prozesse, Rollen, Verantwortlichkeiten und Job-Titel
- Fördere Leadership auf allen Ebenen in der Organisation
Gerade die ersten drei Grundprinzipien haben eine große Bedeutung, denn sie sagen aus, dass man an Bestehendem nichts verändern muss, wenn man mit Kanban starten möchte: Weder die Abläufe noch die Rollen noch die Aufgabenverteilungen werden angetastet. Da sich Kanban aber als evolutionärer Change-Management-Ansatz versteht, werden Veränderungen zwar angestrebt, die dann aber nicht sofort, sondern erst im Laufe der Arbeit mit dem Kanban-System durchgeführt werden. Die sechs Kernpraktiken (Core Practices) werden folgendermaßen beschrieben:
- Mache die Arbeit sichtbar
- Limitiere den Work in Progress (WIP)
- Manage den Fluss (Workflow)
- Mache die Prozess-Regeln explizit
- Implementiere Feedback-Mechanismen
- Führe gemeinschaftliche Verbesserungen durch
Die Aussagen der Kernpraktiken erschließen sich nicht unbedingt sofort, sind aber dann hilfreich, wenn man bereits die ersten Schritte mit Kanban unternommen hat, da sie einen Handlungsrahmen vorgeben.
Mit Kanban starten
Wenn man mit Kanban starten möchte, so ist der reine Materialaufwand gering. Es wird ein großes Whiteboard (mindestens 1x2 Meter) zur Visualisierung benötigt, zudem selbstklebende Notizzettel („Sticky Notes“, am besten in mehreren Farben, Größe: mindestens 4x4 cm), Board Marker (Stifte, abwischbar, verschiedene Farben) und eventuell schwarzes Klebeband (1-2 cm breit).
Bereits hiermit kann man loslegen: Man visualisiert einen bestehenden Prozess auf dem Board, indem die Namen der einzelnen Prozessschritte von links nach rechts als Überschrift von einzelnen Spalten eingetragen werden. In Abbildung 2 ist ein solches Kanban-Board zu sehen, welches die vier Prozessschritte „Angelegt“, „Bewertung“, „Bearbeitung“ und „Beendet“ darstellt. Die Visualisierung von Prozessen wird auch in anderen Verfahren häufig eingesetzt, als Besonderheit kommt bei Kanban jedoch hinzu, dass pro Spalte eine Zahl notiert wird (in Abbildung 2 in roter Schrift) – dies ist das WIP-Limit (WIP = Work in Progress), welches die Limitierung der gleichzeitig in einen Prozessschritt bearbeitbaren Aufgaben beschreibt. In diesem Beispiel können beliebig viele Aufgaben angelegt werden (der Stern „*“ steht für beliebig viele), jedoch dürfen nur jeweils zwei Aufgaben in den Prozessschritten „Bewertung“ und „Bearbeitung“ durchgeführt werden. Im abschließenden Prozessschritt „Beendet“ dürfen bis zu 20 Aufgaben gleichzeitig enthalten sein.
Auf den Notizzetteln (auch Aufgabenzettel oder Tickets genannt) werden die einzelnen Aufgaben notiert und entsprechend ihres Bearbeitungszustands an das Kanban-Board geheftet. Durch Umhängen der Tickets von links nach rechts nach einem Bearbeitungstakt (üblicherweise ein Arbeitstag) wird der Flow (oder Workflow) sichtbar: Nach und nach wandern alle Aufgaben von „Angelegt“ nach „Beendet“. Die Geschwindigkeit ist durch die beiden WIP-Limits der Prozessschritte „Bewertung“ und „Bearbeitung“ begrenzt.
Der Aufgabenzettel
Für ein Kanban-System ist es (beinahe) unerheblich, wie die Aufgabenzettel aufgebaut sind. Häufig werden einfach Überschriften notiert, die dann an anderer Stelle detaillierter beschrieben werden. Die Inhalte können dann User Stories, Use Cases, Bugreports oder Sonstiges sein. Wesentlich ist jedoch, dass pro Aufgabenzettel eine eindeutige Nummer (ID) vergeben wird, um so die Aufgaben auch in einem Softwaresystem (hier wird häufig Jira eingesetzt) verwalten zu können. Generell gibt es bei Kanban keine Vorgaben, was die Farben der Aufgabenzettel angeht. Jedoch lassen sich über unterschiedliche Farben die sogenannten Serviceklassen realisieren, über die eine Bearbeitungsgeschwindigkeit (wie „beschleunigte Bearbeitung“, „normale Bearbeitung“, „fester Liefertermin“, „unbestimmt“) vorgegeben werden kann.
Die Begrenzung der begonnenen Arbeit
Die Begrenzung gleichzeitig begonnener Arbeiten ist der Schlüssel zur Optimierung bei einem Kanban-System. Der Effekt der Begrenzung der begonnenen Arbeit ist in der nachfolgenden Abbildung dargestellt. Links ist im Prozessschritt „Test“ das WIP-Limit auf 4 gesetzt. Stellt man fest, dass im Laufe der Bearbeitung in jedem Bearbeitungstakt ein oder mehrere Aufgaben nicht bearbeitet werden können, so reduziert man an dem jeweiligen Prozessschritt das WIP-Limit, in diesem Beispiel von 4 auf 2. Hierdurch gelangen die einzelnen Tickets schneller durch das Kanban-System, denn sie müssen weniger lang an den einzelnen Prozessschritten verweilen.
Wie entsteht der Workflow?
Durch das Umhängen der Tickets nach einem bestimmten Bearbeitungstakt entsteht ein Workflow. Das Umhängen geschieht üblicherweise in einem Stand-up-Meeting, bei dem alle beteiligten Teammitglieder sich vor dem Board versammeln und den Fortschritt der Arbeit besprechen. Das Stand-Up-Meeting findet zu festen Zeiten (beispielsweise „einmal pro Tag um 11.30h“) statt.
Ist eine Aufgabe erledigt, so wird das dazugehörige Ticket in die nächste Spalte umgehängt – insofern es das WIP-Limit dort erlaubt. Daher wird üblicherweise von „rechts nach links“ vorgegangen: Man betrachtet den (nachgelagerten) Prozessschritt, der durch eine Spalte rechts vom aktuellen Prozessschritt beschrieben ist und zieht von dort aus so viele fertige Tickets aus der Spalte, wie es das WIP-Limit erlaubt. Diesen Vorgang wiederholt man für alle Spalten, so dass ein neuer Gesamtstatus entsteht. Wesentlich ist hierbei, dass die Teammitglieder über den Arbeitsfortschritt sprechen und so einen Überblick erhalten.
Die nachfolgende Abbildung zeigt das Umhängen der Tickets in einem Bearbeitungstakt: Im ersten Schritt wird das Ticket aus „Bearbeitung“ nach rechts in „Beendet“ gezogen, da dort das WIP-Limit (20) noch nicht erreicht wurde (A). Die beiden Tickets aus „Bewertung“ können nun nach rechts umgehängt werden (B) und schließlich werden zwei Tickets aus „Angelegt“ nach „Bewertung“ geschoben (C).
Wann ist Kanban besonders vorteilhaft einsetzbar?
Kanban ist zwar generell universell für alle Arten von Prozessen verwendbar, jedoch ist der Einsatz besonders empfehlenswert wenn
- die Grundvoraussetzungen von anderen Vorgehensweisen (wie Scrum) nicht erfüllt werden können, da beispielsweise Rollen nicht gelebt oder Verfügbarkeiten nicht gewährleistet werden können
- die Prozesse schwach strukturiert sind
- es sich Support-Prozesse in der IT handelt, die besonders kleinteilig und schnelllebig sind
- Service Level Agreements abgebildet werden müssen
- sich die Prozessabläufe in ähnlicher Form wiederholen lassen, da diese klar definiert sind ist
- für das Umfeld eine schnelle Reaktion wichtiger ist als die genaue Vorhersagbarkeit
Kanban in Projekten
Kanban gibt keinen Prozess vor, sondern orientiert sich an dem, was bereits vorhanden ist. Ist in einem Unternehmen keine Projektkultur vorhanden, so kann mit einem sehr einfachen Kanban-Board bereits eine Projektverfolgung umgesetzt werden, in dem nur einfache Prozessschritte visualisiert werden. Bei Scrum-Projekten bietet sich an, die Umsetzung der Aufgaben (Tasks) des Sprints mit dem Kanban-Board zu realisieren. Dazu werden die Sprint Backlog Items als Tasks an das Kanban-Board gehängt und dann vom Team umgesetzt. In klassischen Projekten mit vorgegebenem Projektstrukturplan mit entsprechenden Arbeitspaketen kann über Kanban der Bearbeitungsstand der einzelnen Arbeitspakete erfasst werden. Auch hierüber lässt sich dann recht schnell der aktuelle Stand ablesen und eventuelle Schwachstellen im bestehenden Projektmanagementprozess erkennen.
Ein Kanban-Board für Softwareentwicklungsprojekte
Ein Kanban-Board für Softwareentwicklungsprojekte muss die Schritte von Ermittlung der Anforderungen bis zur Produktivsetzung der umgesetzten Anforderungen abdecken. Hierbei wird dann häufig zwischen
- echter Neuentwicklung mit Mehrwert für den Kunden über Features,
- Änderungswünschen, die der Kunde bezahlt
- sowie der Behebung von Fehlern
unterschieden. Ein solches Board ist in der nachfolgenden Abbildung wiedergegeben: Die drei Aufgabentypen bekommen eigene Bereiche, die über Swimlanes (die durch Einzeichnen von horizontalen Linien auf dem Kanban-Board entstehen) realisiert werden. Zusätzlich ist in diesem Beispiel noch eine „Fastlane“ eingebaut, auf der die Tickets bevorzugt behandelt und damit besonders schnell bearbeitet werden.
Die Einführung von Kanban
Wenn man mit Kanban beginnen möchte, so sollte man mit einem Projekt (oder einem Prozess) starten, das nicht zu groß ist und bei dem nicht zu viele Mitarbeiter beteiligt sind. Hierüber lassen sich erste Erfahrungen sammeln, die dann später bei größeren Prozessen verwendet werden können. Es bietet sich an, bei der Einführung folgende sieben Schritte systematisch durchzuführen.
- Systemgrenzen ziehen: Zunächst muss der Bereich definiert werden, in dem Kanban eingesetzt werden soll. So kann beispielsweise bei der Softwareentwicklung zunächst nur die Anforderungsermittlung als eigener Prozess betrachtet werden, um so die Übersichtlichkeit zu bewahren
- Visualisierung durchführen: Das Benennen und anschließende Einzeichnen der Prozessschritte auf das Kanban-Board ist ein wesentlicher Schritt, der mit den Beteiligten gemeinsam durchgeführt werden sollte
- WIP-Limits (initial) definieren: Es durch das Definieren der WIP-Limits entsteht das Kanban-Board. Zu Beginn kann man ein WIP-Limit dadurch ermitteln, indem die Mitarbeiter ihre eigene Geschwindigkeit schätzen
- Serviceklassen beschreiben: Über die Serviceklassen wird den Aufgaben eine gewünschte Bearbeitungsgeschwindigkeit mitgegeben. Typischerweise werden hierzu Notizzettel mit unterschiedlichen Farben verwendet
- Regeln benennen: Es muss benannt werden, wann und wie die Tickets umgehängt werden dürfen. Diese Regeln sollten schriftlich fixiert und dann als Zettel mit an das Board geheftet werden
- Messungen vorbereiten: Schon gleich zu Beginn sollten Vorbereitungen für die Messungen getroffen werden, um hieraus schon sehr früh eine Aussage über Engpässe und Optimierungsmöglichkeiten treffen zu können
- Betrieb starten: Und damit kann bereits gestartet werden, indem erste Tickets an das Kanban-Board geheftet werden
Typische Fallstricke bei der Umsetzung
Auch wenn Kanban schnell und einfach eingeführt werden kann, so treten in der Praxis Probleme auf, die sich oftmals erst nach einiger Zeit zeigen. Hier sind zu nennen:
- Es kümmert sich niemand „hauptamtlich“ um das Kanban-System. Die sonst übliche Selbstorganisation reicht hier nicht – eine Art „Board Master“ sollte etabliert werden.
- Kanban kann dazu verwendet werden, „Minderleister“ zu identifizieren, da es Schwachstellen im Bearbeitungsprozess aufdeckt. Wird dies als Ziel beim Einsatz von Kanban benannt, so führt dies häufig zur Ablehnung von Kanban bei den Mitarbeitern.
- Wenn Kanban eingeführt ist und die WIPs passend gesetzt wurden, so „läuft“ das System. Es fehlt dann der Anreiz, das Board oder die Messungen weiter zu pflegen.
- Nachdem Kanban etabliert ist fällt häufig auf, dass die zugrundeliegenden Prozesse verändert werden müssten, um eine Ergebnisverbesserung zu erzielen. Hier zu fehlen jedoch sehr oft der Ehrgeiz und der Wille, insbesondere beim „Management“.
Das Push- und das Pull-Prinzip
Kanban folgt immer dem Pull-Prinzip: Nur wenn die nachgelagerte Bearbeitungsstelle Bedarf hat, wird die Aufgabe weitergereicht, sie wird vom Nachfolger „gezogen“ (engl. pull). Beim Push-Prinzip wird eine beendete Aufgabe zur weiteren Bearbeitung einfach an den Nachfolger weitergereicht oder weitergeschoben (engl. push).
Zusammenfassung
Generell kann Kanban bei der Projektumsetzung helfen und ist sowohl mit klassischen wie auch mit agilen Methoden kombinierbar. Nachdem zu Beginn keine Veränderungen an bestehenden Prozessen vorgenommen werden müssen, Schwachstellen aber im Laufe der Zeit erkannt und behoben werden können, ist Kanban hervorragendes System zur sukzessiven Verbesserung von bestehenden Prozessen. Jedoch ist Kanban kein Selbstläufer: Werden die Randbedingungen nicht beachtet, so bringt Kanban nicht den gewünschten Zusatznutzen. Betrachtet man aber den geringen Aufwand bis zum ersten Einsatz eines Kanban-Boards und vergleicht die möglichen Vorteile, die sich schon aus der Visualisierung und der daraus entstehenden Kommunikation ergeben, so ist Kanban eine gute Alternative oder Ergänzung zu anderen Methoden.
Stop Starting – Start Finishing! (Ein Leitspruch von Kanban)
Autor

Horst Peterjohann ist Diplom-Informatiker, zertifizierter Projektmanager (PMP) und IT Service Manager (ITIL). Als selbständiger Berater, Coach und Trainer unterstützt er Unternehmen bei der Umsetzung von Projekten und greift dabei neben seiner langjährigen Erfahrung auf sein umfangreiches Methoden-Wissen (klassisch und agil) zurück.