SlideShare a Scribd company logo
1 of 68
See
the
forest
and
the

  trees
with
Kanban

  alberto.brandolini@avanscoperta.it
             @ziobrando
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
@avanscoperta
www.avanscoperta.it
avanscoperta.wordpress.com
alberto.brandolini@avanscoperta.it




                               ©
Alberto
Brandolini
2011
“La
moto
non
va”
“La
moto
non
va”
“La
moto
ha
il
problema
A”
“La
moto
non
va”
“La
moto
ha
il
problema
A”

“La
moto
ha
i
problemi
A,

B,
e
C”
“La
moto
non
va”
“La
moto
ha
il
problema
A”

“La
moto
ha
i
problemi
A,

B,
e
C”
“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”
Kanban:
da
dove

  cominciare?
Un
buon

punto
di

partenza:

       ©
Alberto
Brandolini
2011
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
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
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
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
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
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
Wip
Limit
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
Il
sistema
è
PULL
EviMamo
intasamenM...
...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
...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
Quali
buone
ragioni

avete
per
non
mandare

una
feature
completata

    in
produzione?
Esercizio




            avanscoper
                ta
Un
esercizio
semplice
semplice...

  Scrivete (su un foglio o alla lavagna) il
  vostro
    Nome
    Cognone
    Numero di telefono

                                    avanscoper
                                        ta
MARIO
(3
sec)





ROSSI
(6
sec)










3425179811
(12
sec.)


                           avanscoper
                               ta
...
o
forse
no
:‐)

   Stesso risultato finale ma scrivendo:
     1 lettera del nome
     1 lettera del cognome
     1 cifra del numero...

                                   avanscoper
                                       ta
M

A

R

I

O
(15
sec)

R

O

S

S

I
(16
sec)


3

4

2

5

179811
(20
sec.)


                           avanscoper
                               ta
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
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
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
...
vogliamo
provare

        con
3?


                   ©
Alberto
Brandolini
2011
Theory

    of

Constraints
©
Alberto
Brandolini
2011
Un
intervento
miglioraRvo

sul
collo
di
boOglia
produce

    un
miglioramento
del

   throughput
dell’intero

           sistema
                       ©
Alberto
Brandolini
2011
Un
intervento
miglioraRvo
su

  altre
parR
del
sistema
è

         irrilevante

                       ©
Alberto
Brandolini
2011
Non
fare
nulla
è
legiOmo
                    ©
Alberto
Brandolini
2011
5
focusing
steps
‐ 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
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
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
Kanban
è
un

    formidabile

   strumento
di

individuazione
dei

    BoBlenecks
La
manna
dal
cielo?
Avvertenze
EffeO
Collaterali
Avvertenza
n°1

Avvertenza: la carne è
debole
  La
carne
è
debole
e

   le
tentazioni
sono

     dietro
l’angolo!©
Alberto
Brandolini
2011
Avvertenza
n°2

Avvertenza: la carne è
debole
 Kanban
porta
l’aBenzione

sul
problema
...la
soluzione
        speBa
a
noi    ©
Alberto
Brandolini
2011
Avvertenza
n°3

Avvertenza: la carne è
debole
  Non
tu[
i
problemi

   sono
alla
nostra

       portata!      ©
Alberto
Brandolini
2011
...siamo
pronM
a
gesMre

queste
informazioni?...
...oppure
conMnuiamo
a

  peOnare
le
bambole?
Thank
you
alberto.brandolini@avanscoperta.it
  hBp://ziobrando.blogspot.com
         twiBer:
ziobrando

More Related Content

More from Alberto Brandolini

More from Alberto Brandolini (20)

Extreme DDD modelling
Extreme DDD modellingExtreme DDD modelling
Extreme DDD modelling
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
 
La fatina dei denti
La fatina dei dentiLa fatina dei denti
La fatina dei denti
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
The alignment
The alignmentThe alignment
The alignment
 
Chasing elephants
Chasing elephantsChasing elephants
Chasing elephants
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 
Optimized for what
Optimized for whatOptimized for what
Optimized for what
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise software
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
 
The precision blade
The precision bladeThe precision blade
The precision blade
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
 
Managing debt remastered
Managing debt remasteredManaging debt remastered
Managing debt remastered
 
The sweet spot
The sweet spotThe sweet spot
The sweet spot
 
Liberate il kraken
Liberate il krakenLiberate il kraken
Liberate il kraken
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimation
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talk
 
Event storming recipes
Event storming recipesEvent storming recipes
Event storming recipes
 

Forest and trees with kanban

Editor's Notes

  1. \n
  2. \n
  3. And that’s the company I started one year ago.\n
  4. Questa è la Romagna, la terra da cui provengo.\n
  5. Terra di pregiate uve sangiovese.\n
  6. E di fantastiche razze suine (se non conoscete la Mora Romagnola ...mi dispiace per voi).\n
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. Questo alimenta una serie di chiacchiere che avvengono nei luoghi deputati\n
  13. E che hanno come protagonista fondamentalmente una sola persona.\n
  14. Ma che hanno come protagonista una sola persona\n
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. Si fa un gran parlare di Kanban, da dove possiamo cominciare a sperimentare?\n
  21. Un’ottimo punto d’inizio è il libro di Kniberg e Skarin, che ha il pregio di essere incredibilmente chiaro. Ed anche sottile :-)\n
  22. 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
  23. 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
  24. Al completamento dell’Item #2 lo spostiamo in Done.\n
  25. Normalmente lo sviluppatore libero prenderebbe l’Item #5 ed inizierebbe a lavorarci. In Kanban questo non è ammesso...\n
  26. Normalmente lo sviluppatore libero prenderebbe l’Item #5 ed inizierebbe a lavorarci. In Kanban questo non è ammesso...\n
  27. Normalmente lo sviluppatore libero prenderebbe l’Item #5 ed inizierebbe a lavorarci. In Kanban questo non è ammesso...\n
  28. Perché violerebbe il limite al Work in Progress. Il numero che contraddistingue ogni stato della board.\n
  29. 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
  30. 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
  31. Un primo benefico effetto è quello di eliminare gli intasamenti, le feature bloccate o in attesa (e le relative chiamate: “Allora?”)\n
  32. 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
  33. 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
  34. 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
  35. Ok, qui c’è bisogno di un volontario.\n
  36. Il gioco è semplice, alla lavagna. Ma dobbiamo cronometrare quanto tempo ci si mette a completare ciascuna delle tre parti.\n
  37. Grosso modo questo è quello che ci aspettiamo.\n
  38. Ora proviamo a fare la stessa cosa, rilasciando gli stessi prodotti, ma in maniera un po’ diversa. Prendete i tempi\n
  39. 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
  40. Vediamo ora che succede nel caso di sviluppo di più features. In questo caso prima una e poi l’altra.\n
  41. Se invece come spesso accade le portiamo avanti in parallelo, dividendo idealmente l’allocazione al 50% il risultato economico è significativamente peggiore.\n
  42. 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
  43. In contesti organizzativamente complessi le features che si pestano i piedi non sono 2: sono molte di più, io posso continuare :-)\n
  44. C’è un’altro pezzo fondamentale che sta dietro a Kanban e che Kniberg non considera appieno: la teoria dei vincoli\n
  45. Qualcosa che non viene dal mondo dello sviluppo software ma da uno dei testi sacri del mondo della produzione manifatturiera.\n
  46. E che sta alla base della formazione di David J. Anderson, l’autore di quello che è il testo di riferimento su Kanban. \n
  47. Qualcosa che anche una delle menti più raffinate del panorama scientifico e divulgativo ha contribuito a scoprire.\n
  48. Che il problema è un ‘mbuto.\n
  49. Ovvero, anche il sistema produttivo più complesso, in realtà può essere ricondotto alla capacità produttiva del suo collo di bottiglia.\n
  50. 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
  51. Questa è una buona notizia: se sappiamo qual è il collo di bottiglia.\n
  52. Questa non è una buona notizia, se ci stiamo sforzando di migliorare una situazione nel posto sbagliato.\n
  53. 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
  54. Come affrontare i colli di bottiglia? Goldratt enuncia i 5 Focusing Steps, ripresi poi da Anderson nel suo testo.\n
  55. 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
  56. E che c’entra la board?\n
  57. C’entra perché è un formidabile strumento di diagnostica per scoprire i colli di bottiglia!\n
  58. \n
  59. Fantastico! Quindi Kanban è la soluzione! Tutti su Kanban!!\n
  60. Un attimo, lo strumento è potente. Ma è sempre meglio leggere attentamente le avvertenze e le modalità d’uso.\n
  61. 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
  62. 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
  63. 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
  64. 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
  65. Siamo in grado come gruppo di lavoro di gestire la quantità di informazioni che Kanban può darci? \n
  66. Perché se individuiamo il problema e non lo affrontiamo, allora tanto vale ...non fare nulla!\n
  67. 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