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.

Ho pubblicato originariamente questo articolo per il portale Kanban Help, al quale collaboro insieme al collega Luca Gambetti.
Visita Kanban Help – www.kanban.help – per conoscere gli strumenti formativi e di coaching che ti possono aiutare a introdurre il metodo Kanban nella tua azienda.

Migliora il tuo Project Management con Kanban: il Kanban Project, Programme e Portfolio Management

Il metodo Kanban ha avuto, fin dalle sue origini, i progetti nel proprio perimetro di applicazione. Nato per gestire i flussi di lavoro dei team IT, il metodo Kanban è stato da subito applicato anche per gestire il lavoro degli stessi team IT quando questi sono impegnati in un progetto.

A partire dagli informatici, la comunità dei project manager si è quindi sempre più interessata al metodo Kanban. Ho già citato in un precedente articolo l’intervento di David J Anderson, creatore del metodo Kanban, al PMI Poland Chapter Congress 2013. Successivamente il metodo Kanban è stato via via menzionato in varie pubblicazioni di project management. Il manuale PRINCE2 Agile del 2015 fa riferimento esplicitamente al metodo Kanban tra le tecniche di product delivery (dedicandogli un capitolo ben fatto) la guida al PMBoK 6th Ed. del 2017 lo cita brevemente (un paragrafo) tra le tecniche di schedulazione, la guida al PMBoK 7th Ed. del 2021 lo cita più diffusamente rispetto alla precedente seppure in modo poco organico.

Teodora Bozheva, co-autrice insieme a David J Anderson del Kanban Maturity Model (KMM) ha ribaltato questa visione residuale e pubblicato nel 2023 una guida specifica dal titolo KPPM – Kanban Project, Programme e Portfolio Management – A map to business agility: il metodo Kanban non più visto all’interno di un progetto come semplice modalità di gestione operativa del delivery, ma più propriamente come leva strategica per supportare una migliore gestione non solo dei progetti aziendali, ma anche dei programmi e del portfolio aziendale di programmi e progetti.


OpenArt AI generated image

Riassumo qui di seguito i concetti principali che stanno alla base del Kanban Project, Programme e Portfolio Management, tratti dal libro.

Il pensiero fondativo del Kanban Project, Programme e Portfolio Management (KPPM)

Il KPPM adotta un approccio scientifico e orientato al problem-solving per la gestione del lavoro di progetto e affronta le sfide reali delle organizzazioni di progetto.
Il KPPM si basa su tre elementi fondamentali:

  • Systems thinking (pensiero sistemico)
  • Flow thinking (pensiero sulla gestione dei flussi)
  • Sviluppo di una cultura collaborativa e purpose-driven

Le conoscenze alla base di questi concetti esistono da decenni anche se sono poco conosciuti e applicati nelle aziende di servizi. Il pensiero sistemico in Kanban si basa sulle opere di W. Edwards Deming, Russell Ackoff, Peter M. Senge, Donella Meadows e altri.
Il pensiero sulla gestione dei flussi fa riferimento alla Teoria dei Vincoli (TOC) di Eliyahu Goldratt, a Principles of Product Development Flow di Donald Reinertsen, al Toyota Procution System e al Lean Thinking. L’applicazione di questi concetti all’interno del metodo Kanban hanno portato allo sviluppo del Kanban Maturity Model (KMM) che definisce un insieme di valori culturali e pratiche che aiutano a migliorare i risultati di un’organizzazione in modo evolutivo.

Il KPPM amplia e adatta alle organizzazioni di progetto il Kanban Maturity Model (KMM).
Il KPPM non è un nuovo metodo di gestione dei progetti. Descrive pratiche che affrontano le sfide croniche della gestione dei progetti, programmi e portfolio e che integrano le conoscenze e i metodi esistenti in materia di project management. Il modello può essere applicato anche in combinazione con metodi Agili, quale ad esempio Scrum.

Systems thinking (pensiero sistemico)

Il Systems Thinking è un modo di vedere un’organizzazione come un sistema di parti interconnesse e di comprendere i suoi comportamenti e risultati come prodotto delle interazioni tra le parti.

I risultati che un’azienda ottiene dipendono dalle azioni congiunte delle sue unità aziendali. Risposte adeguate a circostanze sfidanti possono generare un vantaggio aziendale. Decisioni inadeguate su una buona opportunità potrebbero sprecarla.

Il miglioramento dei risultati di un’organizzazione richiede la focalizzazione su obiettivi comuni, comunicazione e sincronizzazione puntuale, rapidità decisionale e capacità di adattamento. Senza la comprensione dello scopo, le azioni di miglioramento diventano prive di significato e comportano uno spreco di tempo, energia e investimenti. Allo stesso modo, senza la comprensione di come le interazioni tra le unità dell’organizzazione influiscono sui risultati, non è possibile identificare la causa principale dei problemi attuali e proporre un trattamento adeguato che la risolva.

Il Systems Thinking aiuta a prendere decisioni informate che risolvono i problemi dell’organizzazione a partire dalle cause principali e migliorano i risultati complessivi. I manager iniziano a prendere decisioni informate basate sulla comprensione dell’azienda come sistema e sui dati.

Flow thinking (pensiero sulla gestione dei flussi)

La gestione del lavoro con i sistemi kanban consiste nel creare un flusso di lavoro stabile e controllato attraverso un sistema a capacità finita.

Deve esserci una giusta corrispondenza tra i flussi di lavoro, i materiali (o le forniture), le operation, la comunicazione con i clienti e i fornitori per sviluppare e consegnare con successo i risultati dei progetti. Una kanban board deve visualizzare chiaramente lo stato del lavoro in corso (WIP – Work in Progress) e di quello in attesa di essere iniziato. Sia i sistemi sovraccarichi che quelli sottoutilizzati producono risultati non ottimali. In condizioni di forte pressione e stress, gli individui perdono tempo nel multitasking e commettono errori. La loro capacità di consegna e la qualità del prodotto e del servizio peggiorano. I progetti cominciano a ritardare, aumentano i costi e peggiorano la soddisfazione dei clienti e degli stakeholder.

Per migliorare i risultati complessivi dei progetti, le organizzazioni devono utilizzare la loro capacità in modo opportuno. Dare priorità e selezionare un numero sufficiente di progetti da far passare attraverso il sistema garantisce una gestione ben focalizzata e un alto morale dello staff. Per lo stesso motivo, i problemi che bloccano il flusso di lavoro del progetto a causa di informazioni mancanti, attese o rilavorazioni, devono essere risolti il prima possibile.

Creare e sostenere un flusso di lavoro stabile coinvolge tutte le persone dell’organizzazione e richiede la cooperazione con clienti e fornitori. Allo stesso tempo, la creazione di un flusso è vantaggiosa per tutti i livelli dell’organizzazione. A livello operativo, le persone godono di un lavoro focalizzato e di un carico adeguato. I project manager sfruttano i dati di flusso per migliorare la prevedibilità e rispettare con sicurezza le scadenze importanti. I responsabili aziendali apprezzano l’aumento della produttività e dei risultati ottenuti, nonché la maggiore capacità dell’organizzazione di stabilire le priorità e di adattarsi ai cambiamenti del contesto aziendale.

La soluzione è quindi migliorare il flusso dei progetti attraverso una gestione accurata della capacità disponibile piuttosto che espandendo il sistema. Migliorare attraverso processi efficienti è molto più conveniente che cercare nuove persone e investire in strutture e attrezzature.

Sviluppo di una cultura collaborativa e purpose-driven

La cultura è una questione di valori condivisi e di modi di pensare, decidere e comportarsi. I valori e gli obiettivi comuni consentono l’introduzione di pratiche e norme appropriate. La giusta combinazione di principi e pratiche pertinenti porta al raggiungimento di risultati migliori.

Le pratiche semplici che migliorano l’adattabilità delle persone rafforzano le loro abitudini e la motivazione a continuare a migliorare. La padronanza di nuovi modi di lavorare incoraggia nuovi comportamenti. Le pratiche KPPM impegnano le persone a promuovere una cultura di collaborazione, focalizzazione su un obiettivo comune, apprendimento continuo e adattamento.

Panoramica del Kanban Project, Programme e Portfolio Management (KPPM)

Il KPPM comprende un insieme di Principi, Pratiche e Valori culturali che aiutano le organizzazioni a e a prosperare in un ambiente di business mutevole e incerto.

Principi del KPPM

I principi del KPPM definiscono le basi del pensiero, del comportamento e dell’azione in una organizzazione adattiva.

  • Visibilità Pensare in maniera olistica e visualizzare il lavoro, le informazioni sullo stato del lavoro e altri dati necessari per prendere le decisioni a tutti i livelli dell’organizzazione.
  • Focus Focalizzare le azioni sulle richieste del cliente e sul purpose del business.
  • Flusso del valore continuo e bilanciato Creare un flusso continuo e bilanciato di risultati per gestire efficacemente anche il bilanciamento tra richieste del cliente, priorità, rischi e la capacità del sistema di produrre valore.
  • Feedback rapidi Implementare cicli di feedback rapidi sia all’interno dell’organizzazione, che con clienti, fornitori e mercato, per mantenere sincronizzato il sistema aziendale di creazione del valore.
  • Cultura collaborativa e purpose-driven Coltivare una cultura della trasparenza, della collaborazione, del pensiero orientato ai risultati e dell’adattamento continuo.

Struttura del KPPM

Il KPPM estende il Kanban Maturity Model (KMM) con ulteriori idee che sono state adattate dalla Teoria dei Vincoli (TOC) e da Lean, e adatta le pratiche del KMM per rispondere alle esigenze delle organizzazioni di progetto.

Livelli evolutivi

Il KPPM è suddiviso su quattro livelli evolutivi:

  • EL1 Team-Focused I team sono autonomi ma non sincronizzati.
  • EL2 Customer-Driven I team sono sincronizzati in un flusso end-to-end di progetto.
  • EL3 Oucome-Driven Tutti gli obiettivi del delivery system vengono continuamente raggiunti attraverso un flusso bilanciato e sostenibile
  • EL4 High Performing Risultati aziendali di rilievo grazie alla cultura dell’eccellenza e del miglioramento continuo

Pratiche

Le organizzazioni di progetto devono pianificare il lavoro, monitorare l’esecuzione di progetti, programmi e portfolio (incluso quello strategico), apprendere e adattarsi ai cambiamenti e misurare i propri risultati.

A supporto di queste attività il KPPM definisce quattro gruppi di pratiche:

  • Plan 9 pratiche basate sulle pratiche generali Kanban Visualizza e Gestisci il Flusso
  • Communicate and align 45 pratiche basate sulle pratiche generali Kanban Visualizza, Implementa Cicli di Feedback ed Esplicita le Policy
  • Monitor and adjust 24 pratiche basate sulle pratiche generali Kanban Visualizza, Gestisci il Flusso ed Esplicita le Policy
  • Learn and adapt 9 pratiche basate sulla pratica generale Kanban Migliora Collaborando, Evolvi Sperimentando

Valori culturali

I valori culturali promossi dal KPPM, suddivisi per livello evolutivo, sono:

  • EL1 Team-Focused
    • Transparenza
    • Collaborazione
    • Prendere iniziativa
  • EL2 Customer-Driven
    • Coordinamento tra team di specialisti e fornitori
    • Atti di leadership
    • Rispetto
    • Fiducia
    • Cambiamento evolutivo
  • EL3 Oucome-Driven
    • Fitness for Purpose
    • Leadership a tutti i livelli
    • Accordo e comprensione comune
    • Unità e allineamento
    • Bilanciamento
    • Servizio al cliente
    • Risultati e conquiste di breve termine
    • Apprendimento sperimentale
  • EL4 High Performing
    • Capacità di anticipare piuttosto che di reagire
    • Capacità di migliorare continuamente
    • Equità
    • Sviluppo della leadeship

Conclusione

Lo sviluppo dell’agilità organizzativa, anche nella gestione di progetti, programmi e portfolio, è un percorso da far progredire nel tempo. Gradualmente coinvolge tutto il personale dell’azienda nella revisione e adattamento dei processi organizzativi e delle policy, in modo tale che l’azienda possa adattarsi e avere successo nell’attuale ambiente di business mutevole. Il metodo Kanban e il KPPM possono supportare efficacemente questo percorso.

Prossimamente pubblicherò su questo blog alcuni brevi casi pratici esemplificativi di applicazione del KPPM a progetti aziendali ai quali ho patecipato.

Bibliografia:
Teodora Bozheva | KPPM – Kanban Project, Programme e Portfolio Management – A map to business agility
David J Anderson – Teodora Bozheva | Kanban Maturity Model (2nd Edition) | Kanban University Press

Ho pubblicato originariamente questo articolo per il portale Kanban Help, al quale collaboro insieme al collega Luca Gambetti.
Visita Kanban Help – www.kanban.help – per conoscere gli strumenti formativi e di coaching che ti possono aiutare a introdurre il metodo Kanban nella tua azienda.