Il metodo Critical Chain

di Andrea Bressan

5 Febbraio 2015 07:19

logo PMI+ logo PMI+
La teoria di Eliyahu Goldratt per un approccio più snello alla gestione dei progetti, che ottimizzi i tempi tenendo conto delle falle tipiche dei metodi tradizionali.

Negli ultimi anni è cresciuto l’interesse attorno a modelli più “snelli” rispetto alle proposte del Project Management tradizionale. Questi differenti approcci prendono il nome di “Agile Project Management” o “Extreme Programming“. In entrambi i casi, siamo di fronte al tentativo di facilitare, con strumenti più immediati, la gestione dei progetti caratterizzati da un’elevata dose di incertezza, di rischio e di cambiamento.

=> Agile Project Management

Se pensiamo che la maggior parte dei progetti IT sono sviluppati in ritardo o fuori budget, e che i progetti completati dalle grandi aziende hanno il 40% delle caratteristiche progettate in origine, si può comprendere come in alcuni ambiti l’esigenza di cercare nuovi modelli si sia sentito più che altrove. In più, oltre alla necessità di migliorare la gestione di progetti rischiosi in cui sono poco definibili obiettivi e tempistiche sin dalle prime fasi, oggi si impone la tendenza a comprimere i tempi di progetto e i cicli di sviluppo per giungere quanto prima sul mercato.Questo, in generale, sappiamo che conferisce degli indubbi vantaggi, come sfruttare maggiormente il ciclo di vita del prodotto e conquistare la leadership nella sua vendita. Anche tale esigenza dell’attuale contesto di business, che vede il ciclo di vita dei prodotti sempre più breve, è stata recepita dai nuovi modelli che hanno cercato risposte significative. In effetti, sono emersi contributi interessanti proprio per migliorare la programmazione, i processi di stima e la considerazione di fattori umani nella durata di un progetto. In questo articolo tratteremo il Critical Chain Method, l’interessante apporto di Eliyahu Goldratt proposto a partire dal 1997 (Goldratt E., Critical Chain, The North River Press, 1997).

=> Guida al progetto IT: Start-up e Project Management

L’ambizione di fondo

Il proposito della metodologia di Goldratt è quello di comprimere i tempi di progetto e di raggiungere una migliore affidabilità della programmazione. In sostanza, si propone di evitare una serie di elementi negativi che sono la frequente causa di consegne oltre il budget o il tempo stabilito. Il Critical Chain Method (CCM) deriva fondamentalmente dalla “Theory of Constraints” (TOC), una teoria nata dall’esperienza dello stesso Goldratt che, in una visione sistemica, punta al miglioramento di performance dei processi organizzativi. La TOC, in poche parole, afferma che il rafforzamento di un sistema, e il raggiungimento del suo obiettivo, passa inevitabilmente dall’individuazione e dal consolidamento del suo elemento più debole (vincolo). Vediamo ciò che Goldratt ha ottenuto applicando questa teoria al Project Management.

La debolezza delle programmazioni “tipiche”

Il metodo di Goldratt parte dall’osservazione dell’uso delle tecniche del tradizionale Project Management e in particolare dal consueto impiego del CPM (Critical Path Method). Sebbene l’analisi PERT consenta di trattare le stime in modo probabilistico, per semplicità i Project Manager preferiscono trattare, con la tecnica CPM, le durate delle attività in modo deterministico.

=> Tempi e scadenze con il diagramma di Gantt

Tuttavia, la valutazione dei fattori contingenti che possono far slittare un’attività oltre il tempo tecnico probabile non è ignorata. Una prassi diffusa induce i PM a inserire, nel loro piano di progetto, delle durate che sono la somma del tempo tecnico e di un certo margine temporale di sicurezza. In sostanza, secondo Goldratt: «l’incertezza è controllata accrescendo la durata delle attività». Questa prassi conduce a una programmazione strutturata sull’ipotesi peggiore, che dovrebbe essere la garanzia del completamento entro la data prevista. Eppure, anche se non accadono gli imprevisti valutati nella maggiorazione delle stime, il progetto rischia di terminare oltre la data stimata. Secondo Goldratt, è proprio l’inserimento di una durata aggiuntiva di sicurezza senza indicarla come tale a costituire un problema. Questa “sicurezza nascosta”, anche per il fatto che viene posta su ogni singola attività, rischia di compromettere la puntualità del progetto. I motivi sono spesso legati a tratti tipici del comportamento umano riscontrabili anche nel mondo dei processi organizzativi.

Sindrome dello studente

Come primo motivo, si può osservare un’abitudine comportamentale che viene chiamata da Goldratt “sindrome dello studente”. Con questo termine, egli intende quella tendenza a procrastinare fino all’ultimo momento utile l’avvio di un’attività, proprio ciò che fanno molti studenti quando devono preparare un esame e pensano di impiegare meno tempo di quello a disposizione. Come gli studenti, molti operai non completano quanto prima le loro assegnazioni. Anzi, concentrano i loro sforzi verso la fine del tempo stimato e si riducono sovente a un lavoro concitato per effettuare una consegna all’ultimo minuto. Inutile affermare che questo atteggiamento spreca, già all’inizio dell’attività, il margine di sicurezza programmato. Inoltre, se dovesse effettivamente presentarsi un imprevisto, non si avrebbe più a disposizione il tempo preventivato per gestirlo. L’attività, dunque, potrebbe solo ritardare.

Figura 1. Sindrome dello studente

Sindrome dello studente

Legge di Parkinson

C’è un altro aspetto che unito al primo sembra vanificare quella “sicurezza nascosta” inserita nelle durate delle attività. Si tratta della legge di C. Northcote Parkinson, la quale afferma che «il lavoro si espande in modo da riempire il tempo a disposizione per completarlo» (The Economist, Novembre 1955). In sostanza, questo significa che una risorsa completerà la propria attività assegnata in un tempo non inferiore a quello stabilito, dilaterà quindi la durata delle operazioni – incrementando i costi – con l’impiego di tutto il tempo a disposizione. A questo punto si può aggiungere un altro aspetto. Anche se la risorsa finisse in anticipo il suo lavoro, potrebbe trovare sconveniente segnalarlo perché costituirebbe un precedente utilizzabile nei futuri processi di stima. Se l’obiettivo è finire in tempo, e non finire prima, la risorsa potrebbe preferire garantirsi la sicurezza di raggiungere lo scopo e magari il premio. Questo aspetto andrebbe considerato sia nell’accertamento del termine delle attività sia nel coinvolgimento delle risorse operative nei processi di stima.

Lavoro “Multi-Tasking”

Un altro elemento può causare il ritardo di un’attività o di un progetto, a parere di Goldratt. Si tratta dell’esecuzione del lavoro Multi-Tasking. La cultura che induce a iniziare il lavoro prima possibile e a impostare come durata un valore pessimistico (stima probabile + margine) conduce sovente al lavoro frammentato su più attività o progetti.

Le risorse potrebbero pensare di far progredire più attività nello stesso periodo passando da una all’altra. Del resto, la pressione che sulle risorse possono fare i PM, preoccupati unicamente dei loro progetti, può indurre una risorsa a modificare la priorità delle sue attività per non scontentare nessuno. Tuttavia, questo passare da un’attività incompiuta all’altra conduce allo smarrimento del margine per la gestione del rischio e a protrarre il completamento delle varie attività. Immaginiamo, ad esempio, di dover terminare tre progetti. Come si può vedere osservando il Caso1 di figura 2, ciascun progetto ha una sola attività di due settimane e una programmazione che prevede il completamento di ogni attività prima di passare alla successiva. Se frammentassimo il lavoro di ogni progetto in due parti, come rappresentato nel Caso2, otterremmo il completamento di ogni attività in 4 settimane, in un periodo che è sostanzialmente il doppio. La figura 2 rappresenta appunto questa estensione del tempo richiesto (lead-time), senza però tener conto del tempo di set-up che occorre quando si passa da un’attività all’altra. In definitiva, in una situazione simile, ogni attività rischia di terminare più tardi e rimane aperto l’interrogativo su dove posa finire il margine di sicurezza collocato originariamente.

Figura 2. Effetto del “Multi-Tasking”

Effetto del "Multi-Tasking"

Schedulazione ALAP

La metodologia Critical Chain propone di programmare dalla data di fine definita per il progetto. Il piano viene dunque sviluppato all’indietro, ottenendo la data di inizio delle attività e del progetto “al più tardi possibile” (As Late As Possible, ALAP). Tale metodo differenzia la pianificazione Critical Chain da ciò che spesso accade nella programmazione tradizionale, ossia partire da una data di inizio per ottenere, impostando la partenza delle attività “al più presto possibile”, la data di fine del progetto. Questo approccio conferisce degli indubbi vantaggi come:

  • Trovarsi all’inizio del progetto solo le attività che è indispensabile iniziare
  • Ridurre il work in progress (WIP), quindi posticipare o ridurre i costi
  • Diminuire le ri-lavorazioni. Questo vantaggio è ottenuto consentendo alle scarse conoscenze di inizio progetto di crescere fino al momento in cui è indispensabile avviare i lavori.

Tuttavia, se valutassimo la questione in termini di percorso critico tradizionale, potremmo obiettare che la programmazione ALAP ha lo svantaggio di rendere critiche anche le attività che potrebbero non esserlo. Vedremo come Goldratt risponda a questo problema con l’ingegnoso sistema dei buffer.

Risoluzione dei conflitti

Quando si programma un progetto con il tradizionale “Critical Path Method”, il percorso critico può essere considerato prima ancora di aver livellato le risorse, ossia con la sola considerazione dei legami logici tra le varie attività (impostazione a risorse infinite). Nel metodo proposto da Goldratt, la sequenza o catena (Chain) più lunga di un progetto, quella appunto critica, può essere individuata aggiungendo all’analisi dei legami logici fra attività quella sulle dipendenze fra risorse. Anche quest’ultime sono unite tra loro da dei vincoli di dipendenza e, a partire dalla data di fine del progetto, occorre valutarli per risolvere eventuali sovraccarichi. Del resto, anche un ritardo per indisponibilità di risorse può compromettere la puntualità di un progetto. Potremmo quindi affermare che il livellamento non è solo una procedura per rendere realizzabili le attività pianificate, ma un operazione che disegna il piano e la catena critica. Osservando la figura 4, si può notare come il livellamento della risorsa “A” abbia ridisegnato il percorso delle attività critiche.

Figura 4. Livellamento

Livellamento