Come funziona Kanban: limitare il Work in Progress (WIP), un approccio migliorativo rispetto al Drum-Buffer-Rope della Teoria dei Vincoli

Ho già spiegato in un precedente articolo l’utilità della Teoria dei Vincoli per stabilizzare i flussi di lavoro, in questo approfondisco come la pratica Kanban di Limitare il Work in Progress (WIP) sia un approccio migliorativo rispetto al Drum-Buffer-Rope (DBR) della Teoria dei Vincoli.

In cosa consiste la pratica Kanban di Limitare il WIP?

Limitare il WIP (Work in Progress) è uno dei pilastri del metodo Kanban, che prevede di fissare un limite al numero di attività che possono essere gestite simultaneamente in ogni fase del processo lavorativo. Questo approccio permette di stabilizzare il flusso di lavoro, mantenere alta la focalizzazione e ridurre il multitasking, creando le condizioni per una migliore qualità del lavoro. Limitare il WIP rende più evidenti i colli di bottiglia in qualunque punto del processo, garantendo interventi tempestivi per risolvere le inefficienze.

Drum-Buffer-Rope (DBR) nella Teoria dei Vincoli

Il DBR è una tecnica sviluppata all’interno della Teoria dei Vincoli. Si basa sul principio che in ogni processo esiste un ‘vincolo’, ovvero un collo di bottiglia che determina la velocità complessiva del sistema. Il metodo DBR si concentra su questo vincolo, cercando di sincronizzare tutte le altre attività attorno a esso. Gli elementi fondamentali del DBR sono:

  • Drum: Il ritmo di lavoro dettato dal vincolo.
  • Buffer: Una riserva di attività pronta per essere lavorata dal vincolo.
  • Rope: Un meccanismo che sincronizza il flusso delle attività per evitare sovraccarichi.

Il DBR è un approccio efficace per contesti in cui un singolo vincolo domina l’intero processo, ma non sempre è adatto a flussi di lavoro più complessi e dinamici.

Sistema Kanban con indicati i limiti al WIP (sotto ai titoli delle colonne).
Fonte: Andy Carmichael – © CC BY-SA 4.0

Perché Limitare il WIP è migliorativo Rispetto a DBR

1. Ottimizzazione di ogni fase vs. focalizzazione su un singolo vincolo

Il principale vantaggio di Limitare il WIP rispetto al DBR è che permette di ottimizzare ogni fase del flusso di lavoro, non solo quella corrispondente al vincolo principale. Nel DBR, tutta l’attenzione è focalizzata sull’elemento più lento o meno efficiente del sistema, trascurando possibili inefficienze in altre fasi. Limitare il WIP, invece, stabilisce dei limiti per ciascuna fase, garantendo che il carico di lavoro sia sempre bilanciato. Ciò consente una visione d’insieme del processo, identificando colli di bottiglia in qualsiasi punto, e non solo in corrispondenza del vincolo principale.

2. Maggiore flessibilità

Un altro punto di forza di Limitare il WIP è la sua flessibilità. Il metodo permette di adattare i limiti in base alle necessità e al carico di lavoro del team. Se una fase del processo si rivela più critica in un determinato momento, è possibile intervenire velocemente e cambiare i limiti al WIP. Al contrario, il DBR è più rigido e focalizzato sul vincolo principale, risultando meno efficace in situazioni dinamiche, dove i colli di bottiglia possono spostarsi rapidamente da una fase all’altra.

3. Miglioramento della qualità e riduzione del multitasking

Mediante la pratica di Limitare il WIP, i team sono incentivati a terminare le attività già iniziate prima di avviare nuove, riducendo così il multitasking. Questo approccio aumenta la qualità del lavoro, in quanto permette di dedicare maggiore attenzione alle singole attività. Nel DBR, invece, la priorità è mantenere attivo il vincolo principale, il che può portare a sovraccaricare altre fasi del processo, inducendo il team a spostare la propria attenzione su più attività contemporaneamente.

4. Maggiore trasparenza e visibilità dei problemi

Limitare il WIP garantisce una trasparenza immediata grazie alla visualizzazione del flusso di lavoro per esempio su una Kanban board, dove ogni fase, ogni attività e i limiti al WIP sono chiaramente rappresentati. Quando si raggiunge il limite WIP in una fase, diventa subito evidente che ci sono problemi da risolvere. Con il DBR, la visibilità è limitata al vincolo principale, il che può far trascurare inefficienze in altre fasi del processo.

5. Prevedibilità e stabilizzazione del flusso

Infine, Limitare il WIP contribuisce a rendere il flusso di lavoro maggiormente prevedibile e stabile. Limitare il numero di attività in corso riduce i tempi di attesa e la variabilità, permettendo una gestione più accurata. Il DBR, concentrandosi sul vincolo principale, non sempre offre la stessa prevedibilità, poiché parti del processo a monte del vincolo principale potrebbero accumulare ritardi non previsti.

David J. Anderson, nel suo libro Discovering Kanban, a questo proposito spiega (la traduzione e mia): “Drum-Buffer-Rope porta il flusso a procedere al ritmo del collo di bottiglia e impedisce all’intero sistema di sovraccaricarsi: crea stabilità. Tuttavia, nella sua forma più semplice, non è robusto alla variabilità dei tempi di ciclo o alla disomogeneità del flusso a monte del collo di bottiglia. Nel caso in cui il collo di bottiglia si bloccasse, il lavoro già iniziato continuerebbe a scorrere verso di esso. Il riavvio del processo del collo di bottiglia diventa problematico, in quanto potrebbe essere sopraffatto dal lavoro che si accumula in eccesso nel suo buffer protettivo a monte.”

Un esempio pratico: Limitare il WIP vs DBR

Consideriamo un team di sviluppo software che lavora allo sviluppo di un nuovo software. Il flusso di lavoro comprende diverse fasi: analisi, sviluppo, testing e rilascio. Supponiamo che la fase di testing sia un collo di bottiglia, perché solo uno sviluppatore è qualificato per svolgere i test più complessi.

Applicazione del DBR

Utilizzando il metodo DBR, il team si concentra sul vincolo, cioè la fase di testing. Il tester lavora al ritmo massimo possibile (il “drum”), e viene creata una riserva di lavoro (buffer) per assicurarsi che il tester non rimanga mai senza lavoro da eseguire. Nel frattempo, un meccanismo di controllo (rope) impedisce che troppo lavoro entri nel sistema, sincronizzando tutte le altre fasi al ritmo del tester.

Questo approccio permette di garantire che il vincolo non rimanga inattivo, ma può creare squilibri in altre fasi del processo. Ad esempio, lo sviluppo o l’analisi potrebbero accumulare più lavoro del necessario, o rimanere in attesa senza produrre valore, creando inefficienze non rilevate.

Applicazione della pratica Limitare il WIP

Con la pratica Limitare il WIP di Kanban, il team stabilisce un numero massimo di attività per ogni fase del processo. Ad esempio, nella fase di testing si decide che non possono essere in corso più di 3 attività contemporaneamente. Quando questo limite viene raggiunto, il team deve fermarsi e risolvere i problemi nella fase di testing prima di aggiungere nuove attività.

Allo stesso modo, limiti WIP vengono fissati anche nelle fasi di sviluppo e analisi, per evitare che si accumuli lavoro in eccesso in una sola fase. Questo approccio assicura che ogni fase del processo mantenga un carico di lavoro bilanciato, riducendo i tempi di attesa e stabilizzando il flusso di lavoro complessivo. Se, ad esempio, lo sviluppo raggiunge il suo limite, il team è costretto a risolvere il blocco prima di spostare nuove attività verso la fase successiva.

Nel lungo termine, Limitare il WIP garantisce che il team mantenga un ritmo costante, riducendo al minimo gli sprechi di tempo e risorse. In questo modo, non solo si risolve il problema del vincolo principale, ma si ottimizza l’intero processo, portando a un miglioramento complessivo delle prestazioni.

Conclusioni

Sebbene il Drum-Buffer-Rope della Teoria dei Vincoli rappresenti un valido approccio per ottimizzare il flusso di lavoro attorno a un vincolo principale, Limitare il WIP in Kanban si dimostra più efficace in ambienti complessi e dinamici. Limitare il WIP offre maggiore flessibilità, trasparenza e ottimizza ogni fase del processo, non solo il vincolo. Inoltre, riduce il multitasking e aumenta la qualità del lavoro, contribuendo a stabilizzare e rendere più prevedibile l’intero flusso.

La pratica Kanban di Limitare il WIP consente ai team di adattarsi rapidamente ai cambiamenti e migliorare continuamente, rendendolo un approccio più robusto e adatto ai contesti attuali e ai settori in cui la gestione efficace del flusso di lavoro è fondamentale per mantenere l’organizzazione economicamente sostenibile.

Come funziona Kanban: Personal Capacity Planning, una pratica che aumenta la produttività dei team Kanban

La pratica di guardare al programma settimanale tipico e di fare un’analisi personale della capacità produttiva rispetto alle diverse attività da svolgere – che ho chiamato Personal Capacity Planning – è un esercizio che da oltre un decennio suggerisco alle persone a cui faccio da coach in molte organizzazioni. E ha sempre aumentato la loro produttività.

Primo passo: cercare i modelli settimanali personali

Il metodo applicato è molto empirico e pragmatico. Non vengono fatte stime o pianificazioni delle attività, che sarebbero dispendiose in termini di tempo e di denaro; l’idea è invece quella di ricordare ciò che è stato fatto in media nelle ultime settimane, alla ricerca di un modello. Un approccio alternativo consiste semplicemente nel tenere traccia e registrare ciò che viene fatto nell’arco di due o tre settimane.

Personal Capacity Planning su lavagna del 2011

Ciò che emerge è di solito un modello di come i carichi sono tipicamente distribuiti per mantenere il livello di attività corrente, e la cosa che mi ha sempre sorpreso è come si possano individuare modelli sensati anche in organizzazioni piuttosto caotiche (livello di maturità tra 0 e 3 del Modello di Maturità Kanban). È come se le persone in queste organizzazioni tendessero istintivamente a compensare il caos che le circonda dandosi delle routine prevedibili a livello personale. Inoltre, mantiene la sua utilità anche nelle organizzazioni con un livello di maturità più elevato.

Secondo passo: regolare i modelli per far evolvere il flusso di lavoro

L’aspetto interessante è che questa tendenza istintiva può essere sfruttata per evolvere e stabilizzare i flussi di lavoro. Il solo fatto che le persone visualizzino la loro settimana tipo e ne diventino più consapevoli, tende a stabilizzare il loro comportamento e quindi il sistema. Inoltre, applicando altre pratiche Kanban insieme al team, come la visualizzazione del lavoro, l’analisi dei flussi di lavoro, la raccolta delle metriche iniziali e la comprensione delle azioni che possono migliorare il flusso di lavoro, il team può agire in modo condiviso sui modelli personali di pianificazione delle capacità, cercando di modificarli per facilitare il miglioramento del flusso di lavoro nella direzione desiderata. All’interno delle cadenze Kanban, in primo luogo il Team Kanban Meeting ma anche la Service Delivery Review, il team può discutere e condividere come eseguire esperimenti safe-to-fail regolando ogni singolo pattern per far evolvere i flussi di lavoro, in modo che con successivi aggiustamenti nel tempo i flussi di lavoro possano essere stabilizzati e ottimizzati.

Ho trovato questa pratica particolarmente utile quando le persone sono impegnate in diversi team e in diversi flussi di lavoro, e ho sempre osservato empiricamente una tendenza a riequilibrare le prestazioni tra i flussi, ad esempio rallentando i flussi di lavoro che stanno ottenendo risultati migliori rispetto agli SLA (livelli di servizio concordati) a favore di un’accelerazione dei flussi di lavoro che sono sottoperformanti.

Personal Capacity Planning su supporto elettronico del 2024

Terzo passo: riservare la capacità secondo le proprie esigenze

Regolare e riequilibrare la capacità personale permette anche di riservare della capacità, se necessario. Quando ho attuato questa pratica per la prima volta, nel 2011, ero il delivery manager di un’azienda di software e guidavo un gruppo di project manager. Il problema principale di allora era che molte risorse impegnate nei progetti erano condivise ed erano anche impegnate in altre attività di manutenzione operativa. È stato allora che ci è venuta l’idea di riservare degli “slot” di capacità, in modo da evitare conflitti con i progetti e assicurarci che la capacità disponibile per i progetti fosse realistica.

In seguito ho utilizzato lo stesso approccio ogni volta che mi sono trovato in una situazione simile. Ad esempio, mi ha aiutato ad applicare Scrum: se le stesse persone dovevano partecipare a team diversi, di cui solo alcuni applicavano Scrum, nasceva la necessità di riservare slot condivisi in cui lavorare in co-locazione e applicare i “rituali” di Scrum. Più di recente, l’ho utilizzato per i team che sono coinvolti in attività di supporto e service desk oltre che in progetti di sviluppo, bilanciando i carichi di lavoro e riservando i turni come agenti del service desk.

Come questa pratica può esservi di aiuto?

La reazione iniziale all’introduzione di questa pratica è sempre stata di sospetto, come se volessi farmi gli affari del team e controllarli mettendoli in una sorta di “gabbia”. Dopo qualche tempo, però, le persone hanno sempre scoperto che non si tratta di una “gabbia”, ma di un metodo gestito autonomamente dal team stesso e finalizzato a sostenere la stabilità e la prevedibilità del loro sistema di lavoro, indipendentemente da fattori esterni di disturbo. Una maggiore stabilità e prevedibilità del sistema significa che le persone, e i team di cui fanno parte, hanno nel tempo un controllo sempre più efficace sui livelli di servizio che offrono ai clienti e quindi, in ultima analisi, diventano padroni del proprio destino.

Questa pratica non limita, non rinchiude il team in una “gabbia”, ma fa l’opposto, sollevando il team dalla pressione esterna. È un concetto controintuitivo che può essere compreso appieno solo sperimentando una pratica che si integra perfettamente con il Metodo Kanban ed è pienamente in linea con i suoi principi.

Link all’articolo originale (in inglese).

Come funziona Kanban: ottimizzare i processi aziendali con la Teoria dei Vincoli (TOC) in Kanban

In questo articolo vi parlo di come funziona Kanban, approfondendo come sia possibile ottimizzare i processi aziendali con la Teoria dei Vincoli (TOC) in Kanban. La Teoria dei Vincoli (TOC), introdotta da Eliyahu M. Goldratt negli anni ’80 del secolo scorso, è un approccio che mira a migliorare le prestazioni delle organizzazioni concentrandosi su quei pochi fattori che limitano la produttività. TOC si basa su un concetto fondamentale: ogni sistema ha un vincolo che ne determina la capacità massima. Pertanto, il miglioramento complessivo dipende dall’individuazione e dalla gestione del vincolo più critico.

Cosa Sono i Vincoli?

Un vincolo, nella Teoria dei Vincoli, è qualsiasi elemento che impedisce a un sistema di raggiungere i suoi obiettivi perché costituisce un collo di bottiglia. Questo elemento può essere una risorsa scarsa, una politica aziendale, una fase produttiva, o addirittura la domanda di mercato. Come Goldratt descrisse, i vincoli sono come l’anello debole di una catena: è inutile rinforzare gli altri anelli se non si rafforza quello che effettivamente limita la resistenza dell’intero sistema.

I Cinque Passaggi della Teoria dei Vincoli

Per applicare la TOC, Goldratt ha proposto cinque passaggi che aiutano a identificare e gestire i vincoli in maniera sistematica:

  1. Individuare il vincolo: Il primo passo è capire quale parte del sistema limita il rendimento complessivo. Ad esempio, può essere un macchinario lento in una linea di produzione o una fase burocratica in un processo amministrativo.
  2. Sfruttare il vincolo: Una volta identificato il vincolo, è necessario massimizzare il suo rendimento. Bisogna ottimizzarne l’uso, assicurandosi che non ci siano interruzioni e che funzioni al massimo della sua capacità.
  3. Subordinare tutto al vincolo: In questo passaggio, si adattano tutte le altre fasi del processo alla capacità produttiva del vincolo. Ciò significa che le altre risorse non dovrebbero produrre oltre la capacità del vincolo, per evitare l’accumulo di work in progress o ritardi in altre parti del sistema.
  4. Elevare il vincolo: Se il vincolo continua a limitare la produttività, bisogna prendere misure per aumentare la sua capacità. Questo può includere l’acquisto di nuove attrezzature, l’assunzione di personale aggiuntivo o il cambiamento di politiche che causano inefficienze.
  5. Ricominciare il ciclo: Una volta che il vincolo è stato elevato o eliminato, è possibile che emerga un nuovo vincolo. Il processo ricomincia, garantendo un miglioramento continuo.
Schematizzazione del sistema Drum, Buffer e Rope (DBR)

Drum, Buffer e Rope

Un concetto chiave all’interno della TOC è il modello Drum, Buffer, Rope (DBR), che aiuta a sincronizzare i processi produttivi attorno al vincolo.

  • Drum (Tamburo): Il tamburo rappresenta il ritmo del sistema, imposto dal vincolo. Questo ritmo determina la cadenza a cui tutto il sistema deve operare, come un tamburo che scandisce il passo.
  • Buffer (Cuscinetto): Il cuscinetto è una riserva di lavoro che viene posta prima del vincolo, garantendo che esso non resti mai inattivo. Il buffer serve per assorbire le eventuali fluttuazioni o inefficienze in altre parti del sistema, proteggendo il vincolo da ritardi.
  • Rope (Corda): La corda è il meccanismo di comunicazione che collega i processi a monte del vincolo. Serve a controllare il flusso di lavoro verso il vincolo, evitando sovrapproduzione. La corda sincronizza il ritmo dell’intero sistema con quello del vincolo.

Applicazione della TOC con il Metodo Kanban

Il metodo Kanban integra perfettamente la TOC per la gestione dei vincoli nei flussi di lavoro, vediamo come:

  1. Individuare il vincolo: Attraverso l’uso di una Kanban board e delle metriche Kanban, è facile individuare il vincolo osservando dove si accumula il lavoro e misurando i tempi di attraversamento di ciascuna fase di lavoro. Le aree dove il lavoro si accumula indicano i colli di bottiglia. Questo rende visibile il vincolo, consentendo all’organizzazione di intervenire su di esso.
  2. Sfruttare il vincolo con Kanban: Una volta identificato il vincolo, la TOC consiglia di massimizzare il suo utilizzo. Kanban, grazie al suo meccanismo di “pull” (tirare il lavoro in base alla domanda), consente di gestire il flusso di lavoro in modo che il vincolo operi al massimo della sua capacità senza essere sovraccaricato.
  3. Subordinare tutto al vincolo: Kanban è eccellente nel subordinare le altre risorse al ritmo del vincolo. Con i limiti di WIP (Work In Progress), il metodo Kanban controlla che le risorse a monte non producano troppo, evitando che il vincolo venga sopraffatto dal carico di lavoro.
  4. Elevare il vincolo: Quando il vincolo raggiunge la sua capacità massima, l’organizzazione può decidere di investire per aumentarne la capacità. Ad esempio, potrebbe voler migliorare una fase del processo o aumentare le risorse a disposizione del vincolo. Anche in questo caso Kanban può evidenziare i miglioramenti implementati e facilitare la gestione del cambiamento.
  5. Iterare con Kanban e TOC: La combinazione di TOC e delle altre pratiche Kanban offre un ciclo continuo di miglioramento. Man mano che un vincolo viene risolto, Kanban permette di monitorare visivamente e misurare se emerge un nuovo vincolo e dove intervenire.

Un Esempio Pratico: L’Onboarding dei dipendenti

Utilizzando Kanban e la TOC un dipartimento di risorse umane ha migliorato drasticamente le proprie prestazioni, come ho già raccontato in un case study precedentemente pubblicato e approfondito in un webinar. Il dipartimento di risorse umane stava cercando di migliorare il processo di Onboarding dei nuovi dipendenti. Applicando Kanban, il team di lavoro ha visualizzato l’intero processo, dalla presa in carico fino all’integrazione dei nuovi arrivati nell’organizzazione, e ha cominciato a misurare i tempi di percorrenza delle varie fasi. Nel corso del tempo, si è osservato che una fase particolarmente lenta era quella legata alla firma del contratto, dove i nuovi assunti restavano disorientati dalla procedura di firma digitale, con l’effetto che questa fase del processo si protraeva per giorni, se non per settimane.

Seguendo la TOC, si è identificato questo come il vincolo. Si è stabilito che la fase di firma del contratto dovesse determinare il ritmo e la velocità di tutto il flusso di lavoro (drum). Si poi è creato un piccolo buffer di candidati pronti per firmare il contratto, in modo da non fare mai mancare lavoro alla fase che limita la velocità di tutto il processo. Infine, il flusso di lavoro è stato controllato tramite la ‘corda’ (rope), rappresentata dai limiti di WIP all’ingresso e lungo il flusso, in modo da non aggiungere troppi nuovi candidati nel processo fino a quando la fase di firma del contratto non fosse in grado di gestirli.

Il risultato immediato è stato quello di riuscire a stabilizzare il flusso di lavoro e renderlo prevedibile. Successivamente il vincolo è stato elevato, ovvero la fase di firma del contratto è stata ottimizzata, per accelerarla e di conseguenza accelerare tutto il processo. Questo ha permesso il dimezzamento del tempo di processo totale nel giro di circa un mese. Iterando poi il ciclo di miglioramento, nell’arco di un anno si è ottenuta una riduzione pari a quasi il 90% del tempo di processo totale.

Conclusione

La Teoria dei Vincoli all’interno del metodo Kanban è uno strumento estremamente potente per ottimizzare i processi aziendali. Mentre la TOC individua e affronta i vincoli che limitano le prestazioni, altre pratiche Kanban permettono di gestire in modo sistemico e flessibile il flusso di lavoro. La combinazione di questi approcci offre un ciclo continuo di miglioramento, rendendo l’organizzazione più efficiente, adattabile e pronta a rispondere ai cambiamenti.

Migliora il tuo modo di lavorare con Kanban: come analizziamo in modo visuale i flussi di lavoro alla ricerca di potenziali miglioramenti

Il metodo Kanban aiuta a migliorare il modo di lavorare e negli articoli che trovate nel blog ho raccontato come questo sia stato attuato nelle aziende con cui collaboro. In questo articolo vorrei raccontare invece come funziona ‘dietro le quinte’, come insieme alle persone dei team coinvolti analizziamo in modo visuale i flussi di lavoro alla ricerca dei potenziali miglioramenti. L’esempio nel seguito si riferisce al dipartimento risorse umane del quale parlo in un caso di studio pubblicato recentemente e al suo flusso di lavoro per l’onboarding dei nuovi dipendenti.

Lavagna su Miro utilizzata insieme al dipartimento risorse umane per analizzare i flussi di lavoro

Per fare l’analisi iniziale dei flussi, di solito chiedo di incontrare il team in presenza. Il primo impatto è fondamentale per stabilire una relazione con le persone coinvolte. Creare un buon clima di collaborazione aiuta più tardi a fare emergere alcuni dettagli che altrimenti sfuggirebbero. Conoscere le persone nel loro ambiente di lavoro aiuta anche a cogliere alcuni non detti che possono essere importanti.

1. Prima mappatura dei processi e misurazione su foglio Excel

Per prima cosa quindi abbiamo mappato i flussi di lavoro su una lavagna bianca fisica, usando post-it e pennarelli. Abbiamo proceduto in modo estremamente informale, non ci siamo preoccupati della notazione utilizzata, l’importante era che il flusso di lavoro fosse chiaro e comprensibile alle persone presenti, che poi erano quelle che avrebbero dovuto leggere e usare il diagramma. Questo approccio poco formale aiuta a coinvolgere anche le persone con poca o nessuna conoscenza dei metodi di rappresentazione dei processi. Scherzando per sdrammatizzare con chi è abituato ad approcci più formali di rappresentazione, dico che scriviamo i processi con notazione BPMN che però nel nostro caso significa Brutal Process Marco’s Notation.

Per far cogliere immediatamente il senso del lavoro e anche per arrivare rapidamente a qualche risultato, una volta definito il flusso e individuate le sue fasi, con il nostro team di risorse umane abbiamo cominciato a misurare il flusso a mano, segnandoci su un foglio Excel i tempi di attraversamento delle varie fasi del flusso. Queste misure ci hanno permesso di disegnare i primi grafici di densità di distribuzione del Lead Time e cominciare a comprendere le dinamiche dei flussi di lavoro. E’ bastato questo per individuare alcuni evidenti colli di bottiglia verso i quali indirizzare le azioni di miglioramento, che hanno portato nel giro di un solo mese al dimezzamento del Lead Time medio, ma soprattutto ad avere una curva di distribuzione Thin-tailed. In pratica avevamo dimezzato e reso più certo il tempo necessario per l’onboarding dei nuovi dipendenti dell’azienda.

2. Analisi STATIK del servizio

A questo punto abbiamo svolto l’analisi STATIK del servizio di onboarding. STATIK sta per Systems Thinking Approach to Implementing Kanban ed è un approccio sistemico che permette di analizzare e mappare le fonti di insoddisfazione, la domanda, le capability del sistema, il flusso di lavoro e le classi di servizio per arrivare a definire una prima versione di un sistema Kanban. Essendosi ormai affiatato il team, anche grazie ai primi promettenti risultati, questo lavoro è stato svolto in parte da remoto. Abbiamo svolto il lavoro in ogni caso su lavagna virtuale Miro, sulla quale compilavamo un template STATIK Canvas, strumento efficacissimo per procedere rapidamente in modo visuale e ordinato.

3. Evoluzione dei processi su lavagna virtuale

Messo a punto il primo sistema Kanban, abbiamo cominciato a evolverlo progressivamente e sperimentalmente. Abbiamo rivalutato periodicamente tutti i flussi di lavoro, alla ricerca di semplificazioni e linearizzazioni. Per visualizzare questo lavoro abbiamo utilizzato di nuovo la lavagna Miro, sulla quale abbiamo mappato la seconda versione dei flussi, sempre con la solita notazione brutale. Da lì in poi abbiamo fatto periodicamente riflessioni e sperimentazioni, aggiornando i flussi sulla lavagna quando queste ultime avevano successo.

4. Kanban board elettronica con misurazione

Nel nostro percorso evolutivo il team ha cominciato con il tempo ad avvertire il bisogno di fare un uso più avanzato delle pratiche Kanban di visualizzazione e gestione del flusso di lavoro, potendo disporre anche di uno strumento di misura più agevole di quanto non fosse il foglio Excel, per cui dopo qualche mese abbiamo cominciato ad utilizzare una kanban board virtuale su Kanban Zone. Questo passaggio di ha permesso una migliore gestione dell’attività e un monitoraggio più accurato e completo delle metriche di flusso, potendo continuare il nostro percorso di evoluzione sperimentale e collaborativa con strumenti visuali.

L’evoluzione progressiva dei flussi di lavoro ha portato infine il team, nel giro di un anno, a ridurre dell’89% il tempo necessario per l’onboarding dei nuovi dipendenti. Questo percorso ha portato a rivalutare il sistema informativo aziendale dell’HR, che sta venendo costantemente aggiornato recependo i flussi aggiornati insieme a tutte le logiche e le misure del sistema Kanban. E il viaggio continua….

Migliora il tuo Project Management con Kanban: pianificare un progetto con Kanban

Recentemente ho avuto modo di pianificare un progetto con il metodo Kanban e di apprezzare una volta di più la rapidità con cui le pratiche Kanban permettono di elaborare una previsione affidabile dei tempi e costi di progetto. Ho già introdotto in un precedente articolo i concetti fondamentali relativi al KPPM – Project, Programme e Portfolio Management. Qui racconto un breve esempio applicativo che fa uso di alcune tra le pratiche suggerite.

OpenArt AI generated image

Il progetto

Il progetto informatico da pianificare è consistito nel refactoring e sostituzione di una soluzione software per la gestione di un workflow aziendale che era diventata obsoleta e inadeguata. Il flusso di lavoro in questione ha una lunga storia ed è stato via via nel tempo ottimizzato. Non ci si aspettava nel progetto particolari sorprese da un flusso sostanzialmente consolidato.

Il team di progetto ha visto il coinvolgimento della responsabile dell’area di business interessata, oltre che della project manager (la responsabile IT), della sua assistente, il sottoscritto come Kanban coach e due team di sviluppatori appartenenti a due aziende fornitrici diverse, ben conosciuti e con entrambi i quali esiste da anni un solido rapporto di collaborazione. I due team di sviluppatori hanno caratteristiche e performance differenti e la responsabile IT ha effettuato nel tempo delle misurazioni che ci hanno permesso di conoscere con una certa accuratezza il tipo di distribuzione di probabilità dei loro Lead Time. Per il tipo di sviluppo da effettuare potevamo in questo caso considerare i Lead Time di entrambi i team di tipo gaussiano (Thin-Tailed), quindi abbiamo potuto utilizzare nelle previsioni il Lead Time medio e applicare la Legge di Little.

Preliminarmente abbiamo effettuato un’analisi del lavoro da svolgere e creato un backlog di progetto composto da circa 40 requisiti di alto livello in forma di User Story.

La pianificazione

Non entrerò nei dettagli tecnici dei concetti probabilistici e matematici sottostanti, mi limiterò a una panoramica del metodo applicato. Per pianificare il progetto con il metodo Kanban abbiamo proceduto come segue.

Modello probabilistico per calcolare il numero di User Story di dettaglio

Innanzitutto ci siamo creati un modello per fare delle ipotesi probabilistiche su quale avrebbe potuto essere il numero di User Story di dettaglio a partire da quelli che erano i requisiti di alto livello. Il modello probabilistico ci ha suggerito che un numero di circa 10 User Story di dettaglio per ciascun requisito era una misura ragionevole, per cui abbiamo previsto circa 400 User Story di dettaglio da sviluppare.

Fattore di correzione per tenere conto della ‘dark matter’

Abbiamo successivamente corretto il numero di User Story previste in funzione di quella che in Kanban chiamiamo ‘dark matter’, ovvero tutta quella parte di requisito che emerge man mano che il progetto procede. Non si tratta di nuovi requisiti, chiedendo al committente del progetto risponderà che quei requisiti non sono nuovi, sono sempre stati lì anche se non erano emersi in modo chiaro. Per questo è meglio introdurre un fattore di correzione opportuno per tenerne conto. Nel nostro caso, data la natura del progetto di refactoring del software, con poche sorprese, abbiamo ritenuto che un fattore di correzione del 40% fosse adeguato per tenere conto in modo corretto della ‘dark matter’. In totale la previsione è diventata quindi di 560 User Story.

Calcolo del throghput e del WIP a partire dalla deadline di progetto

Considerando che tipicamente, in un progetto che fa uso di un flusso di lavoro Kanban, è solo la parte temporalmente centrale quella in cui è possibile considerare il flusso di lavoro stabile e costante, abbiamo applicato la Legge di Little al 90% circa del lavoro da realizzare, pari a circa 500 User Story, da svolgersi nel 60% circa del tempo totale di progetto.

Ripartendo le User Story sui due team di sviluppo e conoscendo la deadline di progetto richiesta dalla responsabile dell’area di business, abbiamo calcolato il throghput richiesto, ovvero il numero di User Story che i team devono sviluppare per unità di tempo. Applicando la Legge di Little a ciascun team, in funzione del Lead Time medio su base storica e del throghput richiesto abbiamo quindi calcolato il WIP (Work in Progress) medio per entrambi i team.

Correzione del bias cognitivo sul concetto di media

Il modello prevede poi un ulteriore fattore di correzione del 10% per tenere conto del fatto che i valori medi usati per il calcolo sono un’approssimazione della mediana (ossia il cinquantesimo percentile statistico), che sarebbe il valore corretto da considerare. Noi esseri umani siamo soggetti a un bias cognitivo che ci fa considerare ‘valore medio’ quello che in realtà è il valore mediano. Quando diciamo che “mediamente facciamo una certa attività in un certo tempo” intendiamo che una volta su due ci mettiamo di più e una volta su due ci mettiamo di meno, ma questo appunto è il concetto statistico di mediana, non di media.

Definizione dei tempi e costi di progetto

Abbiamo infine richiesto ai fornitori di mettere a disposizione un numero di sviluppatori adeguato al WIP di lavoro calcolato. In base al calcolo effettuato i fornitori hanno organizzato ciascuno il proprio team e ci hanno fornito un preventivo dei costi per la realizzazione del progetto nei tempi previsti.

Al netto dei tempi necessari per l’elaborazione dell’offerta da parte dei fornitori, la previsione dei tempi e costi di progetto ha richiesto in tutto solo qualche ora.

Il monitoraggio

La previsione così definita ha permesso anche alcuni monitoraggi in corso di progetto molto semplici ma efficaci:

  • il fattore utilizzato per calcolare il numero di User Story per ciascun requisito ha consentito un controllo rapido e costante della stabilità del backlog. Quando un team registrava un valore significativamente diverso da quello previsto, faceva immediatamente escalation al project manager;
  • ci si aspettava che il Lead Time medio di ciascun team fosse sostanzialmente stabile. Quando si discostava significativamente dai valori di riferimento, partiva immediatamente un escalation al project manager;
  • infine ci si aspettava che il throghput di ciascun team restasse attestato al valore medio previsto. Anche in questo caso, quando si discostava significativamente dai valori di riferimento, partiva immediatamente un escalation al project manager.

Conclusione

E’ chiaro, come nell’esempio applicativo qui descritto, che per pianificare e monitorare un progetto con Kanban sia necessaria la presenza di un flusso di lavoro stabile del quale si conoscano i Lead Time medi. C’è del lavoro da fare a monte del progetto, sempre con Kanban, per misurare e, nel caso, rendere stabile e prevedibile il flusso di lavoro dei team.