Critical Chain

L’approccio alla pianificazione dei progetti denominato Critical Chain (catena critica) deriva dagli studi svolti a partire dagli anni ’80 da E. M. Goldratt sulla Teoria dei Constraints (TOC).

Questa tecnica introduce alcuni accorgimenti per migliorare l’approccio tradizionale basato sul percorso critico (CPM).

Il metodo della catena critica si pone i seguenti obiettivi:

  • assicurarsi che il calendario di progetto rifletta l’effettiva disponibilità delle risorse e non solo le dipendenze tra attività;
  • evitare che le risorse operino su attività che non sono ancora pronte per essere avviate o su cui non ci siano sufficienti informazioni;
  • fare in modo che le risorse lavorino su un’attività alla volta in modo da limitare i cambi continui di contesto ed il multi-tasking.

Numerose ricerche confermano l’efficacia di questo metodo. Infatti l’effetto finale della Critical Chain è quello di migliorare l’impiego delle risorse nel delivery soprattutto dei progetti complessi rispetto a quanto può succedere usando i metodi tradizionali.
Impatto metodo catena critica

Criticità della pianificazione tradizionale

Le principali problematiche che il Critical Chain Project Management si propone di risolvere sono:

  • Sovrastima. Poiché non tutte le informazioni sono note o chiare nel momento in cui le stime vengono formulate, si tende a sovrastimare i vari compiti in modo da proteggersi da eventuali ritardi, da sfondamenti di budget e dall’incertezza tipica delle fasi di avvio. Questo fatto riguarda tutte le attività e si amplifica in base al numero di persone coinvolte in ciascun task. La somma di queste imprecisioni porta a sovrastimare il costo e la durata del progetto.
  • Sindrome dello studente. L’impegno è crescente man mano che ci si avvicina alle scadenze. Spesso ci si impegna solo quando si avverte la pressione psicologica dell’approssimarsi del termine ultimo per completare il lavoro. Ciò è spesso la risultante di una schedulazione eccessivamente generosa che è proprio ciò che il metodo della critical chain vuole evitare.
  • Legge di Parkinson. Le attività tendono ad impegnare tutto il tempo pianificato. Ad esempio se si assegna una durata di 10 giorni per una attività che può durare 8 giorni, difficilmente questa verrà conclusa in 8 giorni e nella migliore delle ipotesi finirà per durarne 10.
  • Multitasking. E’ illusorio pensare che se le risorse possono svolgere più compiti in parallelo ciò aumenti la loro efficienza. Infatti il saltare da un task all’altro introduce delle inefficienze perché si tende a procrastinare il task più critico a favore di attività meno importanti.
  • Gestione dei task in anticipo. Con la tecnica del percorso critico (CPM), qualora si venisse a completare un task in anticipo, difficilmente si riuscirebbe a capitalizzare il tempo risparmiato se il task non appartiene al percorso critico. Infatti gli anticipi sulle attività non critiche portano al più ad un rilascio anticipato delle risorse. Ciò deriva dalla pianificazione “al più presto” delle attività che caratterizza il CPM. Questo fatto comporta anche un anticipo nel sostenere i costi delle attività.

La pianificazione con il Critical Chain Project Management

Gli elementi caratteristici del CCPM sono:

  • Le attività vengono schedulate “al più tardi” diversamente dal CPM in cui vengono schedulate “al più presto”.
  • La stima della durata delle attività è ridotta rispetto a quanto indicato dalle singole risorse del team di progetto in modo da ridurre la contingency presente in ogni stima.
  • Nel Critical Chain Project Management vengono introdotti dei buffer per proteggere ciascun path di progetto (FB- feeding buffer) ed il cammino critico di progetto (PB – project buffer)
  • Viene introdotto un buffer per gestire le transizioni di una risorsa da un task all’altro (RB – resource buffer)
  • I piani vengono in tal senso vincolati dalle risorse effettivamente disponibili. In caso di conflitti sulle risorse, le attività subiranno un ritardo/anticipo, ma non verranno eseguite simultaneamente, distribuendo la risorsa sui vari task. Questo significa che se due attività fanno uso simultaneo della stessa risorsa, queste saranno poste in sequenza anziché vedere aumentata la loro durata e condivisa la risorsa. Chiaramente l’attività più critica avrà un maggior livello di priorità.

Nella Critical Chain per ottimizzare ciascun buffer è necessario apportare una riduzione di almeno il 50% della durata di ciascun task rispetto alle stime tradizionali.

Esistono approcci più sofisticati che si basano su motori statistici Monte Carlo per la definizione dell’ampiezza di ciascun buffer.

Si consiglia quindi di utilizzare i software che basano la definizione dei buffer su questi tools.critical chain method

Pianificazione multi-progetto

Il multi progetto amplifica alcuni dei fenomeni sopra illustrati:

  • sono maggiori le possibilità di multi-tasking e le inefficienze ad esso legate;
  • aumentano i vincoli a causa dei legami tra attività appartenenti a più progetti;
  • diminuisce per le risorse la capacità di concentrarsi su specifici task e la comprensione di ciò che va considerato come critico.

In questi casi l’approccio della Critical Chain costituisce un utile ausilio e spesso è l’unica possibilità di ottimizzare la schedulazione attraverso le seguenti modalità:

  1. occorre prima schedulare ogni progetto applicando il metodo della catena critica;
  2. vengono poi inseriti i collegamenti tra attività appartenenti a progetti diversi;
  3. si procede alla soluzione dei problemi di contesa sulle risorse più impegnate, con l’assunto che è la disponibilità delle risorse a definire la velocità del progetto e la durata di ogni task.

Monitoraggio e Controllo con il CCPM

monitoraggio buffer di progettoCon questo approccio il monitoraggio di un progetto deve essere svolto partendo dal fatto che la contingency non deve essere gestita a livello di task ma di buffer e di percorso.

Infatti, poiché nel Critical Chain Project Management i task hanno tutti stime ridotte, non ha molto senso monitorare la corretta chiusura di una attività nella data pianificata e gestire come “ritardo” il fatto che non si sia rispettata tale scadenza.

Quello che occorre fare invece è monitorare i buffer che sono stati creati nella fase di pianificazione costruendo dei semplici grafici che mostrano il modo in cui vengono consumati man mano che il progetto va avanti.

Se la velocità con cui vengono erosi è bassa si può ritenere che il progetto sia “on target”, nel caso invece che l’erosione dei buffer sia così elevata da far prevedere di non riuscire a completare il progetto senza utilizzare più buffer di quanto pianificato, allora è necessario intraprendere delle azioni correttive o nel caso peggiore sviluppare dei recovery plan per recuperare quanto perso.

Il controllo dell’avanzamento di un progetto secondo il CCPM viene quindi svolto attraverso:

  • l’analisi approfondita dei buffer e del loro livello di erosione;
  • il confronto della porzione di Critical Chain completata con la percentuale di buffer utilizzati in modo da stimare la data di completamento del progetto;
  • l’analisi della velocità di consumo dei buffer (o come percentuale o in termini assoluti come giorni nel periodo).

Quando la velocità di erosione supera un valore critico (in modo approssimato: la velocità tale per cui tutti i buffer vengono usati prima che il progetto sia concluso) allora si deve ripianificare il progetto.

L’analisi può quindi procedere confrontando la percentuale del Completion Buffer  Remaining (%CBR) con la percentuale del Critical Chain Remaining (%CCR) e fissando delle semaforiche per le azioni correttive:

  • Quando il rapporto %CBR / %CCR è 1 o più, lo stato del progetto è Verde (On target)
  • Quando %CBR / %CCR è tra 1 e 2/3, lo stato del progetto è Giallo (Predisporre un piano di recovery)
  • Quando %CBR / %CCR è meno di 2/3, lo stato del progetto è Rosso (Implementare il piano di recovery)