Successfully reported this slideshow.
Your SlideShare is downloading. ×

Forest and trees with kanban

Ad

See
the
forest
and
the

  trees
with
Kanban

  alberto.brandolini@avanscoperta.it
             @ziobrando

Ad

About
me
In
the
IT
field
since
ZX
Spectrum
Generally
in
large
scale
projects
(I
might
be
biased)
Freelance
consultant:
NotO...

Ad

@avanscoperta
www.avanscoperta.it
avanscoperta.wordpress.com
alberto.brandolini@avanscoperta.it




                      ...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 68 Ad
1 of 68 Ad
Advertisement

More Related Content

Advertisement

Forest and trees with kanban

  1. 1. See
the
forest
and
the
 trees
with
Kanban alberto.brandolini@avanscoperta.it @ziobrando
  2. 2. About
me In
the
IT
field
since
ZX
Spectrum Generally
in
large
scale
projects
(I
might
be
biased) Freelance
consultant:
NotOnlyCode Trainer
(avanscoperta
+
Skills
MaBer
+
Zenika) Technical
Writer Blogger:
hAp://ziobrando.blogspot.com TwiBer:
ziobrando
 My
e‐mail:
 alberto.brandolini@gmail.com
  3. 3. @avanscoperta www.avanscoperta.it avanscoperta.wordpress.com alberto.brandolini@avanscoperta.it ©
Alberto
Brandolini
2011
  4. 4. “La
moto
non
va”
  5. 5. “La
moto
non
va” “La
moto
ha
il
problema
A”
  6. 6. “La
moto
non
va” “La
moto
ha
il
problema
A” “La
moto
ha
i
problemi
A,
 B,
e
C”
  7. 7. “La
moto
non
va” “La
moto
ha
il
problema
A” “La
moto
ha
i
problemi
A,
 B,
e
C”
  8. 8. “La
moto
non
va” “La
moto
ha
il
problema
A” “La
moto
ha
i
problemi
A,
 B,
e
C” “La
moto
ha
i
problemi
A,
B
 e
C.
A
è
il
più
importante,
 cominciamo
da
quello”
  9. 9. Kanban:
da
dove
 cominciare?
  10. 10. Un
buon
 punto
di
 partenza: ©
Alberto
Brandolini
2011
  11. 11. Cosa
ci
dice? Kanban non richiede ruoli predeterminati (Scrum Master o Product Owner) Non prevede iterazioni Enfatizza il visual management ...con qualche variazione avanscoper ta
  12. 12. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #2 Item #1 Item #8 Item #4 Item #3 Item #10 Item #6 Item #9 Flow
  13. 13. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #1 Item #8 Item #4 Item #2 Item #3 Item #10 Item #6 Item #9 Flow
  14. 14. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #1 Item #8 Item #4 Item #2 Item #3 Item #10 Item #6 Item #9 Flow
  15. 15. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #1 STOP Item #8 Item #4 Item #2 Item #3 Item #10 Item #6 Item #9 Flow
  16. 16. Basic
Kanban
Board Development Backlog 5 Selected 3 Current Done 3 Production Item #7 Item #5 Item #1 STOP Item #8 Item #4 Item #2 Item #3 Item #10 Item #6 Item #9 Flow
  17. 17. Wip
Limit
  18. 18. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #1 Item #8 Item #4 Item #2 Item #3 Item #10 Item #6 Item #9 Flow
  19. 19. Il
sistema
è
PULL
  20. 20. EviMamo
intasamenM...
  21. 21. ...andiamo
al
soldo! Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Feature 1 -€ 1,000 -€ 1,000 -€ 1,000 € 800 € 800 € 800 € 800 € 800 € 800 € 800 Bilancio -€ 1,000 -€ 2,000 -€ 3,000 -€ 2,200 -€ 1,400 -€ 600 € 200 € 1,000 € 1,800 € 2,600 Feature 1: sviluppo ideale € 3,000 € 2,250 € 1,500 € 750 € 0 -€ 750 -€ 1,500 -€ 2,250 -€ 3,000 Week 1 Week 3 Week 5 Week 7 Week 9 ©
Alberto
Brandolini
2011
  22. 22. ...se
aspeOamo... Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Feature 1 Late -€ 1,000 -€ 1,000 -€ 1,000 € 0 € 0 € 800 € 800 € 800 € 800 € 800 Bilancio -€ 1,000 -€ 2,000 -€ 3,000 -€ 3,000 -€ 3,000 -€ 2,200 -€ 1,400 -€ 600 € 200 € 1,000 Feature 1: inutile attesa € 1,500 € 750 € 0 -€ 750 -€ 1,500 -€ 2,250 -€ 3,000 Week 1 Week 3 Week 5 Week 7 Week 9 ©
Alberto
Brandolini
2011
  23. 23. Quali
buone
ragioni
 avete
per
non
mandare
 una
feature
completata
 in
produzione?
  24. 24. Esercizio avanscoper ta
  25. 25. Un
esercizio
semplice
semplice... Scrivete (su un foglio o alla lavagna) il vostro Nome Cognone Numero di telefono avanscoper ta
  26. 26. MARIO
(3
sec) 




ROSSI
(6
sec) 









3425179811
(12
sec.) avanscoper ta
  27. 27. ...
o
forse
no
:‐) Stesso risultato finale ma scrivendo: 1 lettera del nome 1 lettera del cognome 1 cifra del numero... avanscoper ta
  28. 28. M

A

R

I

O
(15
sec) 
R

O

S

S

I
(16
sec) 

3

4

2

5

179811
(20
sec.) avanscoper ta
  29. 29. 2
features:
caso
ideale Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Feature 1 -€ 1,000 -€ 1,000 -€ 1,000 € 800 € 800 € 800 € 800 € 800 € 800 € 800 Feature 2 € 0 € 0 € 0 -€ 1,000 -€ 1,000 -€ 1,000 € 800 € 800 € 800 € 800 -€ 1,000 -€ 2,000 -€ 3,000 -€ 3,200 -€ 3,400 -€ 3,600 -€ 2,000 Grafico 10 -€ 400 € 1,200 € 2,800 € 3,000 € 2,000 € 1,000 € 0 -€ 1,000 -€ 2,000 -€ 3,000 -€ 4,000 Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 ©
Alberto
Brandolini
2011
  30. 30. 2
features
parallele Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Feature 1 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 € 800 € 800 € 800 € 800 Feature 2 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 € 800 € 800 € 800 € 800 -€ 1,000 -€ 2,000 -€ 3,000 -€ 4,000 -€ 5,000 -€ 6,000 -€ 4,400 -€ 2,800 -€ 1,200 € 400 Sviluppo parallelo € 1,500 € 0 -€ 1,500 -€ 3,000 -€ 4,500 -€ 6,000 Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 ©
Alberto
Brandolini
2011
  31. 31. 2
features
parallele...
realisMco Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Feature 1 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 € 800 € 800 Feature 2 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 -€ 500 € 800 € 800 -€ 1,000 -€ 2,000 -€ 3,000 -€ 4,000 -€ 5,000 -€ 6,000 -€ 7,000 -€ 8,000 -€ 6,400 -€ 4,800 2 features che si pestano i piedi... € 2,000 € 0 -€ 2,000 -€ 4,000 -€ 6,000 -€ 8,000 Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 ©
Alberto
Brandolini
2011
  32. 32. ...
vogliamo
provare
 con
3? ©
Alberto
Brandolini
2011
  33. 33. Theory
 of
 Constraints
  34. 34. ©
Alberto
Brandolini
2011
  35. 35. Un
intervento
miglioraRvo
 sul
collo
di
boOglia
produce
 un
miglioramento
del
 throughput
dell’intero
 sistema ©
Alberto
Brandolini
2011
  36. 36. Un
intervento
miglioraRvo
su
 altre
parR
del
sistema
è
 irrilevante ©
Alberto
Brandolini
2011
  37. 37. Non
fare
nulla
è
legiOmo ©
Alberto
Brandolini
2011
  38. 38. 5
focusing
steps
  39. 39. ‐ Step
1:
IdenRficare
i
vincoli
del
sistema ‐ Step
2:
decidere
come
sfruAare
al
massimo
i
 vincoli
del
sistema ‐ Step
3:
subordinare
tuBo
il
resto
alla
decisione ‐ Step
4:
elevare
i
vincoli
del
sistema ‐ step
5:
se
un
vincolo
è
saltato,
idenRficare
il
 nuovo
vincolo
  40. 40. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #1 Item #8 Item #2 Item #3 Item #10 Item #4 Item #6 Item #9 Flow
  41. 41. Basic
Kanban
Board Development 3 Backlog Selected Production 5 3 Current Done Item #7 Item #5 Item #1 Item #8 Item #2 Item #3 Item #10 Item #4 Item #6 Item #9 Flow
  42. 42. Kanban
è
un
 formidabile
 strumento
di
 individuazione
dei
 BoBlenecks
  43. 43. La
manna
dal
cielo?
  44. 44. Avvertenze
  45. 45. EffeO
Collaterali
  46. 46. Avvertenza
n°1 Avvertenza: la carne è debole La
carne
è
debole
e
 le
tentazioni
sono
 dietro
l’angolo!©
Alberto
Brandolini
2011
  47. 47. Avvertenza
n°2 Avvertenza: la carne è debole Kanban
porta
l’aBenzione
 sul
problema
...la
soluzione speBa
a
noi ©
Alberto
Brandolini
2011
  48. 48. Avvertenza
n°3 Avvertenza: la carne è debole Non
tu[
i
problemi
 sono
alla
nostra
 portata! ©
Alberto
Brandolini
2011
  49. 49. ...siamo
pronM
a
gesMre
 queste
informazioni?...
  50. 50. ...oppure
conMnuiamo
a
 peOnare
le
bambole?
  51. 51. Thank
you alberto.brandolini@avanscoperta.it hBp://ziobrando.blogspot.com twiBer:
ziobrando

Editor's Notes

  • \n
  • \n
  • And that’s the company I started one year ago.\n
  • Questa è la Romagna, la terra da cui provengo.\n
  • Terra di pregiate uve sangiovese.\n
  • E di fantastiche razze suine (se non conoscete la Mora Romagnola ...mi dispiace per voi).\n
  • Ma c’è qualcos’altro che rende questa terra speciale: l’incredibile concentrazione di piloti di Moto GP.\n(... si, lo so che Tavullia è nelle Marche... ;-)\n
  • Ma c’è qualcos’altro che rende questa terra speciale: l’incredibile concentrazione di piloti di Moto GP.\n(... si, lo so che Tavullia è nelle Marche... ;-)\n
  • Ma c’è qualcos’altro che rende questa terra speciale: l’incredibile concentrazione di piloti di Moto GP.\n(... si, lo so che Tavullia è nelle Marche... ;-)\n
  • Ma c’è qualcos’altro che rende questa terra speciale: l’incredibile concentrazione di piloti di Moto GP.\n(... si, lo so che Tavullia è nelle Marche... ;-)\n
  • Ma c’è qualcos’altro che rende questa terra speciale: l’incredibile concentrazione di piloti di Moto GP.\n(... si, lo so che Tavullia è nelle Marche... ;-)\n
  • Questo alimenta una serie di chiacchiere che avvengono nei luoghi deputati\n
  • E che hanno come protagonista fondamentalmente una sola persona.\n
  • Ma che hanno come protagonista una sola persona\n
  • Queste confidenze da bar, alimentate dal fatto che o di riffa o di raffa tutti abbiamo un amico nel mondo delle corse, mi ha fatto capire cosa rende Valentino Rossi speciale: un pilota normale si lamenta, un pilota bravo individua i problemi, un fuoriclasse individua la via d’uscita.\n
  • Queste confidenze da bar, alimentate dal fatto che o di riffa o di raffa tutti abbiamo un amico nel mondo delle corse, mi ha fatto capire cosa rende Valentino Rossi speciale: un pilota normale si lamenta, un pilota bravo individua i problemi, un fuoriclasse individua la via d’uscita.\n
  • Queste confidenze da bar, alimentate dal fatto che o di riffa o di raffa tutti abbiamo un amico nel mondo delle corse, mi ha fatto capire cosa rende Valentino Rossi speciale: un pilota normale si lamenta, un pilota bravo individua i problemi, un fuoriclasse individua la via d’uscita.\n
  • Queste confidenze da bar, alimentate dal fatto che o di riffa o di raffa tutti abbiamo un amico nel mondo delle corse, mi ha fatto capire cosa rende Valentino Rossi speciale: un pilota normale si lamenta, un pilota bravo individua i problemi, un fuoriclasse individua la via d’uscita.\n
  • Queste confidenze da bar, alimentate dal fatto che o di riffa o di raffa tutti abbiamo un amico nel mondo delle corse, mi ha fatto capire cosa rende Valentino Rossi speciale: un pilota normale si lamenta, un pilota bravo individua i problemi, un fuoriclasse individua la via d’uscita.\n
  • Si fa un gran parlare di Kanban, da dove possiamo cominciare a sperimentare?\n
  • Un’ottimo punto d’inizio è il libro di Kniberg e Skarin, che ha il pregio di essere incredibilmente chiaro. Ed anche sottile :-)\n
  • I punti salienti sono abbastanza semplici, no iterazioni, no discussioni sull’individuazione del Product Owner, e l’uso avanzato della board come strumento di management per il team.\n
  • La kanban board, di base, nasce come una variazione sul tema della Scrum Board, con l’idea di rappresentare tutti gli stati effettivi dello sviluppo. Non importa quale processo abbiate.\n
  • Al completamento dell’Item #2 lo spostiamo in Done.\n
  • Normalmente lo sviluppatore libero prenderebbe l’Item #5 ed inizierebbe a lavorarci. In Kanban questo non è ammesso...\n
  • Normalmente lo sviluppatore libero prenderebbe l’Item #5 ed inizierebbe a lavorarci. In Kanban questo non è ammesso...\n
  • Normalmente lo sviluppatore libero prenderebbe l’Item #5 ed inizierebbe a lavorarci. In Kanban questo non è ammesso...\n
  • Perché violerebbe il limite al Work in Progress. Il numero che contraddistingue ogni stato della board.\n
  • Per poter cominciare a lavorare su Item #5 è necessario che ci sia un posto libero nella colonna Development. Kanban fornza quindi gli sviluppatori a darsi da fare perché gli item vengano rilasciati in produzione, attivandosi per rimuovere il blocco.\n
  • Il limite al Work in Progress è il meccanismo che permette a Kanban di essere un sistema PULL: sono gli stadi successivi, che “tirano dentro” gli Item dagli stadi precedenti.\n
  • Un primo benefico effetto è quello di eliminare gli intasamenti, le feature bloccate o in attesa (e le relative chiamate: “Allora?”)\n
  • Ma alla fine è tutta una questione di soldi. Non di board e post-it.\nFacciamo un po’ di conti: ipotizziamo che una feature ci costi 1000€ alla settimana in fase di sviluppo. E che una volta rilasciata ci permetta di guadagnare 800€ alla settimana.\n
  • Se per qualche motivo aspettiamo a rilasciare in produzione la feature che abbiamo completato, il ritorno economico non è allo stesso livello: nelle 2 settimane di attesa non guadagniamo.\n
  • Quindi, la prima questione è: “perché aspettare?”, se una feature è pronta, per quale motivo non la stiamo mettendo in produzione.\n\nOvvio che la questione non è sempre così semplice, e ci possono essere buone ragioni per non farlo, ma il punto è “Sono veramente così buone queste ragioni?”, se per esempio stiamo aspettando che qualcuno testi la nostra applicazione, non poteva farli prima? O non potevamo cominciare a lavorare dopo e dedicarci ad altro nel frattempo?\n
  • Ok, qui c’è bisogno di un volontario.\n
  • Il gioco è semplice, alla lavagna. Ma dobbiamo cronometrare quanto tempo ci si mette a completare ciascuna delle tre parti.\n
  • Grosso modo questo è quello che ci aspettiamo.\n
  • Ora proviamo a fare la stessa cosa, rilasciando gli stessi prodotti, ma in maniera un po’ diversa. Prendete i tempi\n
  • E questo è grosso modo quello che succede quando lavoriamo in condizioni di multitasking spinto.\nNotiamo che il tempo necessario al completamento di tutti i prodotti è significativamente maggiore di prima (e con nomi lunghi è anche peggio). Il ciclo finisce con circa il 66% di ritardo. Ma sul primo progetto il ritardo è del 400%\n
  • Vediamo ora che succede nel caso di sviluppo di più features. In questo caso prima una e poi l’altra.\n
  • Se invece come spesso accade le portiamo avanti in parallelo, dividendo idealmente l’allocazione al 50% il risultato economico è significativamente peggiore.\n
  • Ma si trattava di un caso ideale, che non calcolava l’effetto devastante del multitasking. Se aggiungiamo un po’ dell’overhead relativo al multitasking (in questo caso ipotizziamo un 33%) il risultato diventa imbarazzante.\n
  • In contesti organizzativamente complessi le features che si pestano i piedi non sono 2: sono molte di più, io posso continuare :-)\n
  • C’è un’altro pezzo fondamentale che sta dietro a Kanban e che Kniberg non considera appieno: la teoria dei vincoli\n
  • Qualcosa che non viene dal mondo dello sviluppo software ma da uno dei testi sacri del mondo della produzione manifatturiera.\n
  • E che sta alla base della formazione di David J. Anderson, l’autore di quello che è il testo di riferimento su Kanban. \n
  • Qualcosa che anche una delle menti più raffinate del panorama scientifico e divulgativo ha contribuito a scoprire.\n
  • Che il problema è un ‘mbuto.\n
  • Ovvero, anche il sistema produttivo più complesso, in realtà può essere ricondotto alla capacità produttiva del suo collo di bottiglia.\n
  • La Teoria dei Vincoli ci dice fondamentalmente questo: ogni sistema ha un collo di bottiglia. Miglioralo e migliorerai la capacità produttiva dell’intero sistema.\n
  • Questa è una buona notizia: se sappiamo qual è il collo di bottiglia.\n
  • Questa non è una buona notizia, se ci stiamo sforzando di migliorare una situazione nel posto sbagliato.\n
  • Questa è un’altra conseguenza non indifferente: se stiamo lavorando per impiegare il nostro tempo, finendo per accumulare semilavorati prima del collo di bottiglia, faremmo meglio a smettere di intasare il collo di bottiglia, smettendo di alimentarlo.\n
  • Come affrontare i colli di bottiglia? Goldratt enuncia i 5 Focusing Steps, ripresi poi da Anderson nel suo testo.\n
  • Identificare i colli di bottiglia, sfruttarli al massimo della loro capacità, organizzare il flusso produttivo in modo che il collo di bottiglia non sia mai “fermo”, aumentare la capacità del collo di bottiglia, quindi riesaminare il sistema per scoprire il nuovo collo di bottiglia.\n
  • E che c’entra la board?\n
  • C’entra perché è un formidabile strumento di diagnostica per scoprire i colli di bottiglia!\n
  • \n
  • Fantastico! Quindi Kanban è la soluzione! Tutti su Kanban!!\n
  • Un attimo, lo strumento è potente. Ma è sempre meglio leggere attentamente le avvertenze e le modalità d’uso.\n
  • Perché potrebbero esserci controindicazioni alle quali non siamo preparati.\n(e qui c’era una battutaccia a sfondo politico che solo i presenti hanno potuto apprezzare)\n
  • La prima avvertenza è che il limite al Work in Progress in fondo è solo un numerino su una lavagna... per questa volta possiamo fare un’eccezione.\nE’ necessario un livello di disciplina e di coinvolgimento da parte del team non indifferente, senza il quale non abbiamo effetti.\n
  • Kanban ci porta ad individuare il bottleneck, o meglio ...i suoi effetti. Capire qual è la causa scatenante e come affrontarla è affar nostro. Non è comunque un caso che il modo di pensare della comunità Kanban sia fortemente orientato al System Thinking, che lo stesso Goldratt abbia poi approfondito l’argomento dei Thinking Processes e che gli strumenti di Root Cause Analysis siano il pane quotidiano.\n
  • In genere si parte dal team di sviluppo, perché lì c’è la prima percezione di un problema (o perché lo sviluppo è a valle dei problemi e ne subisce gli effetti). Prima o poi, però il collo di bottiglia evidenziato punterà a cause che stanno fuori dallo sviluppo. Possiamo affrontarle politicamente? C’è il corretto commitment da parte del management? \n
  • Siamo in grado come gruppo di lavoro di gestire la quantità di informazioni che Kanban può darci? \n
  • Perché se individuiamo il problema e non lo affrontiamo, allora tanto vale ...non fare nulla!\n
  • Ok, if that’s the answer... If you really like that and think that’s the best possible world... then I don’t have so much to tell you.\n

×