Kanban (Softwareentwicklung)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Kanban ist ein Vorgehensmodell zur Softwareentwicklung, bei dem die Anzahl paralleler Arbeiten, der Work in Progress (WiP), reduziert und somit schnellere Durchlaufzeiten erreicht und Probleme – insbesondere Engpässe – schnell sichtbar gemacht werden sollen.

Wurzeln und Geschichte[Bearbeiten]

Das japanische Wort Kanban bedeutet ursprünglich ‚Signalkarte‘ (kan ‚Signal‘, ban ‚Karte‘) und ist eine Technik aus dem Toyota-Produktionssystem, mit der Lagerbestände reduziert werden und ein gleichmäßiger Fluss (Flow) in der Fertigung hergestellt werden soll. Kanban in der Informationstechnik (IT) übernimmt zwar den Namen, versucht aber keine direkte Übertragung einzelner Techniken aus der Produktion auf die IT. Vielmehr werden einige grundlegende Prinzipien aus der Lean Production (‚Schlanke Produktion‘), und mehr noch dem Lean Development (auch Lean Product Development), übernommen und ergänzt durch die Theory-of-Constraints[1] und das klassische Risikomanagement. Insbesondere die Ideen Don Reinertsens, der verschiedene Techniken vorstellt, wie sich Produkte in wesentlich kürzerer Zeit entwickeln lassen, spielen eine wichtige Rolle in Kanban. Als „Begründer“ von Kanban in der IT gilt David Anderson[2], der das Gesamtkonzept erstmals 2007 der Öffentlichkeit vorstellte.

Kanban-Praktiken[Bearbeiten]

David Anderson beschrieb sechs Praktiken, die Unternehmen in ihre Arbeitsweise integrieren, wenn sie Kanban machen:

Visualisiere den Fluss der Arbeit
Die Wertschöpfungskette mit ihren verschiedenen Prozessschritten (zum Beispiel Anforderungsdefinition, Programmierung, Dokumentation, Test, Inbetriebnahme) wird gut sichtbar für alle Beteiligten visualisiert. Dafür wird ein Kanban-Board (in der Regel ein großes Whiteboard) verwendet, auf dem die unterschiedlichen Stationen als Spalten dargestellt werden. Die einzelnen Anforderungen (es können Tasks, Features, User Stories, Minimal Marketable Features (MMF) usw. sein) werden auf Karteikarten oder Haftnotizen festgehalten und durchwandern mit der Zeit als so genannte Tickets das Kanban-Board von links nach rechts.
Begrenze die Menge angefangener Arbeit
Die Anzahl der Tickets (Work in Progress – WiP), die gleichzeitig an einer Station bearbeitet werden dürfen, wird limitiert. Wenn beispielsweise die Programmierung gerade zwei Tickets bearbeitet, und das Limit für diese Station zwei beträgt, darf sie kein drittes Ticket annehmen, auch wenn die Anforderungsdefinition ein weiteres bereitstellen könnte. Hierdurch entsteht ein Pull-System, bei dem sich jede Station ihre Arbeit bei der Vorgängerstation abholt, anstatt fertige Arbeit einfach an die nächste Station zu übergeben.
Miss und steuere den Fluss
Die Mitglieder eines Kanban-Prozesses messen typische Größen wie Längen von Warteschlangen, Zykluszeit und Durchsatz, um festzustellen, wie gut die Arbeit organisiert ist, wo man noch etwas verbessern kann und welche Versprechen man an die Partner geben kann, für die man arbeitet. Dadurch wird die Planung erleichtert und die Verlässlichkeit gesteigert.
Mache die Regeln für den Prozess explizit
Um sicherzustellen, dass alle Beteiligten des Prozesses wissen, unter welchen Annahmen und Gesetzmäßigkeiten man arbeitet, werden möglichst alle Regeln, die es gibt, explizit gemacht. Dazu gehören z.B. eine Definition des Begriffes "fertig", ähnlich der Definition of Done in Scrum, Bedeutung der einzelnen Spalten, Antworten auf die Fragen: wer zieht, wann zieht man, wie wählt man das nächste zu ziehende Ticket aus der Menge der vorhandenen Tickets aus, usw.
Fördere Leadership auf allen Ebenen in der Organisation
Verbesserung kann nur funktionieren, wenn sich alle Ebenen in der Organisation daran beteiligen. Besonders wichtig ist es, dass Mitarbeiter, die direkt die Arbeit verrichten, "Acts of Leadership" zeigen und konkrete Verbesserungsvorschläge einbringen.
Verwende Modelle, um Chancen für kollaborative Verbesserungen zu erkennen
Modelle sind Vereinfachungen über den Prozess. Ein beliebtes Modell ist z.B. das von Wert, Fluss und Verschwendung aus der "Lean IT". Andere Modelle basieren auf den Ideen von Deming oder auf der Engpasstheorie, auf systemischem Denken oder auf der Komplexitätstheorie. Modelle können dabei helfen, ein besseres Prozessverständnis zu erreichen und Experimente zu finden, die zu einer Verbesserung des Prozesses führen.

Die Visualisierung und die Begrenzung des WiP sind einfache Mittel, mit denen rasch sichtbar wird, wie schnell die Tickets die verschiedenen Stationen durchlaufen und wo sich Tickets stauen. Die Stellen, vor denen sich Tickets häufen, während an den nachfolgenden Stationen freie Kapazitäten vorhanden sind, werden als Bottlenecks bezeichnet. Durch Analysen des Kanban-Boards können immer wieder Maßnahmen ergriffen werden, um einen möglichst gleichmäßigen Fluss (Flow) zu erreichen. Beispielsweise können die Limits für einzelne Stationen verändert werden, es können Puffer eingeführt werden (insbesondere vor Bottlenecks, die durch nur zeitweise Verfügbarkeit von Ressourcen entstehen), die Anzahl der Mitarbeiter an den verschiedenen Stationen kann verändert werden, technische Probleme werden beseitigt usw. Dieser kontinuierliche Verbesserungsprozess (japanisch: Kaizen) ist wesentlicher Bestandteil von Kanban.

Kanban Flight Levels - Wie passt Kanban ins Unternehmen?[Bearbeiten]

Die Kerneigenschaften von Kanban sind recht breit formuliert und geben keine Auskunft darüber, wo im Unternehmenskontext sich Kanban einbettet. Trotzdem unterliegt Kanban häufig dem Irrtum, dass es ein agiler Ansatz zur Team-Optimierung sei. Kanban kann durchaus auf Team-Ebene eingesetzt werden, es hat jedoch stets die gesamte Wertschöpfungskette im Blickwinkel. Um eine bessere Orientierung zu liefern, wo im Unternehmen Kanban eingesetzt werden kann, hat Klaus Leopold das Flight Levels Modell entwickelt.[3] [4]

Flight Level 1 - Kanban für Teams mit unkoordiniertem Zufluss zum System
Flight Level 1 zeichnet sich durch einen sehr leichten Start aus. Da der Zufluss zum System nicht reguliert wird, besteht die Gefahr, dass das Team überlastet wird.
Flight Level 2 - Kanban auf Team-Ebene mit koordinierten Zufluss zum System
Durch die Zuflussregulierung wird gewährleistet, dass das Team nur so viel Arbeit erhält, wie es auch abschließen kann. Der Nachteil von Flight Level 2 ist, dass es eine lokale Optimierung darstellt - Unternehmen bestehen in der Regel aus mehreren Teams, die alle für die Wertgenerierung für den Kunden benötigt werden.
Flight Level 3 - Kanban für die Wertschöpfungskette
Bei Flight Level 3 geht es nicht um die Optimierung von einzelnen Teams in einem Unternehmen, sondern um die Optimierung der übergreifenden Wertschöpfung. Kanban wird demnach für mehrere Teams und/oder Abteilungen einer Organisation nutzbar gemacht.
Flight Level 4 - Kanban fürs Portfolio
In den meisten Fällen gibt es mehrere Wertschöpfungsketten (z.B. Projekte, Produkte, Kunden, etc.) in einem Unternehmen. Auf Flight Level 4 werden genau diese verschiedenen Werterbringungen eines Unternehmens optimiert. Dieses Flight Level ist demnach sehr nahe bei Business- und Unternehmens-Strategie angesiedelt.

Verhältnis zu anderen Vorgehensweisen in der Softwareentwicklung[Bearbeiten]

Wasserfall[Bearbeiten]

Auch wenn die Stationen auf einem Kanban-Board häufig genau den Schritten des Wasserfallmodells entsprechen, besteht hier kein zwingender Zusammenhang. Insbesondere ist Kanban darauf angelegt, dass die einzelnen Tickets möglichst schnell alle Stationen durchlaufen und dann auch regelmäßig freigegeben werden. Kanban arbeitet also mit kleinen Schritten, die regelmäßig überprüft und gegebenenfalls wieder korrigiert werden. Allerdings lässt sich Kanban auf ein existierendes Wasserfall-Modell aufsetzen und kann dazu führen, dieses allmählich schneller und flexibler zu gestalten.

Der Unterschied zum klassischen Wasserfall wird insbesondere dadurch deutlich, dass im Wasserfall das gesamte Produkt parallel die einzelnen Produktionsphasen durchläuft, bei Kanban dagegen einzelne „Werkstücke“ bzw. Produktanforderungen. Insbesondere versucht man bei Kanban, die batch size, d. h. die Menge gleichzeitig in das Produktionssystem eingegebener Anforderungen, zu reduzieren.

Scrum[Bearbeiten]

Kanban weist viele Gemeinsamkeiten mit dem agilen Managementframework Scrum auf, steht jedoch in keinem zwingenden Verhältnis zu diesem. Weder muss man zuerst Scrum einsetzen, bevor man Kanban einführt, noch schließen sich beide Ansätze komplett aus. In gewisser Weise lässt sich Scrum als eine mögliche Implementierung von Kanban ansehen. Der Hauptunterschied zwischen beiden Ansätzen besteht darin, dass Scrum ein team-zentrierter Ansatz ist und Kanban primär die Wertgenerierung entlang der Wertschöpfungskette optimiert.

Nach Henrik Kniberg lassen sich folgende Gemeinsamkeiten und Unterschiede zwischen Scrum und Kanban ausmachen.[5]

Gemeinsamkeiten von Kanban und Scrum[Bearbeiten]

  • schlank ("lean") und agil
  • Pull-System
  • begrenzen den WiP
  • setzen auf Transparenz, um den Prozess zu verbessern
  • fokussieren darauf, möglichst schnell und möglichst häufig releasefähige Software-Inkremente auszuliefern
  • basieren auf selbstorganisierenden Teams
  • erfordern, dass Anforderungen in kleine Einheiten heruntergebrochen werden
  • In beiden wird der Releaseplan immer wieder optimiert, indem empirische Daten ausgewertet werden (Team-Geschwindigkeit / Durchlaufzeiten)

Unterschiede zwischen Kanban und Scrum[Bearbeiten]

Kanban Scrum
Iterationen sind optional. Es kann unterschiedliche Takte für Planung, Releases und Prozessverbesserung geben. Iterationen mit gleichen Längen sind vorgeschrieben.
Commitments sind optional. Das Team vereinbart, eine bestimmte Menge an Arbeit während der nächsten Iteration zu erledigen.
Die Durchlaufzeit (Cycle Time) wird als Basis-Metrik für Planung und Prozessverbesserung verwendet. Die Team-Geschwindigkeit (Velocity) ist die Basis-Metrik für Planung und Prozessverbesserung.
Cross-funktionale Teams sind optional. Experten-Teams sind erlaubt. Cross-funktionale Teams sind vorgeschrieben.
Keine Vorschrift bezüglich der Größe von Anforderungen. Anforderungen müssen so aufgeteilt werden, dass sie sich innerhalb einer Iteration erledigen lassen.
Es ist kein bestimmter Diagrammtyp vorgeschrieben. Burndown-Charts werden verwendet.
WiP wird direkt limitiert. WiP wird indirekt limitiert (durch die Menge an Anforderungen, die in einen Sprint „passt“).
Schätzungen sind optional. Schätzungen sind vorgeschrieben.
Neue Anforderungen können zu jedem Zeitpunkt an das Team gegeben werden, falls Kapazitäten frei sind. Während eines laufenden Sprints können keine neuen Anforderungen an das Team gegeben werden.
Gibt keine Rollen vor. Schreibt drei Rollen vor (Product Owner, Scrum Master, Team).
Ein Kanban-Board kann von mehreren Teams und/oder Einzelpersonen geteilt werden. Ein Scrum-Board gehört einem einzelnen Team.
Ein Kanban-Board wird kontinuierlich weitergepflegt. Das Scrum-Board wird nach jedem Sprint gelöscht und neu aufgesetzt.
Priorisierung ist optional. Schreibt vor, dass alle Einträge im Backlog priorisiert sein müssen.

Kaizen[Bearbeiten]

Kanban enthält als festen Bestandteil eine Kultur des kontinuierlichen Verbesserungsprozesses (KVP), gibt aber keine detaillierten Praktiken hierfür vor. In vielen Kanban-Teams haben sich aber mindestens die folgenden drei Praktiken etabliert:

Tägliche Statusmeetings (Standup-Meetings)
Das Team trifft sich täglich (in der Regel morgens) vor dem Kanban-Board. Dort wird anhand der Tickets der Projektfortschritt seit dem letzten Meeting deutlich gemacht. Außerdem werden Probleme verdeutlicht und Lösungswege besprochen. Das Meeting ist allerdings auf Kürze angelegt (zirka 15 Minuten), so dass längere Diskussionen ausgelagert werden.
Operations Reviews
In Kanban werden so genannte Operations Reviews abgehalten. Dies sind Meetings, die der kontinuierlichen Verbesserung dienen. Sie weisen Ähnlichkeiten zu Retrospektiven auf, wie sie aus anderen agilen Methoden bekannt sind. Allerdings finden Operations Reviews unregelmäßig statt. Und sie streben eine hohe Objektivität an, indem sie sich stärker auf die gesammelten Daten aus der Vergangenheit beziehen. Weiterhin wird versucht, dass an diesen Meetings Teilnehmer aus der gesamten Organisation teilnehmen (inklusive Management), und nicht nur das Entwicklungsteam.
Root Cause Analysis
Probleme sollen in Kanban nicht verwaltet, sondern behoben werden. Dies geschieht im Wesentlichen dadurch, dass durch das Kanban-Board Fehler schnell deutlich werden, zum Beispiel weil sich Arbeit staut, einzelne Stationen nicht ausgelastet sind, die Durchlaufzeiten zu lang sind oder einzelne Tickets ständig an derselben Station bleiben. Die Fehlerursachen sollen schnell ausfindig gemacht und schnell beseitigt werden (gegebenenfalls durch die Zusammenarbeit des gesamten Teams).

Value, Flow und Waste Elimination[Bearbeiten]

Kanban orientiert sich am Grundsatz aus dem Lean Thinking Value Trumps Flow, Flow Trumps Waste Elimination (deutsch: „Wert geht über Fluss, Fluss geht über Beseitigung von Verschwendung“). Dies bedeutet, dass zwar großer Wert darauf gelegt wird, Verschwendung zu beseitigen (zum Beispiel unfertige Aufgaben) und einen möglichst gleichmäßigen Fluss zu gewährleisten, dass an erster Stelle jedoch stets der Wert der zu erledigenden Tickets steht. Deshalb kann es auch gerechtfertigt werden, ein Kanban-Limit kurzfristig zu brechen, um ein sehr wichtiges Ticket schneller zu bearbeiten oder Features schon im Vorwege detailliert zu spezifizieren, obwohl ungewiss ist, ob/wann sie tatsächlich realisiert werden.

Priorisierung[Bearbeiten]

Um zu entscheiden, welche Stories/Tasks/Features zu welchem Zeitpunkt in das Kanban-System gegeben werden, wird häufig nach dem Schema der Verzögerungskosten (Cost of Delay) priorisiert, das auf Reinertsen/Smith zurückgeht. Die Idee dahinter ist, dass es nicht nur Kosten verursacht, neue Funktionalität zu entwickeln, sondern dass auch Kosten dadurch entstehen, dass neue Funktionalität mit Verzögerung auf den Markt gebracht wird. Streng genommen handelt es sich dabei zwar nicht um „Kosten“, sondern um Verzichtskosten. Oft wird es so sein, dass eine neue Funktionalität umso mehr Verzögerungskosten verursacht, je später sie am Markt ist. Die Frage ist dann, wie teuer jeder weitere Tag/Woche/Monat Verzögerung ist und wie sich diese Kosten im Verhältnis zu den Verzögerungskosten für andere Funktionalitäten verhalten. Es gibt jedoch auch Fälle, in denen mehrere Wochen/Monate/Jahre gar keine Verzögerungskosten anfallen, diese dann aber an einem Termin schlagartig ansteigen (und dann sogar das gesamte Unternehmen gefährden können). Wenn beispielsweise eine wichtige Messe, auf der gewöhnlich neue Software einer bestimmten Branche vorgestellt wird, im November stattfindet, dann sind die Verzögerungskosten von September nach Oktober sehr gering (oder sogar null), von November auf Dezember jedoch sehr hoch (eventuell so hoch, dass es wirtschaftlich nicht sinnvoll ist, die Software zu dem späteren Termin überhaupt noch freizugeben). Ein weiteres Beispiel sind gesetzliche Änderungen, die ab einem bestimmten Stichtag gelten. Wenn die Software/Hardware bis zu diesem Stichtag nicht an die neuen Regelungen angepasst ist, kann es bedeuten, dass das Produkt vom Markt genommen werden muss. Auf der anderen Seite ist es nicht wirtschaftlich, die geänderten Regelungen schon weit im Voraus einzusetzen. Deshalb würde man in einem Kanban-System die durchschnittliche Durchlaufzeit für diese Funktionalität berücksichtigen, einen ausreichenden Puffer einplanen und die Funktionalität kurz vor dem Stichtag produktiv stellen.

Service Level Agreements (SLA)[Bearbeiten]

Wenn ein Kanban-System installiert wird, werden zu Beginn in der Regel alle Tickets gleich behandelt. Das bedeutet, dass diejenigen Tickets, die zuerst von der ersten Station erledigt wurden, auch zuerst von der nächsten Station bearbeitet werden. Dieses Vorgehen wird als FIFO (First In – First Out) bezeichnet. Oft wird jedoch schnell deutlich, dass Tickets mit verschiedener Wichtigkeit behandelt werden. Deshalb wird in Kanban vorgeschlagen, verschiedene Service-Arten (Classes of Service) zu definieren. Dies sind die häufigsten Service-Arten:

Beschleunigt (Expedite)
Diese Tickets müssen mit hoher Priorität behandelt werden. Je nach Domäne kann es nötig sein, dass das gesamte Team seine momentane Tätigkeit stoppt, um dieses Ticket zu bearbeiten. Dies ist beispielsweise der Fall, wenn für einen wichtigen Internet-Dienst Server ausfallen und der Dienst nicht mehr erreichbar ist. Für diese Service-Arten werden häufig die Kapazitätslimits der einzelnen Stationen vorübergehend außer Kraft gesetzt.
Fester Termin (Fixed Date)
Wenn eine Funktionalität erst zu einem fixen Termin benötigt wird (zum Beispiel weil dann eine Gesetzesänderung wirksam wird), dann werden die entsprechenden Tickets so durch das Kanban-System geschleust, dass die Funktionalität kurz vor diesem Stichtag produktiv geht.
Vage (Intangible)
Wenn der Geschäftswert und/oder die Verzögerungskosten für eine neue Funktionalität vage sind, werden die entsprechenden Tickets nachrangig behandelt. Das Team kann zum Beispiel definieren, dass sich zu jedem Zeitpunkt nur ein solches Ticket im System befinden darf.
Standard (Standard)
Alle anderen Tickets zählen zur Standard-Serviceklasse. In der Regel werden Sie nach FIFO behandelt. Das Team kann jedoch auch andere/zusätzliche Regeln definieren.

Die Service-Arten werden maßgeblich bestimmt durch die Art der Verzögerungskosten, die mit den jeweiligen Funktionalitäten verbunden sind.

Anwendungsbereiche[Bearbeiten]

Die Anwendungsbereiche von Kanban in der IT sind sehr vielfältig. Momentan wird Kanban hauptsächlich in diesen Fällen eingeführt:

  • Ein Team, das bereits agil vorgeht (zum Beispiel nach Scrum), sucht nach weiteren Verbesserungsmöglichkeiten. Kanban stellt hierbei eine Möglichkeit dar, noch flexibler mit den Anforderungen umzugehen, die Durchlaufzeiten zu verkürzen, häufiger zu releasen und fokussierter zu arbeiten.
  • Für klassisch ausgerichtete Unternehmen, die zum Beispiel nach dem Wasserfall-Modell vorgehen, stellt es häufig eine zu große Herausforderung dar, ein agiles Vorgehen wie Scrum einzuführen, weil hierfür recht weit reichende Veränderungen nötig sind. In diesem Fall bietet Kanban den Vorteil, dass Änderungen allmählich eingeführt werden können, ohne dass dies unmittelbar größere Änderungen nötig macht.
  • Für Bereiche, die durch starke Arbeitsteilung und Spezialisierung gekennzeichnet sind, ist Kanban häufig attraktiver als andere agile Methoden, in denen häufig gefordert wird, dass die Teams aus Generalisten bestehen und keine Wissensinseln vorhanden sind. Dies scheint aber für einige Bereiche momentan unrealistisch zu sein.
  • Weil Wartung und IT-Betrieb durch viele Unterbrechungen und regelmäßige Notfälle gekennzeichnet sind, sind hier ungestörtes Arbeiten und Iterationen fester Länge wie in Scrum kaum möglich. Hier kann Kanban die bessere Wahl darstellen, insbesondere, weil die verschiedenen Service-Arten in Kanban gut zum Alltag von Systemadministratoren und Wartungsteams passen.

Varianzen[Bearbeiten]

Anders als in der Automobilproduktion ist es in der IT zwar unrealistisch, dass alle Anforderungen exakt dieselbe Größe haben bzw. immer in nahezu derselben Zeit erledigt werden können. Dennoch wird in Kanban-Systemen angestrebt, diesem Ideal möglichst nahe zu kommen. Ein Ziel von Kanban ist es daher, die Varianzen zu verringern. Dies geschieht, indem zum Beispiel User Stories in Tasks möglichst gleicher Komplexität heruntergebrochen werden.

Tracking[Bearbeiten]

In Kanban-Systemen werden verschiedene Maße ("Metriken") aufgezeichnet, um empirische Daten für zukünftige Verbesserungen zu sammeln. Dies sind die üblichen Arten des Trackings in Kanban:

Cumulative Flow Diagram (CFD)
Dieses Diagramm kann als Weiterentwicklung der Burnup-Diagramme angesehen werden, die in XP und (teilweise) Scrum verwendet werden. Allerdings zeigt ein CFD nicht nur an, wann wie viele Tasks erledigt werden, sondern es visualisiert die Zustände an allen Stationen des Kanban-Systems (Programmierung, Dokumentation, Test usw.) Es macht so schnell deutlich, wo sich die Bottlenecks befinden.
Work in Progress (WiP)
Dieses sehr einfache Diagramm zeigt an, wie sich die Anzahl der Tasks und Stories entwickelt, die sich gleichzeitig im Kanban-System befinden. Eine stetig steigende Kurve signalisiert dabei in der Regel ein Problem (zum Beispiel immer mehr blockierte Tickets).
Durchsatz
In einem einfachen Liniendiagramm wird dargestellt, wie viele Tickets pro Woche erledigt wurden.
Fehlerrate
Durch dieses Diagramm wird kontrolliert, wie sich die Anzahl der Bugs über die Zeit entwickelt. Weil Kanban auf kurze Durchlaufzeiten ausgerichtet ist und eine Grundannahme lautet, dass kurze Durchlaufzeiten nur durch hohe Qualität zu erreichen ist, liegt ein wichtiges Ziel von Kanban immer in der Reduzierung der Fehlerrate.

Literatur[Bearbeiten]

  •  David J. Anderson: Kanban. Successful Evolutionary Change for Your Technology Business. Blue Hole Press, Sequim, Washington 2010, ISBN 978-0-9845214-0-1.
  •  David J. Anderson: Kanban. Evolutionäres Change Management für IT-Organisationen. dpunkt.verlag, Heidelberg 2011, ISBN 978-389864-730-4.
  •  Klaus Leopold, Siegfried Kaltenecker: Kanban in der IT. Eine Kultur der kontinuierlichen Verbesserung schaffen. Hanser Verlag, München 2013, ISBN 978-3446438262.
  •  Donald G. Reinertsen: The Principles of Product Development Flow: Second Generation Lean Product Development. Celeritas Publishing, Redondo Beach/Kalifornien 2009, ISBN 978-1-935401-00-1.
  •  Preston G. Smith, Donald G. Reinertsen: Developing Products in Half the Time. New Rules, New Tools. Van Nostrand Reinhold, New York 1998, ISBN 0-442-02548-3.
  •  Corey Ladas: Scrumban – Essays on Kanban Systems for Lean Software Development. Modus Cooperandi Press, Seattle/Washington 2008, ISBN 978-0-578-00214-9.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. D. Anderson "Agile Management for Software Engineering - Applying the Theory of Constraints for Business Results" Prentice Hall, 2004, ISBN 0-13-142460-2
  2. Biography David J. Anderson. 12. April 2004, archiviert vom Original am 12. Februar 2010, abgerufen am 24. Januar 2014 (englisch).
  3. Klaus Leopold: Kanban and its Flight Levels. 6. Juli 2013, abgerufen am 2. Februar 2014 (englisch).
  4. Klaus Leopold: Kanban Flight Levels. 4. Dezember 2013, abgerufen am 2. Februar 2014 (deutsch).
  5. Henrik Kniberg: Kanban vs Scrum. 29. Juni 2009, abgerufen am 24. Januar 2014 (PDF; 2,4 MB, englisch).