Teil 1: Software-Kanban – Grundlagen und Methodenhybride

Kanban Basics

Torsten Zimmermann

Entwicklungsteams befinden sich oft in einem Spannungsfeld zwischen der Forderung nach schneller Zielerreichung und gleichzeitig steigendem Entwicklungsaufwand. Agile Entwicklungsmethoden helfen, dieses Problem zu entschärfen, und verdrängen seit geraumer Zeit sequenzorientierte Entwicklungsansätze. Jedoch sind auch hier in der Praxis Limitierungen zu erkennen. Die Kombination aus Kanban und Scrum zeigt mögliche Lösungen auf und bringt Teams wie Unternehmen weiter.

Entwickler Magazin

Der Artikel „Kanban Basics“ von Torsten Zimmermann ist erstmalig erschienen im Entwickler Magazin 6.2011.

Aufgrund der anspruchsvollen Vorgaben können Entwickler sich nur noch um die wichtigsten Aufgaben kümmern. In der Regel werden Vorbereitungs- und Testphasen gekürzt, um den vorgegebenen zeitlichen Rahmen zu erfüllen. Dies kann zulasten einer stabilen Softwarearchitektur gehen: Die aktuellen Anforderungen sind zwar erfüllt, aber Erweiterungen mögen nur auf der Basis aufwändiger Änderungen an der Softwarearchitektur zu realisieren sein. Enge Zeitpläne führen aber auch zu chronisch überlasteten Teams. Oft ist das den Auftraggebern nicht bewusst, da es hierzu in der Regel keine Informationen gibt. Damit sinkt langfristig die Teamperformance. Viele Entwickler erleiden deshalb ein „Burn-out“. Sie fühlen sich ausgelaugt und finden nicht mehr zur Ruhe. Hinzu kommt das Gefühl der Hilflosigkeit, wenn steigende Anforderungen in immer kürzeren Zeiteinheiten realisiert werden sollen.

Artikelserie
  • Teil 1: Software-Kanban – Grundlagen und Methodenhybride
  • Teil 2: Scrum trifft Kanban – Beispiele aus der Praxis
Es besteht Handlungsbedarf

Softwareunternehmen müssen sich rasch an Marktveränderungen anpassen können. Dabei sollte die Realisierung von Softwarelösungen in hoher Qualität in verhältnismäßig kurzer Zeit möglich sein. Beide Aussagen – Qualität und Zeit – können konträr zueinander stehen. Das darf nicht dazu führen, dass kurze Entwicklungszeiten auf Kosten der Lösungsqualität gehen. Ein zentrales Thema ist hierbei der Erhalt der Teamleistungsfähigkeit. Das Softwareunternehmen fordert durch hohe Prozesstransparenz die Eigenmotivation der Mitarbeiter. Ferner können die Teammitglieder selbst bei Engpässen rasch geeignete Gegenmaßnahmen einleiten. Die Gefahr ungeplanter Ereignisse, welche zu umfangreichen Änderungen an Projekt-/Entwicklungsplänen führen, wird deutlich reduziert. Das Optimum liegt also zwischen den Extremen. Gerade hier scheitern viele klassische, aber auch agile Entwicklungsmethoden. Kann ein Hybrid, also eine Kombination verschiedener Methoden, geeigneter sein, den steigenden Anforderungen zu entsprechen als deren Einzelkomponenten? Ausgehend von den vorgestellten Zielen wären nachfolgende Entwicklungsmethoden geeignet:

  1. Scrum: Scrum unterstützt den agilen Prozesscharakter und die Planungssicherheit.
  2. Kaizen: Mit Kaizen werden Entscheidungsprozesse optimiert. Entscheidungen lassen sich damit rasch treffen, da nach Kaizen nur noch die Informationen berücksichtigt werden, welche tatsächlich entscheidungsrelevant sind.
  3. Kanban: Mit Kanban ist es möglich, mit vergleichsweise einfachen Mitteln eine hohe Prozesstransparenz zu realisieren und die Teams vor Überlastung zu schützen.

Wenn man also diese drei Ansätze geschickt zu einem Methodenhybriden kombiniert, werden alle vier Teilziele berücksichtigt.

Eine kleine Methodenübersicht

Ein entscheidender Unterschied zwischen den Methoden ist der Umfang des betreffenden Regelwerks. Generell gilt: Je mächtiger das Regelwerk, desto geringer die Anpassungsfähigkeit. Oder: Methoden mit einfachen und wenigen Regeln sind in der Regel sehr flexibel auf das konkrete Umfeld anpassbar. Dieser Sachverhalt verhalf Scrum dazu, sich schnell als Entwicklungsmethode in der Softwarebranche zu etablieren. Kanban ist in diesem Punkt Scrum ähnlich: Dessen Regelsatz ist jedoch im Vergleich geringer, und die Anpassungsfähigkeit der Methode ist im Vergleich zu Scrum ausgeprägter (Abb. 1).

Abb. 1: Methodenübersicht

Jede der dargestellten Methoden hat sowohl Stärken als auch Schwächen. Wichtig ist es letztlich, die Methode zu wählen, welche am besten zu dem konkreten Umfeld passt. Damit eine sinnvolle Methodenselektion möglich ist, sollten hierzu nicht nur Methodenkenntnisse vorhanden sein, sondern auch konkrete Erfahrungen bezüglich der Methodenanwendung aus Entwicklungsprojekten.

Scrum

Scrum (engl. „Gedränge“) ist ein Rahmenwerk zur Entwicklung komplexer Produkte. Der Ansatz von Scrum ist empirisch und zeichnet sich durch eine einfache Struktur aus. Er beruht auf der Einsicht, dass die meisten modernen Entwicklungsprojekte zu komplex sind, um durchgängig planbar zu sein. Scrum versucht, die Komplexität durch drei Prinzipien zu reduzieren:

  • Transparenz: Alle relevanten Informationen eines Projektes werden täglich und für alle sichtbar festgehalten.
  • Überprüfung: Regelmäßig werden neu entwickelte oder erweiterte Produktfunktionalitäten vorgestellt und beurteilt.
  • Anpassung: Die Produktanforderungen werden nicht endgültig fixiert, sondern können nach jeder Lieferung neu bewertet und angepasst werden.

Weitere Informationen zu Scrum entnehmen Sie bitte dem Fachartikel in dieser Ausgabe.

Kaizen

Kaizen (jap. KAI – Veränderung, Wandel; ZEN – zum Besseren, also „Veränderung zum Besseren“) bezeichnet eine japanische Lebens- und Arbeitsphilosophie, in deren Zentrum das Streben nach ständiger Verbesserung steht (Abb. 2).

Abb. 2: Das Wort Kaizen in japanischer Schrift

In der Wirtschaft wurde das Konzept zu einem Managementsystem weiterentwickelt. In der Praxis werden die Begriffe „Kontinuierlicher Verbesserungsprozess“ (KVP) und „Continuous Improvement Process“ (CIP) synonym verwendet. Kaizen ist jedoch mehr als ein reiner Qualitätsbegriff. In Japan steht Kaizen für die Philosophie der „ewigen Veränderung“. Mit dieser Philosophie werden wir ständig konfrontiert, indem Produkte zum Beispiel Monat für Monat mit weiteren Add-ons versorgt werden. Aber auch die Tatsache, dass viele Produkte der Elektronikindustrie stetig kürzeren Innovationszyklen unterliegen, ist ein Ergebnis von Kaizen.

Wichtiger Baustein im Rahmen agiler Entwicklungsmetoden können jedoch die 5S-Bewegungen sein. Dabei handelt es sich um eine fünfstufige Vorgehensweise zur Neuplanung und Verbesserung sauberer, sicherer und standardisierter Arbeitsplätze.

  • Seiri: Entferne Unnötiges aus deinem Arbeitsbereich!
  • Seiton: Ordne die Dinge, die nach Seiri geblieben sind!
  • Seiso: Halte deinen Arbeitsplatz sauber!
  • Seiketsu: Mache Sauberkeit und Ordnung zu deinem persönlichen Anliegen!
  • Shitsuke: Mache 5S durch Festlegen von Standards zur Gewohnheit!

Wie man gut erkennt, steht in Kaizen der Mitarbeiter im Mittelpunkt. Er bestimmt letztlich den Erfolg. Auf der Basis dieser Erkenntnis entstanden auch Scrum und viele andere agile Methoden. Kaizen ist aus drei Gründen gut für eine Kombination mit agilen Methoden geeignet:

  • Kaizen kann gut mit agilen Methoden kombiniert werden, da es kompatibel zu agilen Ansätzen ist. Der Kaizen-Ansatz der „ewigen Veränderung“ korreliert mit der Vorstellung, dass ein komplexes Projekt gar nicht bis ins letzte Detail geplant werden kann.
  • Kaizen liefert einen Rahmen in Form der 5S als Mikromanagement für das einzelne Teammitglied im Bereich der Selbstorganisation. Dieses Mikromanagement stellt eine gute Ergänzung zu agilen Methoden, wie zum Beispiel Scrum, dar.
  • Kaizen unterstützt die Reduktion unnötiger Abläufe und Informationen, welche weder für Entscheidungsprozesse, noch für den Projekterfolg von Bedeutung sind. Es verschlankt so die Verwaltung und Administration, was die Zielerfüllung agiler Methoden unterstützt.
Geschrieben von
Torsten Zimmermann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.