Parte VI — Kanban e altro ancora · Capitolo 18

Kanban, DevOps e altri approcci

~45 min di lettura3 widget interattivi4 tavole

In questo capitolo

  1. Kanban: origine e produzione snella
  2. Kanban e Kaizen
  3. L'approccio Kanban nel project management
  4. La Kanban Board
  5. I KPI di Kanban: Lead Time e Cycle Time
  6. Kanban vs Scrum
  7. L'uso dell'approccio Kanban
  8. DevOps
  9. La gestione delle risorse in Kanban
  10. Verifica le tue conoscenze

1. Kanban: origine e produzione snella

«Kanban (Japanese: 看板, meaning signboard or billboard) is a scheduling system for lean manufacturing and just-in-time manufacturing (JIT)»: lo sviluppò Taiichi Ohno, industrial engineer alla Toyota, «per migliorare l'efficienza produttiva». Il sistema prende il nome dalle card che tracciano la produzione dentro la fabbrica; nel settore automotive è noto anche come «Toyota nameplate system».

Nell'ambito della produzione di beni, l'obiettivo del lean manufacturing è limitare le scorte, aumentare la flessibilità del sistema produttivo e dare una risposta rapida alle richieste del mercato. La conseguenza: ci si procura le risorse necessarie (componenti, materie prime) solo in presenza di un ordine e solo all'ultimo momento utile per andare in produzione.

Nel sistema Toyota ogni oggetto o scatola che fluisce nel processo produttivo porta la propria kanban: «kanbans come off items that have been used or transported and go back to the preceding processes as orders for additional items». In forma semplice una kanban board mostra goods in, goods in production, goods out — e «over time, Toyota has evolved this considerably».

Le sei regole di Toyota

Toyota ha sei regole per l'applicazione efficace del Kanban:

  1. Never pass on defective products (mai trasmettere prodotti difettosi);
  2. Take only what is needed (prendere solo ciò che serve);
  3. Produce the exact quantity required (produrre esattamente la quantità richiesta);
  4. Level the production (livellare la produzione);
  5. Fine-tune production (regolare con precisione la produzione);
  6. Stabilise and rationalise the process (stabilizzare e razionalizzare il processo).
Toyota's Six Rules 1 · Never pass on defective products 2 · Take only what is needed 3 · Produce the exact quantity required 4 · Level the production 5 · Fine-tune production 6 · Stabilise and rationalise the process Le regole (in inglese nelle slide) governano il flusso: qualità, quantità esatta, livellamento, stabilità e razionalizzazione.
Tavola 18.1 — Le sei regole Toyota per l'applicazione efficace del Kanban (fonte citata dalle slide: Toyota UK Magazine).

2. Kanban e Kaizen

«Kaizen (改善, かいぜん), the Sino-Japanese word for "improvement"», è il concetto che si riferisce alle attività di business che migliorano continuamente tutte le funzioni e coinvolgono tutti i dipendenti, dal CEO alla linea di assemblaggio; si applica anche ai processi che attraversano i confini organizzativi (purchasing, logistica, supply chain).

Il processo di miglioramento continuo implica l'analisi critica e la revisione costante dei processi aziendali. Negli approcci agili è importante effettuare un'analisi retrospettiva a ogni iterazione per migliorare i processi di gestione e produzione.

Il collegamento con il capitolo 2

La retrospettiva di fine iterazione riprende il ciclo «build – measure – learn» e le pratiche agili del capitolo 2: Kaizen è il nome giapponese del miglioramento continuo che nei team agile si chiama retrospettiva.

3. L'approccio Kanban nel project management

Il Kanban è «un approccio di project management utilizzato in ambito agile e DevOps» che:

Dal punto di vista del PMLC (capitolo 4): il ciclo di vita è iterativo, ma a differenza di altri approcci (es. Scrum) non prevede la definizione formale di uno schema «sincrono» di iterazioni. «Come sono svolte le iterazioni? E in cosa consistono? Lo discuteremo…» — la domanda che il corso lascia aperta.

4. La Kanban Board

Gli elementi fondamentali della kanban board (fonte citata dalle slide: Atlassian):

Anatomia della Kanban Board Backlog Da fare In lavorazione WIP limit 2 In revisione Fatto idea raccolta US-2 US-1 US-3 US-4 US-5 ← commitment point delivery point → Il lead time è il tempo che passa dal commitment point al delivery point: l'obiettivo del team è ridurlo continuamente.
Tavola 18.2 — L'anatomia della kanban board: visual signals (card), colonne, WIP limits, commitment point e delivery point.

Simulatore: la Kanban Board

Clicca una card per farla avanzare di una colonna. Le colonne «In lavorazione» (WIP 2) e «In revisione» (WIP 1) bloccano gli ingressi quando sono piene: il team deve fare swarm sulle card prima di avanzare. Quando una card arriva in «Fatto», viene registrato il suo lead time in passi.

5. I KPI di Kanban: Lead Time e Cycle Time

Le slide dedicano due KPI al Kanban: il Lead Time e il Cycle Time.

Nota del redattore

Nel simulatore della sezione 4, il «lead time in passi» di ogni card è il conteggio degli avanzamenti dal commitment point al delivery point: riproduce in forma semplificata la definizione data dalle slide.

6. Kanban vs Scrum

Il corso contrappone i due approcci agile:

Kanban vs Scrum Kanban Scrum Visualizza il lavoro, limita il WIP, massimizza il flusso Focus su lead time e cycle time Focalizzato sullo scope Iterazioni di durata prefissata (sprint) per cicli di apprendimento Ruoli, artefatti (backlog) e cerimonie Focalizzato sul tempo Le due righe in fondo sono la chiave: Kanban guarda allo scope, Scrum al tempo.
Tavola 18.3 — Kanban vs Scrum: visualizzazione e flusso contro iterazioni, ruoli e cerimonie — scope contro tempo.

A quale approccio appartiene?

Sei affermazioni. Scegli se descrivono Kanban o Scrum secondo il corso, poi verifica.

7. L'uso dell'approccio Kanban

L'approccio Kanban è adatto a essere impiegato «in progetti in cui c'è l'esigenza di iterare», in particolare dove «si è focalizzati sullo scope, che non è chiaramente definito, e la gestione di cicli di durata costante è non praticabile». Due ambiti in cui l'uso potrebbe essere adatto: DevOps e progetti R&D.

Per i progetti R&D i vantaggi sono chiari:

Quando usare Kanban?

Sei contesti. Scegli Sì se il corso indica Kanban come adatto, No altrimenti; poi verifica.

8. DevOps

«DevOps nasce dalla sinergia tra cultura aziendale, pratiche e strumenti e fornisce a un'organizzazione l'abilità di sviluppare applicazioni e servizi con la massima agilità»; consente «l'evoluzione e il miglioramento dei prodotti a ritmo più serrato» rispetto ai processi tradizionali di sviluppo software e gestione dell'infrastruttura. La maggiore agilità si traduce in servizi migliori ai clienti e maggiore competitività.

Il modello DevOps prevede che i team di sviluppo (Development) e produzione (Operations) non agiscano più separatamente: Development + Operations = DevOps. I due team vengono fusi in un'unica unità in cui i tecnici sono attivi lungo tutto il ciclo di vita dell'applicazione — sviluppo, testing, distribuzione, produzione — e acquisiscono competenze non limitate a una singola funzione. I team lavorano insieme per automatizzare i processi aziendali, adattando il workflow alle diverse esigenze e migliorando produttività e qualità.

Development + Operations = DevOps Development sviluppo e testing Operations distribuzione e produzione + DevOps un solo team su tutto il ciclo di vita, processi automatizzati I tecnici sono attivi lungo tutto il ciclo di vita dell'applicazione e acquisiscono competenze non limitate a una singola funzione.
Tavola 18.4 — DevOps: la fusione di Development e Operations in un'unica unità attiva lungo tutto il ciclo di vita dell'applicazione.

9. La gestione delle risorse in Kanban

Il corso chiude il capitolo con una discussione aperta: «Se gestiamo un progetto con un approccio Kanban, proviamo a rispondere assieme alle seguenti domande»:

Per l'esame — il tema aperto

Queste domande rileggono con gli occhi di Kanban tutto quello visto nei capitoli 8–11: stime, risorse, costi e contratti erano costruiti attorno a un piano; in Kanban non c'è uno schema sincrono di iterazioni, quindi tempi, risorse e costi vanno rinegoziati con un approccio diverso. È il tipo di argomentazione che il corso premia nell'elaborato del capitolo 19.

Verifica le tue conoscenze

Che cos'è il Kanban e da dove viene?

È un sistema di schedulazione per il lean manufacturing e la produzione just-in-time (JIT), sviluppato da Taiichi Ohno alla Toyota: il nome (看板, «signboard») viene dalle card che tracciano la produzione in fabbrica. Obiettivo: limitare le scorte, aumentare la flessibilità e rispondere rapidamente al mercato.

Quali sono le sei regole Toyota del Kanban?

Never pass on defective products; take only what is needed; produce the exact quantity required; level the production; fine-tune production; stabilise and rationalise the process.

Che cos'è il Kaizen e come si collega agli approcci agili?

È il concetto giapponese (改善) di miglioramento continuo che coinvolge tutte le funzioni e tutti i dipendenti. Negli approcci agili si traduce nell'analisi retrospettiva a ogni iterazione.

Quali sono gli elementi fondamentali della kanban board?

Visual signals (le card), columns (il workflow), WIP limits (il numero massimo di card per colonna), commitment point (quando il lavoro inizia) e delivery point (quando il prodotto è nelle mani del cliente).

A che cosa servono i WIP limits?

Limitano il numero di card in una colonna: quando la colonna è «maxed-out» il team deve fare swarm e spostare le card avanti. Sono critici per esporre i bottleneck del workflow e danno un early warning quando ci si è impegnati in troppo lavoro.

Che cos'è il Lead Time in Kanban?

Il tempo che trascorre tra il commitment point e il delivery point: «the elapsed time between the two is called the Lead Time». I team Kanban migliorano continuamente per ridurlo il più possibile.

Kanban vs Scrum: qual è la differenza di fondo?

Kanban è focalizzato sullo scope (visualizzazione del lavoro, WIP limit, flusso, lead e cycle time); Scrum è focalizzato sul tempo (sprint di durata prefissata, ruoli, artefatti e cerimonie per cicli di apprendimento).

In quali progetti è adatto l'approccio Kanban?

Progetti con esigenza di iterare, focalizzati sullo scope con scope non chiaramente definito e in cui la gestione di cicli di durata costante non è praticabile. Due ambiti indicati: DevOps e progetti R&D.

Che cosa significa DevOps?

È la sinergia tra cultura aziendale, pratiche e strumenti che consente di sviluppare applicazioni e servizi con massima agilità. Development + Operations = DevOps: i team vengono fusi in un'unica unità attiva lungo tutto il ciclo di vita (sviluppo, testing, distribuzione, produzione), con processi automatizzati.