Agile / Projektmanagement / Software-Entwicklung / Software-Test

Optimierung der Constraints in Kanban

Wie in meinem letzten Artikel Constraints in Kanban ausgeführt, bilden die Beschränkungen der Anzahl von Tasks in Kanban eine wichtige Grundlage, um hohe Produktivität und Verlässlichkeit des Gesamtsystems zu erzielen. Dabei werden Beschränkungen auf Zeilen und Beschränkungen auf Spalten des Kanban-Boards unterschieden.

Im Straßenverkehr ist recht deutlich zu sehen, was bei ungeregelten Kreuzungen passiert. Bei erhöhtem Verkehrsaufkommen entwickeln sich schnell unerwünschte Staus. Deshalb werden Steuerungsmaßnahmen wie beispielsweise Ampeln eingesetzt, um die Anzahl der Autos pro Zeiteinheit zu beschränken. Beim Ausfall einer Ampel wird merkbar, wie gut die Parameter gewählt sind, trotzdem die manuelle Regelung sicher bestmöglich erfolgt.

Ein Constraint in Kanban bezieht sich immer auf die Anzahl der gleichzeitig zulässigen Tasks mit einer Eigenschaft oder einem bestimmten Status.
Im Folgenden wird näher beleuchtet, wie diese Constraints gewählt werden sollten und welche Empfehlungen aus der Praxis und Theorie es dafür gibt.

Constraints Kanban_2

Grundlagen

Ganz kurz zusammengefasst einige Forschungsergebnisse (siehe auch Constraints in Kanban), die wichtig für die weiteren Ausführungen sind:

  • Die Queuing Theorie führt zu einer einfachen Aussage (Little, S. 536): Je mehr Tasks (Aufgaben) im System sind, desto länger dauert die durchschnittliche Erledigung.
  • Nach einer Studie von Clark und Wheelwright (Clark, 1993) liegt die optimale Anzahl von Aufgaben die einer Person gleichzeitig zugewiesen sein sollte bei 2.
  • Multitasking bewirkt generell höhere Durchlaufzeiten und höhere Fehlerrate (Buser & Noemi, 2012)
  • Ein in der Praxis beobachtetes Phänomen ist, dass kurze Durchlaufzeiten von Tasks die Qualität erhöhen (Anderson, 2010, S. 29)

Typische Anforderungen an Kanban-Systeme sind daher:

  1. Kurze Durchlaufzeiten
  2. Hohe Performance
  3. Niedrige Varianz der Durchlaufzeiten

Diese Anforderungen widersprechen sich naturgemäß, da in den meisten komplexen Systemen (vergleiche Wertpapiere) kleinere Varianz mit niedriger Performance erkauft wird.

Um die Auswirkung von Veränderungen der Constraints auf Spalten und Zeilen näher zu untersuchen, wurden Simulationen durchgeführt. Nachfolgend sind die Ergebnisse dieser Simulationen hinsichtlich der oben angeführten drei Anforderungen an Kanban-Systeme näher erläutert.

Constraints Kanban2_Board

In den Simulationen wird ein imaginäres Team von 9 Mitarbeitern (2 Analyse, 5 Entwicklung, 1 Test, 1 Deployment) verwendet. Dabei werden virtuell unterschiedlich aufwändige Aufgaben (Projekt – Arbeitspakete, Fehlerbehebungen und Wartungstätigkeiten) bearbeitet. Die Constraints werden je Prozessschritt auf die in der Tabelle unten angegebenen Werte gesetzt. Die Formel dafür ist (Anzahl der Mitarbeiter je Prozessschritt) * {1; 1,5; 2; 2,5 und 3}. Ausnahme ist die Spalte Deployment, da hier von einer wesentlich geringeren Auslastung ausgegangen wird. Die Input-Spalte ist in allen Fällen mit 4 beschränkt.

 

Analyse

Entwicklung

Test

Deployment

Anzahl Mitarbeiter

2

5

1

1

* 1

2

5

1

1

* 1,5

3

8

2

1

* 2

4

10

2

1

* 2,5

5

13

3

2

* 3

6

15

3

2

 

Bei den Varianten mit gesetzten Zeilenbeschränkungen wurden folgende Werte gesetzt:

  • Projekt – Tasks: 5
  • Fehlerbehebungs – Tasks: 3
  • Wartungsaufträge: 1

Dies ergibt sich aus der durchschnittlichen prozentuellen Verteilung der in der Simulation zufällig generierten Tasks.

 

Optimierung auf kurze Durchlaufzeit

Das Ergebnis der Simulation hinsichtlich Durchlaufzeit ist vereinfacht dargestellt: je niedriger die Constraints gesetzt werden, desto geringer ist die Durchlaufzeit. Das Optimum ist allerdings interessanterweise mit Zeilenbeschränkungen und einem Wert von 1,5 * Anzahl der Mitarbeiter im Prozessschritt erreicht. Gibt es zum Beispiel 4 Entwickler, dann liegt das Optimum für den Constraint der Spalte bei 1,5 *4 = 6 Tasks.

Constraints Kanban2_DLZ

Optimierung auf maximale Performance

Bezüglich Performance (maximale Produktivität) wird das Maximum bei 2 * Anzahl der Mitarbeiter im Prozessschritt erreicht. Dies ist die direkte Auswirkung der Studienergebnisse von Clark und Wheelwright (Clark, 1993).

Kanban2_Durchsatz

Gibt es zum Beispiel 4 Entwickler in einem Team, dann wäre der optimale Wert für den Prozessschritt Entwicklung 8 Aufträge.

 

Optimierung hinsichtlich Verlässlichkeit

Zur Erfüllung von Service Level Agreements ist eine möglichst verlässliche Durchlaufzeit innerhalb bestimmter Grenzen ein Ziel der Optimierung. Die Annahme ist, dass im Team unterschiedliche Aufgaben durchgeführt werden: Projektarbeit mit größeren Arbeitspaketen bis zu Fehlerbehebungen, die oft nur wenige Stunden dauern.

Betrachten wir die Varianz der Durchlaufzeiten der Fehlerbehebungen, dann zeigt sich, dass die besten Ergebnisse erzielt werden, wenn zusätzlich zu den Spaltenconstraints auch Zeilenconstraints gesetzt werden. Das bedeutet, dass Arbeitspakete von Projekten, längerfristige Wartungstätigkeiten und Fehlerbehebungen in unterschiedlichen Zeilen des Kanban – Boards abgewickelt werden. Jede Zeile hat eine Beschränkung der zu jedem Zeitpunkt maximal aktiven Tasks.

Die Zeilenconstraints verringern zwar die Performance hinsichtlich Durchsatz, verbessert allerdings die Durchlaufzeit und die Varianz der Durchlaufzeit.

Kanban2_SLA

Das Optimum ist hier, wenn als Constraint der Spalten das 1,5 fache der Anzahl der Mitarbeiter und zusätzlich Zeilenconstraints gesetzt werden.

 

Constraints auf Zeilen

Nachdem bisher nur die verschiedenen Variationen mit Spaltenbeschränkungen entweder mit Zeilenbeschränkung, oder ohne Zeilenbeschränkung betrachtet wurden, soll nun untersucht werden, wie sich unterschiedliche Parameter in den Zeilenbeschränkungen auswirken.

Dabei wurden die Zeilenconstraints bei fixen Spaltenconstraints variiert.

Kanban2_Zeilenbeschränkung

Es zeigt sich, dass schon bei kleinen Erhöhungen der Zeilenbeschränkung eine starke Auswirkung auf die Durchlaufzeit entsteht.

Ist die Summe der Zeilenconstraints kleiner als die Summe der Spaltenconstraints (wie im obigen Beispiel im Punkt „mit Zeilenbeschränkung“) ist die Einschränkung im Durchsatz eindeutig zu sehen. Die Summe der Constraints von „mit Zeilenbeschränkung + 1“ entspricht etwa der Summe der Spaltenconstraints.

Die Werte für die Standardabweichung und für den Durchsatz verhalten sich ähnlich und seien deshalb hier nicht getrennt angeführt.

 

Zusammenfassung

Kanban bietet Unterstützung bei der Optimierung von Arbeitsabläufen. Ein wichtiges Hilfsmittel dabei ist das Setzen von sogenannten Constraints für die Anzahl an gleichzeitig aktiven Tasks. Diese Constraints werden vor allem für Prozessschritte auf die Spalten des Kanban-Boards und auf die Zeilen für Typen von Tasks gesetzt.

Dieser Blog beschäftigt sich mit der Frage, welche Auswirkungen die Variation der Constraints hat. Dabei zeigt sich, dass das Optimum in einem sehr schmalen Bereich zu finden ist. Kleine Änderungen an den Werten können große Auswirkungen auf Durchsatz und Durchlaufzeit haben.

Die Simulationsergebnisse empfehlen eine Suche für die Spaltenconstraints in einem Bereich vom 1,5-fachen bis zum zweifachen der Anzahl der Mitarbeiter in diesem Prozessschritt. Niedrigere Werte verbessern die Durchlaufzeit und die Varianz der Durchlaufzeit, höhere den Gesamtdurchsatz.

Werden Zeilenconstraints verwendet, senken diese Durchlaufzeit und Varianz, aber auch den Durchsatz. Je höher diese gewählt werden, desto weniger Effekt haben sie. Die Summe der Zeilenconstraints sollte dabei ungefähr der Summe der Spaltenconstraints entsprechen.

Besteht das Team zum Beispiel aus 9 Personen und wurden 3 Zeilen am Kanban – Board definiert, dann sollte sich die Summe der Spaltenconstraints zwischen 13 und 18 und die Summe der Zeilenconstraints zwischen 13 und 24 bewegen. Niedrigere Werte bewirken niedrigere Durchlaufzeiten, allerdings auf Kosten des Durchsatzes.

 

Welche Erfahrungen haben Sie mit Constraints gemacht?

 

Literaturverzeichnis

Anderson, D. (2010). Kanban : Successful Evolutionary Change for Your Technology Business. Sequim: Blue Hole Press.

Buser, T., & Noemi, P. (2012, 3 6). Multitasking. Retrieved 05 26, 2014, from Experimental Economics 2012: http://link.springer.com/article/10.1007%2Fs10683-012-9318-8

Clark, K. B. (1993). Managing New Product and Process Development:. The Free Press.

Eriksen, B., & Eriksen, C. (1974, Jänner). Effects of noise letters upon the identification of a target letter in a nonsearch task. Retrieved 05 26, 2014, from Attention, Perception, & Psychophysics: http://link.springer.com/article/10.3758%2FBF03203267

Little, J. (n.d.). Little’s Law as Viewed on Its 50th Anniversary, Anniversary, OR Forum, 2011. Retrieved 05 23, 2014, from http://people.cs.umass.edu/~emery/classes/cmpsci691st/readings/OS/Littles-Law-50-Years-Later.pdf

Stoet, G., B O’Connor, D., Conner, M., & R Laws, K. (2013). Are women better than men at multi-tasking? Retrieved 05 26, 2014, from BMC Psychology: http://www.biomedcentral.com/2050-7283/1/18

 

Passende Artikel

Kommentare gesperrt.