Fragen zu Kanban

1. Gibt es einen "Kanban-Master", der eine analoge Rolle zum ScrumMaster einnimmt?

Nein, Kanban, sieht hierfür keine explizite Rolle vor. Wichtig ist, dass es mindestens eine Person gibt, die die Prinzipien von Kanban versteht und sich verantworlich für den Prozess fühlt. Das kann ebenso ein Projektleiter sein wie ein Produktmanager, ein ScrumMaster oder ein externer Coach.


2. Stimmt es, dass es in Kanban keine Aufwandsschätzungen gibt?

Aufwandsschätzungen sind in Kanban natürlich nicht verboten, sie sind jedoch nicht zwingend vorgeschrieben und werden manchmal sogar als Verschwendung (Waste) angesehen. Der Grund dafür liegt darin, dass bei den vielen Anforderungen, die sich im Product Backlog befinden, niemals klar ist, ob/wann sie wirklich umgesetzt werden. Außerdem stehen, besonders bei kleinen Anforderungen, die Schätzungen häufig in einem ungünstigen Verhältnis zum tatsächlichen Aufwand (in Kanban spricht man von hohen Transaktionskosten). Für die Entscheidung, ob und wann eine Anforderung in das System gegeben werden soll, ist es in einer Kanban-Perspektive wichtiger zu wissen, wann sie voraussichtlich erledigt sein wird. Und diese Aussage lässt sich anhand der bisher gemessenen Durchlaufzeiten treffen und mit der Wahrscheinlichkeit für die Termintreue (Due Date Performance) versehen.


3. Macht Kanban Vorgaben hinsichtlich der eingesetzten Entwicklungspraktiken?

Wie das Team die Anforderungen umsetzt, bleibt ihm selbst überlassen und hängt von verschiedenen Faktoren ab. Allerdings ist es in Kanban-Systemen wichtig, dass ein automatisierter Build-Prozess und ein gut funktionierendes Konfigurationsmanagement existiert (oder schnell eingeführt wird), damit regelmäßig alle erledigten Features (und nur diese) released werden können. Darüber hinaus sollten möglichst viele Tätigkeiten automatisiert werden (v.a. Unit- und Akzeptanztests).


4. Softwareentwicklung unterscheidet sich grundlegend von Der Automobilindustrie. Ist eine Übertragung der Lean-Prinzipien wirklich sinnvoll?

Wichtig ist, dass man nicht versucht, einzelne Praktiken aus der Automobilindustrie 1:1 auf die Softwareentwicklung zu übertragen. Stattdessen geht es darum, tiefer liegende Prinzipien anzuwenden, die sich bereits anderswo (u.a. in der Automobilindustrie) bewährt haben. Einige dieser Prinzipien sind: Sich auf die Anforderungen mit dem höchsten Geschäftswert zu konzentrieren, Verschwendung zu minimieren und die Durchlaufzeiten zu verkürzen. Dass diese Prinzipien auch in der Softwareentwicklung zum Erfolg führen, zeigen etliche Projekte, die inzwischen Kanban einsetzen. Hier einige öffentliche Praxisberichte:


5. Wie führt man Kanban ein?

Die ersten beiden Schritte bestehen immer darin, die bisherige Wertschöpfungskette zu modellieren (es genügen einige Linien und Kreise auf einem Flipchart) und die verschiedenen Stationen auf einem Whiteboard zu visualisieren. Als nächstes kann man grob die Limits für die einzelnen Stationen festlegen und beobachten was passiert: Wie lang sind die Durchlaufzeiten? Wo befinden sich Bottlenecks?

Nach und nach sollten nun die Limits angepasst werden. Dabei ist es wichtig, dass das Team sich regelmäßig Feedback holt - die meisten Kanban-Teams führen deshalb tägliche Standup-Meetings durch. Schließlich ist es häufig ratsam, unterschiedliche Pull-Regeln festzulegen, die bestimmen, in welcher Reihenfolge verschiedene Anforderungen abgearbeitet werden sollen.


6. Wie verträgt Kanban sich mit Scrum?

Kanban ist ein übergreifender Ansatz, der prinzipiell auf jeden bestehenden Prozess aufgesetzt werden kann - egal ob agil oder nicht. Viele Prinzipien und Techniken aus Scrum ergänzen sich gut mit Kanban (etwa die Daily Scrums und die Burndown-Charts), und der ScrumMaster kann seine Rolle nutzen, um Kanban einzuführen.