Was ist Kanban?
Kanban ist ein agiler Ansatz, der Erkenntnisse aus der Lean Production mit Ergebnissen der Theory of Constraints verbindet und diese auf die IT überträgt.
Stärker als andere agile Ansätze wie Scrum oder XP legt Kanban den Fokus auf die gesamte Wertschöpfungskette - also über die reine Softwareentwicklung hinaus.
Worum geht es bei Kanban?
Im Kern von Kanban geht es darum, die Menge an paralleler Arbeit, den Work in Progress (WIP), zu beschränken und dadurch die Durchlaufzeiten von einzelnen, wertschöpenden Anforderungen zu verkürzen.
Zu diesem Zweck wird für alle Teammitglieder gut sichtbar ein Kanban-Board aufgehängt, auf dem die verschiedenen Stationen sichtbar sind, die eine Anforderung (User Story, Task oder Feature) im jeweiligen Projekt durchläuft, bevor sie produktiv geht. Dies können beispielsweise die Stationen Anforderungsdefinition (Anford.), Programmierung (Prog.), Dokumentation (Doku.), Test und Betrieb sein.
Die Anforderungen werden auf Karteikarten oder Haftnotizen notiert und wandern als "Tickets" durch alle Stationen, bis sie komplett erledigt sind.
Als nächster Schritt werden Beschränkungen eingeführt: Für jede einzelne Station wird festgelegt, wie viele Anforderungen parallel bearbeitet werden dürfen. Darüber hinaus gibt es Puffer zwischen den einzelnen Stationen, die auch wiederum in ihrer Größe beschränkt sind. Anforderungen dürfen nur dann zur nächsten Station weiterwandern, wenn diese freie Kapazitäten hat. Jede Station holt sich also gewissermaßen ihre Arbeit bei der Vorgängerstation ab (Pull-Prinzip). Durch diese Beschränkungen wird garantiert, dass die einzelnen Anforderungen möglichst schnell das gesamte System durchlaufen und so früh wie möglich produktiv gehen können. Um einen gleichmäßigen Arbeitsanfall zu gewährleisten, werden zusätzlich Warteschlangen eingeführt, die aber ebenfalls in ihrer Größe beschränkt sind und möglichst klein gehalten werden sollten.
Schon nach kurzer Zeit macht das Kanban-Bord deutlich, wie lange die unterschiedlichen Anforderung durchschnittlich benötigen, um ausgeliefert zu werden, wie groß die Abweichungen sind und an welcher Stelle sich Anforderungen anstauen (Bottlenecks). Diese Erkenntnisse werden genutzt, um Ressourcen umzuverteilen und andere Optimierungen durchzuführen. Nach und nach werden die Kapazitätsbeschränkungen angepasst, um einen möglichst gleichmäßigen Fluss (Flow) zu gewährleisten.
Schließlich werden erfahrene Kanban-Teams darauf hinarbeiten, Varianzen in den Durchlaufzeiten an den einzelnen Stationen zu minimieren - indem beispielsweise Anforderungen möglichst gleich groß geschnitten werden und unerfahrene Teammitglieder systematisch ausgebildet werden.
Unterschiede zu anderen agilen Methoden
Der auffälligste Unterschied zu Scrum und eXtreme programming besteht darin, dass Kanban die Abstimmung mit dem Kunden, die Abarbeitung der Anforderungen und die Releases voneinander entkoppelt. In Kanban existieren deshalb weder Iterationen noch Timeboxes. Vielmehr wird für jede erledigte Anforderung eine neue in das System gegeben. Alle Anforderungen, die zum Releasetermin komplett fertig sind, können mit in das aktuelle Release aufgenommen werden. Releases werden dabei nach einem selbst gewählten Rhythmus durchgeführt, der je nach Gegebenheiten unterschiedlich lang sein kann. Es ist sogar möglich, Releases "on Demand" durchzuführen. Die Abstimmungsmeetings sind wiederum unabhängig von den Releases. Beispielsweise können sich Team und Kunde jede Woche treffen, während nur alle drei Monate neue Releases stattfinden.
Vorteile von Kanban
- Schafft schnell hohe Transparenz über Projektfortschritt und akute Probleme.
- Geht über die reine Softwareentwicklung hinaus und beleuchtet auch Bereiche wie Requirements Engeneering, Testing oder Maintenance und Systemadministration.
- Gut geeignet für Organisationen mit starker Arbeitsteilung und Spezialisierung.
- Lässt sich behutsam in bestehende Prozesse (gleichgültig ob agil oder nicht) integrieren und schrittweise anpassen.
- Sorgt für gleichmäßige und nachhaltige Geschwindigkeit (sustainable Pace).
Unser Angebot zu Kanban
- Wir bieten offene Kanban-Schulungen mit David Anderson an - einem der Väter von Kanban.
- In Einführungs-Workshops behandeln wir die Unterschiede zwischen Kanban, eXtreme programming, Scrum und Feature Driven Development.
- Wir führen Inhouse-Schulungen zu Kanban durch und unterstützen Organisationen bei der Einführung von Kanban (Kontakt).








