metriche kanban in pratica a sky uk [ita]
TRANSCRIPT
MetricheKanban
in pratica @ Sky UK
GOOD
CRAP
AWESOME!
@BattistonMattia
About me
● ~2 anni @ Sky Network Services, Londra
● software dev & continuous improvement
● Kanban “helper”
Mattia Battiston
@BattistonMattia
Ciao!
Perché siamo qui?
ESPERIENZA
PERCHÉ
COME
MIGLIORAMENTO
LEZIONIIMPARATE
FORECASTING
Kan...ché?
conoscenza di base di Kanban aiuta(WIP limits, lead time, batches, etc.)
Metriche - Perché?
#1: miglioramento continuo #2: prevedere il futuro
Ma le metriche non erano cattive?
Problemi tipici:- si imbroglia- disfunzioni
Buone vs Cattive Metriche
● migliorare il sistema ● premiare/punire individui
“95% performance attribuibile al sistema, 5% alle persone”
W. Edwards Deming
● feedback ● obiettivi
● leading (guardano al presente) ● lagging (guardano al passato)
● tutte devono migliorare ● ottimizzazioni locali
Il nostro sistema
Iteration-Based
On-demand
Direct
Come raccogliamo i dati?
SpreadsheetInput: dettagli della storia; inizio & durata di ogni stato;
(Poca) Matematica● Min, Max
Normal: data is distributed around a central valuee.g. height of UK population
Skewed: data has a long tail on one side (positive or negative)e.g. income of UK population (positive skew)Lead time of stories follows skewed distribution
● Mediaavg(1,2,2,2,3,14) = (1+2+2+2+3+14)/6 = 4
● Mediana: separa metà alta e metà bassa. Meno influenzata da outliermedian(1,2,2,2,3,14) = 2
● Moda: valore più frequentemode(1,2,2,2,3,14) = 2
● Standard Deviation: misura la dispersione dalla media. Quando è alta, i valori oscillano in un largo intervallo.
stdev(1,2,2,2,3,14) = 4.5; stdev(1,2,2,2,3,5) = 1.2;● Percentile: percentuale di elementi che cadono in un intervallo
50% perc(1,2,2,3,7,8,14) = 3; 80% perc(1,2,2,3,7,8,14) = 7.8; ● Normal Distribution vs Skewed Distribution:
Cumulative Flow DiagramDescrizione: Per ogni giorno mostra quante storie sono in ogni stato
no. s
torie
giorni
Cumulative Flow Diagram● Obiettivo: retrospettiva (con un buon facilitatore)
● Obiettivo: dimostra l’efficacia dei cambiamenti
cambio WIP limit in DEV: da 3 a 2
Cumulative Flow Diagram
● Obiettivo: decidere su cosa lavorare oggi● Obiettivo: forecasting. Approssimazione per lead time, wip, delivery date (ma è più
facile se sono raccolti separatamente)
WIP
LEAD TIME
DELIVERY
DATE
CFD Patterns
(fonte: CFD article by Pawel Brodzinski)
growing lines: indicate large WIP + context switching. action: use WIP limits
stairs: indicates large batches and timeboxesaction: move towards flow (lower WIP,
more releases, cross-functional people)
flat lines: nothing’s moving on the boardaction: investigate blockers, focus on finishing, split in
smaller stories
single flat line: testing bottleneckaction: investigate blockers, pair with testers,
automate more
typical timeboxed iterationdropping lines: items going backaction: improve policies
metriche perDelivery
Time
Control ChartDescrizione: Mostra la durata di ogni storia. Usa un limite superiore e inferiore; le storie che cadono fuori dai limiti sono storie interessanti (insolite), le analizziamo per migliorare
storie
cycl
e tim
e (g
g)
Cycle/Lead Time stats + HistoryDescrizione: Statistiche per conoscere il tuo cycle time. Aiuta a predire “quanto impiegherà probabilmente la prossima storia?”. Visualizza trend di miglioramento
Lead Time distribution
WEIBULL DISTRIBUTION
50%
85%
cycle time (gg)
no. s
torie
Descrizione: Per ogni lead time (n. giorni), quante storie hanno impiegato così a lungo.Utile mostrarlo in percentuale per conoscere la probabilità.
Story Health
50-80% >90%80-90%0-50%
Descrizione: Indica se una storia è in buona salute o se dobbiamo preoccuparci. Basato su lead time distribution
0-6gg 6-10gg 10-14gg 14+gg
Cycle Time vs Release Prep. Time
storie
gior
ni
Descrizione: Per ogni storia mostra quanto ha speso nell’iterazione e in release preparation. Usato per discutere il costo di rilasci poco frequenti
metriche perPrevedibilità
Iteration Throughput
iterazione
no. s
torie
com
plet
ate
Descrizione: Numero di storie completate in una iterazione
WIP
iterazione
med
ia(W
IP g
iorn
alie
ro)
Descrizione: Per ogni iterazione, la media del WIP giornaliero
Little’s Law
more visible here
Descrizione: Lead Time = WIP / ThroughputDimostra che quando WIP scende, il Lead Time diminuisce e il Throughput cresce
Points vs Cycle Timecy
cle
time
(gg)
story points
Descrizione: Mostra scarsa correlazione tra punti stimati e cycle time reale
Disney StationsDescrizione: Come in coda a Disneyland. “Quanto tempo qui? Quanto tempo da qui?”
Task TimeDescrizione: Mostra quanto impiega ogni task. Dà indicazione di quanto una storia impiegherà in base al n. di task
metriche perQualità
Bugs percentageDescrizione: Percentuale di bug per storia. Espresso come “1 bug ogni X storie”
metriche perMiglioramento
Continuo
Flow EfficiencyDescrizione: Mostra quanto tempo le storie spendono in code - nessuno ci stava lavorando. Mostra quanto si può migliorare eliminando i tempi di attesa.
Time in status
tem
po in
sta
to (
gg)
storie
Descrizione: Per ogni storia mostra quanto ha speso in ogni stato (tempo assoluto e percentuale). Mostra trend di dove le storie spendono più tempo
tem
po in
sta
to (
%)
Stats per StatusDescrizione: control chart, cycle time distribution e stats per ogni stato. Utile per simulazioni (forecast); dà indicazione di dove dobbiamo migliorare
Retrospettiva
RisorseLibri
Presentazioni● Troy Magennis LKUK13 LKCE13 Agile 2014● David Anderson Kanban's 3 Agendas LKUK13 ● Hakan Forss The Red Brick Cancer
Articoli● Cycle-time Analysis and Monte Carlo Simulation Results (Troy Magennis)● The Seven Deadly Sins of Agile Measurement (Larry Maccherone)● A Tool for tracking Kanban projects (Emily Webber)● FocusedObjective@Github● Lean Forecasting Tutorial by Troy Magennis● Cumulative Flow Diagram (Pawel Brodzinski)● worldofchris@github (Chris Young)
Case StudiesSiemens Health Services Sandvik IT Ericsson SAP Lean Kanban Case Studies series
● Dan Brown Flow Like Ketchup (LLKD14)● Dimitar Bakardzhiev LKUK14 webinar ● Larry Maccherone LKUK14
● Analyzing Lead Time Distribution Chart (Alexei Zheglov)● Inside a Lead Time Distribution (Alexei Zheglov)● Forecasting Your Oranges (Dan Brown)● On Story Points and Distributions (Agile Pirate)
Grazie!
@BattistonMattia
molto, molto apprezzato! Aiutami a migliorare