1. Lean Forecasting, Beyond Estimation
@ Agile User Group Bremen,
13. Januar 2016
Susanne Bartel
http://flow.hamburg
2. Inhalt
• Teil 1
• Warum das große Interesse am Thema?
• Was ist Lean Forecasting / Beyond Estimation?
• Kleine Statistik-Auffrischung :)
• Teil 2
• Lego Flow Game (und kurze Pause)
• Teil 3
• Konkrete Fragestellungen - Theorie und Praxis
1. Wie lange dauert die Umsetzung von Anforderungen?
2. Wann ist das erwartete Projektende?
3. Weiterführende Fragen
• Zu guter letzt…
5. Häufig schwache Korrelation zwischen
Story Points und Aufwand oder Durchlaufzeit
Hohe Aufwände für Schätzungen
und Planungen
Vielfach durch Studien belegt, wie
schlecht wir im Schätzen in der Software-
Industrie sind.
8. Lean / „Probabilistic“ Forecasting
Projektion historischer Daten in die Zukunft zur
Beantwortung planerischer Fragen
Unter Beachtung von Wahrscheinlichkeiten
Unter Nutzung von Modellen
„Klassische“ Planung: Schätzen zukünftiger Ereignisse
25. Euer Ziel
• Setzt so viele Lego-Figuren wie
möglich anhand der Anleitung
zusammen und liefert sie!
• In der Reihenfolge von 1 bis 24
• Arbeitet als Team zusammen
27. Analysieren
1. Finde die richtige Tür.
2. Nimm eine Karteikarte.
3. Schreibe die Nummer der Tür auf die Karte.
4. Lege die Tür auf die Karte, Instruktionen
oben.
33. Prüfen
1. Überprüfe dass die Figur
• GENAU dem Bild entspricht
• ROBUST ist
2. Wenn ja, dann akzeptiere
• Notiere die Zeit!
• LIEFERE zum Marktplatz!
3. Wenn nicht, zurück an die entsprechende Station
35. Manager
1. Auf die Zeit achten
2. Auf die Prozesseinhaltung achten
3. Daten sammeln
• Wie viele Figuren je Status
• Zählen und alle 30s aufschreiben
36. Manager
00:30 01:00 01:30 2:00 2:30 3:00 3:30 4:00 4:30 5:00 5:30 6:00
Analysis
2 1
Supply
3 2
Build
5 6
Accept
1 2
Done
2 4
Alle 30s zählen je
Arbeitsstation
„Done“ sollte niemals
weniger werden, muss
ansteigen
37. Flussbasierte Arbeit
• Besprecht euch als Team.
• Markiert eure Arbeitsstationen
• Ihr arbeitet kontinuierlich, wir unterbrechen gelegentlich
für Systemverbesserungen (Inspect & Adapt)
• Start!
5 min Timebox
38. Debrief Lego Flow
• Beobachtungen? Überraschungen?
• Seid ihr „in den Fluss“ gekommen? Wann?
• Begriffe:
• Durchlaufzeit (lead time)
• WIP (Work In Progress)
• Durchsatz (throughput)
39. Little’s Law & Cumulative Flow
Avg. Lead Time
Avg. Delivery RateWIP
Pool
of
ideas
Ready
to
deliver
Delivery Rate
(from the kanban system) System Lead Time
WIP
=
Durchlaufzeit
(Lead time)
=
WIP
Durchsatz
44. Durchlaufzeit, „Lead Time“
• In Kanban: Die Zeitdauer, in der eine Anforderung von der
ersten limitierten Spalte („Zusagepunkt“) bis zur letzten
Spalte „wandert“
• Lego Flow: Beginn „Liefern“ bis zur erfolgreichen Abnahme
• Differenz zwischen 2 Zeitstempeln
• In Software-Entwicklungs-Teams typischerweise Start der
Implementierung bis „Done“ oder Release
• i.d.R. OHNE Analyse / Konzipierung
50. Weibull
Lead Time Verteilungen
Typische Verteilungen in SW-Projekten (Magennis)
siehe auch Lead Time Forecasting Cards von Alexei Zheglov
51. Mode:
an was sich
Leute
gut erinnern
(Achtung!
üblicherweise
nur 18-28%
Wahrscheinlichkeit!)
Median:
zur kontinuierlichen
Überprüfung des
Vorhersage-Modells
Control Limit:
für SLA’s
80% percentile:
4 von 5 Items
dauern max. so lange
-> Planung
Durchschnitt:
üblicherweise
über dem Median
(bis zu 50% kleiner
in Operations)
Weibull
Lead Time Verteilungen
Typische Verteilungen in SW-Projekten (Magennis)
siehe auch Lead Time Forecasting Cards von Alexei Zheglov
52. Voraussetzungen
• Stabiles System:
• System ist „eingeschwungen“ - Linien im
CFD weitestgehend parallel
• Wir glauben die Verteilung der
Anforderungen bleibt in etwa stabil
• In der Verteilung gibt es nur eine
„Spitze“ (Modus, engl. mode)
53. Praktische
Tipps
Durchlaufzeit = Differenz zweier
Zeitstempel
Auf physischen Boards:
Datumsstempel benutzen
Excel: Histogramme über den
Umweg von Klassen bauen:
Intervalle bilden, ZÄHLENWENN()
57. Recap: Durchlaufzeiten-Prognose
• Erlaubt die Prognose auf z.B. Story- oder Task-Ebene
• Vorteile:
• Leicht zu sammelnde Messwerte
• Nutzt historische Daten (komplett oder
Stichproben)
• Folgt bekannten Verteilungsmustern
• Nutzen: Zusagen für einzelne Anforderungen.
Termingerechter Start der Implementierung. Analyse
(z.B. Ausreißer etc.). Basis für weitere Berechnungen.
61. Praktische
Tipps
Trick: Durchsatz aus z.B. Jira:
=KALENDERWOCHE(DateClosed)
dann pivotieren oder Zählenwenn()
Troy Magennis’ Sheet für Monte
Carlo Throughput Forecasting:
http://focusedobjective.com/free-
tools-resources/
65. Wieviel Kapazität für welchen
Arbeitstyp?
Wie hoch ist der Durchsatz?
Auswirkungen von
Verbesserungen der
Durchlaufzeit
Wie viele Teams brauchen wir?
66. Was wir benötigen
1. Lead Time Verteilung:
• Ist bekannt
• Single Mode - in Klassen unterteilt (s.u.)
• Wir glauben die Verteilung bleibt stabil
2. Anforderungen sind identifiziert und
klassifiziert
67. • längerfristig stabile Durchschnittswerte!
• Voraussetzungen:
• Durchschnittliche Output-Rate = durchschnittliche Input-Rate
• Alle angefangene Arbeit wird schließlich beendet und verlässt das System
• Die Menge angefangener Arbeit sollte zu Beginn und Ende des gewählten
Zeitintervalls etwa gleich sein
• Die durchschnittliche Menge angefangener Arbeit (WIP) ist stabil
• In der Berechnung müssen konsistente Einheiten genutzt werden
• siehe auch „Little’s Flaw“ (Dave Vacanti)
Little’s Law
Lieferrate =
WIP
Durchlaufzeit
throughput =
WIP
lead time
69. Brauche ich dazu ein Kanban-System?
• Nein, all diese Techniken können auch von agilen oder
„klassischen“ Teams angewendet werden.
• Aber: Ein Kanban-System hilft, die
Vorhersagegenauigkeit (predictability) zu verbessern:
• Verschiedene Arbeitstypen / Serviceklassen, um
mehrere Modes zu vermeiden
• Ist Hilfsmittel für kontinuierliche Verbesserung
(Zuverlässigkeit, Durchsatz, etc.)
70. –George E. P. Box
„Essentially, all models are wrong, but
some are useful“
71. Kontinuierliche Anpassung, aktives Steuern
Prognose
erstellen
Modell aufstellen /
anpassen
Kontinuierliche Überprüfung der Gültigkeit des Modells mit
Anpassung der Vorhersage— ermöglicht aktives Steuern!
Überprüfung der
Hypothesen
historische
Daten
73. Credits und Referenzen
• Basiert auf der Arbeit von Troy Magennis, David J. Anderson, Alexei Zheglov,
and Dan Brown in diesem Bereich. Siehe auch deren Blogs.
• German Tanks: http://www.spiegel.de/wissenschaft/mensch/rechentrick-
der-alliierten-wie-seriennummern-die-nazi-industrie-verrieten-a-728211.html
• Für mehr:
• Twitter: #noestimates
• noestimatesbook.com
• Blogs of the above
• Limited WIP Society
74. Bilder
• Würfel: https://www.flickr.com/photos/dskley/6196133034
• fliegende Würfel: https://www.flickr.com/photos/dskley/6195620885
• Pause: <a href="https://www.flickr.com/photos/finklez/3059185823"
title="Pause - השהיה by Eran Finkle, on Flickr"><img src="https://
farm4.staticflickr.com/3190/3059185823_ce8570bdd2_s.jpg" width="75"
height="75" alt="Pause - /<>“השהיהa>
• Wall: https://www.flickr.com/photos/dg_pics/3937990893/
• Umbrella: https://www.flickr.com/photos/dskley/9666364180
• Fragezeichen: https://www.flickr.com/photos/eleaf/2536358399
• Mind the gap: https://www.flickr.com/photos/simone_brunozzi/2643200238/
• Easy: https://www.flickr.com/photos/catharticflux/2484317019/
• Monkey bento: https://www.flickr.com/photos/buzzymelibee/8598689804