Kanban in der Softwareentwicklung Software-Kanban – eine Einführung

von Arne Roock

Um konkurrenzfähig zu bleiben, ist eine stetige Optimierung der Arbeitsprozesse notwendig. In der Software-Entwicklung gibt es dafür mit Software-Kanban eine einfache Methode, um den bestehenden Arbeitsprozess für das Team transparent darzustellen und so Verbesserungsansätze aufzuspüren. Arne Roock stellt in diesem Beitrag Software-Kanban sowie dessen Prinzipien vor und zeigt an einem konkreten Beispiel, wie sich die Methode einsetzen lässt. Der Grundgedanke von Software-Kanban kann aber auch auf andere Bereiche übertragen werden.

Kanban in der Softwareentwicklung Software-Kanban – eine Einführung

von Arne Roock

Um konkurrenzfähig zu bleiben, ist eine stetige Optimierung der Arbeitsprozesse notwendig. In der Software-Entwicklung gibt es dafür mit Software-Kanban eine einfache Methode, um den bestehenden Arbeitsprozess für das Team transparent darzustellen und so Verbesserungsansätze aufzuspüren. Arne Roock stellt in diesem Beitrag Software-Kanban sowie dessen Prinzipien vor und zeigt an einem konkreten Beispiel, wie sich die Methode einsetzen lässt. Der Grundgedanke von Software-Kanban kann aber auch auf andere Bereiche übertragen werden.

Viele von uns waren schon an groß angekündigten Änderungsvorhaben beteiligt – und haben auch erlebt, wie diese gescheitert sind. Große, revolutionäre Veränderungen zum Erfolg zu führen, ist schwierig und scheitert oft an der mangelnden Akzeptanz der Betroffenen. In der Software-Entwicklung und -Wartung bietet "Software-Kanban" für Change-Projekte einen interessanten Ansatz: Denn hier wird der Ist-Zustand des Arbeitsprozesses als Ausgangspunkt betrachtet und darauf aufbauend Änderungen in kleinen Schritten vorgenommen. Dabei werden einige Elemente aus dem Lean Thinking mit Ideen der Engpasstheorie und der flussbasierten Produktentwicklung kombiniert.

Dieser Artikel stellt das Prinzip "Software-Kanban" anhand eines Beispiels vor und diskutiert dessen Stärken und Schwächen. Der Beitrag richtet sich vornehmlich an Führungskräfte und Projektmanager aus der IT-Branche; der Grundgedanke, der dahinter steckt, lässt sich aber auch auf andere Industriezweige anwenden.

Herr Paulsen probiert was aus...

Herr Paulsen ist Entwicklungsleiter eines renommierten Software-Hauses, das eine Warenwirtschaftssoftware für mittelständische Unternehmen entwickelt. Obwohl die Zahlen noch recht gut aussehen, bahnen sich immer mehr Probleme an: Die Konkurrenz hat gerade eine neue Version ihres Produkts mit einigen wirklich innovativen Features auf den Markt gebracht, wodurch ein deutlicher Verlust an Kunden droht. Gleichzeitig war das letzte eigene Release kein großer Erfolg, denn es enthielt eine Menge Fehler, so dass jetzt die Support-Hotlines heiß laufen und die Entwicklungsteams überwiegend mit Wartungsarbeiten beschäftigt sind. Es muss sich also etwas ändern. Aber was?

Die nächstliegende Lösung bestünde wohl darin, mehr Entwickler einzustellen. Das hatte Herr Paulsen jedoch schon vor einem Jahr getan und erstaunlicherweise hatte sich dadurch kaum etwas verbessert. Außerdem würde sein Chef Neueinstellungen kaum zustimmen. Vielleicht sollte er eine groß angelegte Qualitätsoffensive starten, mit motivierenden Postern an den Wänden? Er könnte auch die aktuell verwendeten Tools und Frameworks prüfen, ob diese überhaupt noch zeitgemäß sind? Doch bei all diesen Überlegungen beschleicht ihn das ungute Gefühl, damit auch nicht die gewünschten Veränderungen herbeizuführen – zu oft schon sind ähnliche Aktionen ohne Erfolg geblieben.

Scrum und Kanban kommen in der Softwareentwicklung immer häufiger zum Einsatz und haben in der Familie der Agilen Methoden inzwischen ihren festen Platz eingenommen. Doch sind diese beiden Ansätze überhaupt miteinander vereinbar?

Scrum und Kanban kommen in der Softwareentwicklung immer häufiger zum Einsatz und haben in der Familie der Agilen Methoden inzwischen ihren festen Platz eingenommen. Doch sind diese beiden Ansätze überhaupt miteinander vereinbar?

Da fällt ihm ein, dass er vor einiger Zeit von Software-Kanban gelesen hat, einem Ansatz, mit dem sich kontinuierlich Verbesserungen in kleinen Schritten verwirklichen lassen. Er informiert sich mehr über Software-Kanban und beschließt, dieses Prinzip in seiner Abteilung auszuprobieren.

Was ist Kanban?

Kanban in der Fertigung

Ursprünglich stammt Kanban aus der Fertigung und stellt neben "Jidoka" (intelligente Automatisierung des Produktionsprozesses) eine der beiden Säulen des Toyota Production Systems dar. Bei Kanban geht es darum, Lagerbestände zu reduzieren und zu gewährleisten, dass Zwischenerzeugnisse sich stets in der richtigen Anzahl zur richtigen Zeit am richtigen Ort befinden und dadurch weder Überproduktion noch Mangel entsteht.

Das Mittel dafür ist sehr einfach: Sobald der Bestand eines bestimmten Zwischenerzeugnisses unter eine definierte Anzahl sinkt (aber erst dann), wird dem vorgelagerten Produktionsschritt signalisiert, dass er nachproduzieren soll. Dafür werden Karten verwendet (der Begriff "Kanban" bedeutet ursprünglich "Signalkarte") auf denen die Art des Zwischenerzeugnisses, die benötigte Menge und einige weitere Informationen vermerkt sind (in vielen Bereichen wurden die Karten inzwischen durch vollständig elektronische Systeme abgelöst).

Software-Kanban

In der Automobilindustrie und in anderen Bereichen der Fertigung, wie z.B. dem Werkzeugbau, ist Kanban seit Jahrzehnten im Einsatz. Allerdings lässt sich diese Technik nicht einfach eins zu eins auf die Software-Entwicklung (bzw. -Wartung und -Betrieb) übertragen – denn diese ist keine Fließbandproduktion. Features für ein neues Software-System sind keine Einzelteile, die einfach nur nachbestellt und in der richtigen Reihenfolge zusammengefügt werden müssen. Vielmehr zeichnet sich Software-Entwicklung durch ein hohes Maß an Kreativität, Ungewissheit und somit auch Variabilität aus: Einige Anforderungen lassen sich in wenigen Stunden umsetzen, andere dauern Wochen, Fachexperten und Spezialisten sind ungleichmäßig verfügbar usw.

Dennoch lassen sich für die Software-Entwicklung sehr wohl einige allgemeine Kanban-Prinzipien aus der Fertigung übernehmen. Dies ist zum einen das Pull-Prinzip (genaue Erklärung siehe unten) und zum anderen die Vorstellung von "Flow": Die Arbeit soll möglichst gleichmäßig die einzelnen Prozessschritte durchlaufen und dabei möglichst wenig Wartezeiten aufweisen.

Software-Kanban – eine Einführung


Gleich kostenlos weiterlesen!

  • Zum Newsletter anmelden und diesen Artikel freischalten

  • Jede Woche neue Inhalte, Tipps und Tools per E-Mail
Gratis Newsletter bestellen & sofort weiterlesen

 

Hiermit melde ich mich zum Newsletter an. Ich habe die Datenschutzrichtlinien gelesen und akzeptiere diese. Ihre Daten nutzen wir ausschließlich zum Newsletter-Versand. Sie können sich jederzeit abmelden, indem Sie auf den Link in der Fußzeile unserer E-Mails klicken. Informationen zu unserem Datenschutz finden Sie hier.