lean software development in 45
DESCRIPTION
Slides of my talk at Italian Agile Day(s) 2014 in Ancona. A very short view on Lean software devTRANSCRIPT
Ancona
Agile Day 20141
Agile ReloadedL’azienda italiana per il coaching agile
LEAN SOFTWARE
DEVELOPMENT
IN 45’Fabio Ghislandi @FGhislandi
Push VS Pull
2
https://www.youtube.com/watch?v=WmAwcMNxGqM
Push VS Pull
3
Pull !
Push VS Pull
4
Just-in-time
Le tre MU
5
Muda
Mura
Muri
Spreco
Variabilità
Sovraccarico
La parola chiave
6
KaizenMiglioramento continuo
Il ciclo PCDA
7
Plan
Do
Check
Act
Deming
Problemi ?
8
Automatizzare l’evidenza dei problemi
(e correggerli subito)
Ji-do-ka
Gemba Walk
9
GembaIl luogo in cui si crea valore
Gemba Walk
10
Esci dal tuo ufficio, vai nel Gemba e
fai qualcosa per aiutare chi vi lavora.
Le persone così si aspetteranno
che tu le potrai aiutare e
non vedranno l’ora
di vederti ancora nel Gemba.
Taiichi Ohno
Value Stream Mapping
11
Richiesta Cliente
700 pezzi al giorno(tempo ciclo – takt time: 38.6 secondi)
Cliente
Applicazione
etichettaPackaging
Applicazione
nutellaTaglio
Fornitore
700 pz
1 gg 0.5 gg 0.7 gg 0.2 gg
25 sec 30 sec 42 sec
Lead time: 3.4 gg
Value-add time: 99 sec
Efficacia: 0.11%
1 persona
START END
1 persona 1 persona
359 pz 486 pz 128 pz
2 sec
1 gg
1 persona
Spedizione panino nutellaSpedizione panini vuoti
12
1 - Eliminate wasteTutto ciò che non aggiunge valore dal punto di
vista del cliente
Codice o funzionalità non necessarie
Richieste non chiare
Processi interni lenti o comunicazioni lente
Burocrazia
2 - Amplify learning
La realizzazione di un progetto è un continuo ed
incessante processo di aumento della
conoscenza.
Perseguire lo scopo del progetto, più che
soddisfare dei requisiti, con l’obiettivo di creare
la soluzione necessaria al cliente (quella che gli
fornisce il massimo del valore)
2 - Amplify learning
Brevi, ripetuti cicli di investigazione,
sperimentazione e verifica dei risultati creano il
contesto per apprendere e applicare le soluzioni
individuate.
Il frequente feedback del cliente è la prova del
perseguimento del successo
3 - Decide as last as possible
Le richieste espresse dal cliente non sono
sempre chiare, complete e capite.
Non si può prevedere il futuro, è necessario
mantenere quindi flessibilità fino a quando le
incertezze non sono state rimosse.
4 - Deliver as fast as possible
I clienti desiderano rapidi rilasci.
Rilasci veloci limitano la complessità
dell’implementazione e semplificano il dialogo
con il cliente.
Realizzare esaustivamente le richieste: nei lavori
parzialmente completati si annidano problemi
irrisolti.
Creare un pull system.
5 - Empower the team
Competenze:
Garantire adeguate occasioni di formazione
Promuovere mentorship e pair programming
Motivazione:
Dare al lavoro un senso e uno scopo, chiari e
raggiungibili
Il team deve avere accesso al cliente
5 - Empower the team
Organizzazione:
Favorire l’auto-organizzazione
Favorire il «generalizing specialist»
Leadership:
Esercitare la «host leadership»
Il management ha un ruolo di supporto, guida,
protezione e garantisce le risorse necessarie
6 - Build integrity in
Far lavorare sul prodotto un team che può
colloquiare frequentemente con chi deve
valutare il lavoro
Eseguire brevi cicli di sviluppo completati con il
feedback da parte dei potenziali utilizzatori
Utilizzare un linguaggio comprensibile da tutti gli
attori, ma soprattutto dal cliente
7 - See the wholeUn sistema non è la somma delle sue parti, ma il
prodotto delle sue interazioni
Più soggetti sono coinvolti maggiore è l’importanza di
avere rapporti ben definiti e regole chiare.
Se c’è un problema la responsabilità non è di una sola
persona
Misurare l’intero sistema: difettosità, performance,
feedback etc; molti sono gli elementi misurabili.
Kanban
Board
Flusso
(pull)
WIP Limit
Todo DoneAnalYze WoRK VERIFY
Aggiungiamo le code
Todo DoneAnalYze WoRK VERIFY
Doing
Todo DoneAnalYze WoRK VERIFY
Doing Done
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
… come ultimo il WIP limit
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
WIP LIMITS!
Kanban passo passo
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Finito!
Colli di bottiglia!
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
WIP Limit of verify is 2! Complete one task before starting a new one…
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
STOP STARTING, START FINISHING!
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Todo DoneAnalYze WoRK VERIFY
Doing Done Doing Done
2 3 2
Remove the bottleneck and the pull system restart the flow!
Il processo di costruzione della
Kanban Board
66
@FGhislandi
Fabio
Grazie!
All intro images are borrowed from Google image search. Please contact me if that images cannot be used.