Author
susannehamburg
View
269
Download
2
Embed Size (px)
Lean Forecasting, Beyond Estimation @ PMI Agile CoP Hamburg, 16. Mrz 2015Susanne Bartel
http://flow.hamburg
Inhalt Teil 1
Warum das groe 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. Weiterfhrende Fragen
Zu guter letzt
WARUM?
Hufig schwache Korrelation zwischen Story Points und Aufwand oder Durchlaufzeit
Hohe Aufwnde fr Schtzungen und Planungen
Vielfach durch Studien belegt, wie schlecht wir im Schtzen in der Software-
Industrie sind.
0,00#
5,00#
10,00#
15,00#
20,00#
25,00#
30,00#
35,00#
40,00#
0# 1# 2# 3# 4# 5# 6#
Story&Points&zu&Lead&1me&[d]&
Lead#.me#[d]#
Faktor: 0,3
1,0$
10,0$
100,0$
1000,0$
10000,0$
0$ 2$ 4$ 6$ 8$ 10$ 12$ 14$ 16$
Aufwand$(Stunden)$ Linear$(Aufwand$(Stunden))$ Linear$(Aufwand$(Stunden))$
Faktor:0,36
Beispiel-Korrelationen
0"
20"
40"
60"
80"
100"
120"
0" 1" 2" 3" 4" 5" 6"
Story&Punkte&zu&Aufwand& Faktor:0,2
LEAN FORECASTING
Lean / Probabilistic Forecasting
Projektion historischer Daten in die Zukunft zur Beantwortung planerischer Fragen
Unter Beachtung von Wahrscheinlichkeiten
Unter Nutzung von Modellen
Klassische Planung: Schtzen zuknftiger Ereignisse
Vorteile Wahrscheinlichkeitsbasierte Prognosen:
Schnell Billig Zuverlssig Entlasten die echt wertschpfenden
Mitglieder im Team
Beyond Estimation #NoEstimationLean Forecasting zur Prognose von Durchlaufzeiten und Durchstzen Macht die Verwendung von Story Points berflssig Angewendete Praktik besonders in reifen agilenTeams
STATISTIK VORWEG
Aufwrmen Teil 1Wrfelt mit einem 6er-Wrfel.
Sagt eure Ergebnisse laut an!
Aufwrmen Teil 2Wrfelt mit zwei 6er-Wrfeln.
Sagt die Summen beider Wrfel laut an!
Monte Carlo SimuationEin stochastisches Verfahren Sehr hufig durchgefhrte Zufallsexperimente Hufig genutzt zur Nachbildung komplexer Prozesse
bung BereicheTeilt euch in 3 Gruppen auf. Bestimmt einen Wrfler, dieser darf die Wrfel den anderen nicht zeigen.
Die SituationIhr nehmt Stichproben, um einen Bereich zu ermitteln. D.h. wir suchen die MIN und MAX Werte
Schritt 1
Wrfelt 3 mal und schreibt die Summen beider Wrfel untereinander
Schritt 2
Sortiert die Zahlen nach ihrer Gre. Mit welcher % liegt die vierte Zahl in diesem Bereich?
Schritt 3
Wrfelt noch 8 mal und notiert eure Ergebnisse. Was ist MIN und MAX?
Schritt 4Vergleicht euer MIN und MAX mit den tatschlichen Werten anhand der Wrfel. Beobachtungen?
Vorhersagewahr-scheinlichkeit abhngig von Probenzahl
(Keine Duplikate, gleich verteilt, zufllige Proben)
Anzahl vorhandener Proben
Wahrscheinlichkeit, dass nchste Probe innerhalb des Bereichs
liegt
3 50%4 67%5 75%6 80%7 83%8 86%9 88%
10 89%11 90%12 91%13 92%14 92%15 93%16 93%17 94%18 94%19 94%20 95%
Die bentigte Stichprobengre ist deutlich kleiner als wir denken
Wahrscheinlichkeit = 1- 1k 1
*100
Troy Magennis
Wenn ein Messwert sich ber die Zeit ndert oder bei jeder Messung anders ist,
ist es eine Verteilung.
VERTEILUNG (DISTRIBUTION)
Histogramm = visualisierte Verteilung
nach Karl Scotland, http://availagility.co.uk/lego-flow-game/
LEGO FLOW GAME
Euer Ziel
Setzt so viele Lego-Figuren wie mglich anhand der Anleitung zusammen und liefert sie!
In der gegebenen Reihenfolge
Arbeitet als Team zusammen
Workflow Analysieren
Beschaffen
Bauen
Prfen
Geliefert
Analysieren1. Finde die richtige Tr.
2. Nimm eine Karteikarte.
3. Schreibe die Nummer der Tr auf die Karte.
4. Lege die Tr auf die Karte, Instruktionen oben.
Analysieren
10Zahl
Tr auf Karte
Beschaffen
1. Notiere die Zeit.
2. Finde das Beutelchen mit den passenden Teilen.
3. Hefte es mit der Broklammer an die Tr.
Beschaffen
10Tte auf Karte
1:201:20
Zeitstempel
BauenBaue die Lego-Figur entsprechend der Anleitung auf der Tr.
BauenBau es :)
Prfen1. berprfe dass die Figur GENAU dem Bild entspricht ROBUST ist
2. Wenn ja, dann akzeptiere Notiere die Zeit! LIEFERE zum Marktplatz!
3. Wenn nicht, zurck an die entsprechende Station
Prfen
?
10
1:20 3:50
Zweiter Zeit-Stempel
Manager1. Auf die Zeit achten
2. Auf die Prozesseinhaltung achten
3. Daten sammeln Wie viele Figuren je Status Zhlen und alle 30s aufschreiben
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 zhlen je Arbeitsstation
Done sollte niemals weniger werden, muss
ansteigen
Flussbasierte Arbeit Besprecht euch als Team.
Markiert eure Arbeitsstationen
Ihr arbeitet kontinuierlich, wir unterbrechen gelegentlich fr Systemverbesserungen (Inspect & Adapt)
Start!
5 min Timebox
Debrief Lego Flow Beobachtungen? berraschungen?
Seid ihr in den Fluss gekommen? Wann?
Begriffe:
Durchlaufzeit (lead time)
WIP (Work In Progress)
Durchsatz (throughput)
Anforderung benutzt als
Epic / User Story / Feature / MMF
die Abarbeitungseinheit im System
Troy Magennis
Prognosen sind Antworten auf Fragen zu Ereignissen, die noch nicht eingetreten sind.
PROGNOSE (Forecast)
Frage 1: Wie lange dauert die Umsetzung von Anforderungen?
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
Beispiel: Durchlaufzeiten-Verteilung in Lego Flow Game Beobachtungen?
00:30:00$ 01:00:00$ 01:30:00$ 02:00:00$ 02:30:00$ 03:00:00$ 03:30:00$ 04:00:00$ 04:30:00$ 05:00:00$ 03:40:00$00:00:00$ 00:30:00$ 01:00:00$ 01:30:00$ 02:00:00$ 02:30:00$ 03:00:00$ 03:30:00$ 04:00:00$ 04:30:00$ 05:00:00$
SUMME$ 1$ 5$ 5$ 4$ 8$ 5$ 2$ 3$ 1$ 1$ 0$
0$
1$
2$
3$
4$
5$
6$
7$
8$
9$
Lego%Flow%Lead%Times%Histogramm%
Durchschnitt
50% dermglichenErgebnisse
50% dermglichenErgebnisse
50%
Beware of this animal!
Durchschnitt, Mittelwert Average, Mean
Frage Wie sieht eine typische Verteilung von
Durchlaufzeiten in Software-Entwicklungsprojekten aus?
Und wie bei IT Operations Teams?
Gleichbleibende Verteilung, nicht gleich gro!
Weibull Lead Time Verteilungen
Typische Verteilungen in SW-Projekten (Magennis)
siehe auch Lead Time Forecasting Cards von Alexei Zheglov
Mode: an was sich Leute gut erinnern (Achtung!blicherweise nur 18-28% Wahrscheinlichkeit!)
Median: zur kontinuierlichenberprfung des
Vorhersage-Modells
Control Limit: fr SLAs
80% percentile: 4 von 5 Items dauern max. so lange -> Planung
Durchschnitt: blicherweise ber dem Median (bis zu 50% kleinerin Operations)
Weibull Lead Time Verteilungen
Typische Verteilungen in SW-Projekten (Magennis)
siehe auch Lead Time Forecasting Cards von Alexei Zheglov
Voraussetzungen Stabiles System - wir glauben die
Verteilung der Anforderungen bleibt in etwa stabil
In der Verteilung gibt es nur eine Spitze (Modus, engl. mode)
Praktische TippsDurchlaufzeit = Dierenz zweier Zeitstempel
Auf physischen Boards: Datumsstempel benutzen
Excel: Histogramme ber den Umweg von Klassen bauen: Intervalle bilden, ZHLENWENN()
Wert Percen(le10 % 1:19
20 % 1:46
30 % 2:03
40 % 2:12
50 % 2:25
60 % 2:44
70 % 2:57
80 % 3:24
90 % 3:52
100 % 4:51
1. Werte sortieren
1:22
2:21
3:05
4:51
3:45
2:29
1:12
3:38
1:55
2:58
2:56
0:57
1:12
1:22
1:41
1:55
2:03
2:11
2:13
2:21
2:29
2:41
2:56
2:58
3:05
3:38
3:45
4:10
4:51
Berechnung von Percentile (Perzentil, Quantil)
=QUANTIL(Bereich;%Wert)
Beispiele
0"
1"
2"
3"
4"
5"
6"
7"
8"
2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32" 200"
0" 2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32"
Bugs%&%Stories%(addi0v)%
Bugs"
Durchlaufzeit (Tage von/bis)
Anza
hl Vo
rkom
men
0"
1"
2"
3"
4"
5"
6"
7"
8"
2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32" 200"
0" 2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32"
Bugs%&%Stories%(addi0v)%
Bugs"
Durchlaufzeit (Tage
Anza
hl
Beispiele
0"
1"
2"
3"
4"
5"
6"
7"
2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32" 200"
0" 2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32"
Anzahl'Vorko
mmen
'
Lead'Time'in'Tagen'
Bugs'
Bugs"
0"
1"
2"
3"
4"
5"
6"
2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32" 200"
0" 2" 4" 6" 8" 10" 12" 14" 16" 18" 20" 22" 24" 26" 28" 30" 32"
Anzahl'Vorko
mmen
'
Lead'0me'in'Tagen'
Stories'
Stories"
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 fr einzelne Anforderungen. Termingerechter Start der Implementierung. Analyse (z.B. Ausreier etc.). Basis fr weitere Berechnungen.
Frage 2: Wann ist das erwartete Projektende?
Einfach!
Beispiel: Projektdauer
Projektdauer= Anzahl der Anforderungen(*)
Durchsatz
Wir haben Daten ber den Durchsatz unseres Teams P:7, 8, 2, 11, 7, 12 Anforderungen pro Woche. Wann werden die verbleibenden 100 Anforderungen umgesetzt sein?
Projektdauer = 100 Anforderungen7 Anforderungen / Woche
Projektdauer = 100 Wochen / 7Projektdauer = 15 Wochen
16,70 % 12
33,40 % 11
50,10 % 8
66,80 % 7
83,50 % 7
100,20 % 2
Achtung! Umgekehrte Reihenfolge
(*) Batch Size
Durchsatz-Prognose mit Monte Carlo Simulation
basierend auf den Daten der vorherigen Folie
Praktische TippsTrick: Durchsatz aus z.B. Jira:
=KALENDERWOCHE(DateClosed)
dann pivotieren oder Zhlenwenn()
Troy Magennis Sheet fr Monte Carlo Throughput Forecasting:
http://focusedobjective.com/free-tools-resources/
Phase im Projekt beachten -> S-Curve
S-CurveQuelle:
Project Planning using Little's Law (Dimitar Bakardzhiev)
Ausblick Weiterfhrende Fragen
Wieviel Kapazitt fr welchen Arbeitstyp?
Wie hoch ist der Durchsatz?
Auswirkungen von Verbesserungen der Durchlaufzeit
Wie viele Teams brauchen wir?
Was wir bentigen1. Lead Time Verteilung:
Ist bekannt
Single Mode - in Klassen unterteilt (s.u.)
Wir glauben die Verteilung bleibt stabil
2. Anforderungen sind identifiziert und klassifiziert
lngerfristig stabile Durchschnittswerte! Voraussetzungen:
Durchschnittliche Output-Rate = durchschnittliche Input-Rate Alle angefangene Arbeit wird schlielich beendet und verlsst das System Die Menge angefangener Arbeit sollte zu Beginn und Ende des gewhlten
Zeitintervalls etwa gleich sein Die durchschnittliche Menge angefangener Arbeit (WIP) ist stabil In der Berechnung mssen konsistente Einheiten genutzt werden
siehe auch Littles Flaw (Dave Vacanti)
Littles Law
Lieferrate = WIPDurchlaufzeit throughput =
WIPlead time
Mit auf den Weg.
Brauche ich dazu ein Kanban-System? Nein, all diese Techniken knnen 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 fr kontinuierliche Verbesserung (Zuverlssigkeit, Durchsatz, etc.)
George E. P. Box
Essentially, all models are wrong, but some are useful
Kontinuierliche Anpassung, aktives Steuern
Prognose erstellen
Modell aufstellen / anpassen
Kontinuierliche berprfung der Gltigkeit des Modells mit Anpassung der Vorhersage ermglicht aktives Steuern!
berprfung der Hypothesen
historischeDaten
Danke fr eure Aufmerksamkeit!
Susanne [email protected]
Twitter @projectzone
http://flow.hamburg
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
Fr mehr:
Twitter: #noestimates
noestimatesbook.com
Blogs of the above
Limited WIP Society
Backup
FlusseffizienzFlusseffizienz = Arbeitszeit(Arbeitszeit +Wartezeit)
Story&/&Feature&Incep0on&5&Days&
Wai0ng&in&Backlog&25&days&
System&Regression&Tes0ng&&&Staging&&5&Days&
Wai0ng&for&Release&Window&5&Days&
Ac0ve&Development&30&days&To
tal&C
ycle&Tim
e&
Pa.ern:&Total&Cycle&Time&In Software- Entwicklungs- Projekten liegt die Flusseffizienz in der Regel bei max. 15%-20%.