Il metodo del percorso critico (in inglese critical path method, CPM) è un algoritmo per la pianificazione delle attività di un progetto: dato un insieme di attività, le rispettive durate e le loro dipendenze logiche, individua la sequenza di attività dipendenti la cui durata complessiva è massima e che pertanto determina la durata minima del progetto stesso. È uno strumento largamente utilizzato nell'ambito del project management e della ricerca operativa.
Il CPM è una tecnica di modellazione di progetto sviluppata alla fine degli anni cinquanta da Morgan R. Walker della DuPont e James E. Kelley Jr. della Remington Rand; il periodo di sviluppo si estese per circa 27 mesi, dal dicembre 1956 al febbraio 1959. Un primo prototipo del metodo fu sperimentato nel 1957 su fermate d'impianto (manutenzione degli impianti chimici) della DuPont, e la prima presentazione pubblica avvenne con il paper Critical-Path Planning and Scheduling alla Eastern Joint Computer Conference del 1959. Le basi matematiche del metodo furono poi formalizzate da Kelley in un articolo pubblicato nel 1961 sulla rivista scientifica Operations Research.
Secondo la ricostruzione dei suoi ideatori, Kelley, che lavorava al centro di ricerca applicata della Remington Rand Univac, formulò il problema come modello di programmazione lineare all'inizio del 1957, e nel maggio dello stesso anno la DuPont e la Remington Rand avviarono un progetto comune. Una prima prova, condotta nel settembre 1957 su un progetto di costruzione per lo stabilimento Fisher della DuPont, mostrò che era possibile ridurre i tempi di quasi un mese con un modesto aumento dei costi diretti; seguirono la prima applicazione reale, sugli impianti per idrogeno e ammoniaca dello stabilimento di Repauno, con una rete di 846 frecce, e l'impiego nelle fermate di manutenzione degli impianti di Louisville, dove la riduzione di circa il 25% dei tempi di fermo ripagò già nel primo anno i costi di sviluppo del metodo. La DuPont adottò comunque il CPM come prassi standard soltanto nel 1968. Alcune fonti attribuiscono invece lo sviluppo del metodo, nel 1957, alla Catalytic Construction Company, per la manutenzione degli impianti della DuPont.
Il CPM fu sviluppato in parallelo, e in modo indipendente, rispetto al Program Evaluation and Review Technique (PERT), messo a punto negli stessi anni dalla società di consulenza Booz Allen Hamilton e dalla US Navy per il programma missilistico Polaris. Precursori delle tecniche poi confluite nel CPM erano peraltro già stati impiegati dalla DuPont tra il 1940 e il 1943, contribuendo al successo del Progetto Manhattan.
Il CPM è utilizzato in un'ampia varietà di settori, tra cui l'edilizia, l'industria aerospaziale e della difesa, lo sviluppo software, la ricerca e sviluppo, la progettazione e la manutenzione degli impianti; il termine viene oggi applicato in senso lato a qualsiasi tecnica di analisi di una rete logica di progetto.
La tecnica fondamentale del CPM consiste nel costruire un modello del progetto che comprenda:
Il metodo presuppone che le durate delle attività possano essere stimate con precisione sufficiente da poter essere considerate deterministiche e, nella formulazione di base, che le risorse non costituiscano un vincolo. Le attività e le loro dipendenze sono rappresentate con un diagramma reticolare: nella formulazione originaria le attività erano rappresentate dagli archi (activity on arrow), mentre oggi si usa in genere la rappresentazione con le attività sui nodi (activity on node) del metodo dei diagrammi a precedenze (vedi programmazione reticolare).
A partire da questi dati il CPM calcola, per ogni attività, le date di inizio e fine "al più presto" (early start ed early finish) e "al più tardi" (late start e late finish) compatibili con la durata complessiva del progetto, individuando così il percorso più lungo attraverso la rete di attività. Il percorso critico è la sequenza di attività dipendenti la cui somma delle durate è massima, e determina il minimo tempo possibile di completamento del progetto; qualsiasi ritardo di un'attività appartenente al percorso critico si traduce in un pari ritardo della data di fine. Le attività non appartenenti al percorso critico dispongono invece di un margine di scorrimento (float o slack) e possono essere ritardate, entro certi limiti, senza allungare il progetto. Si distingue tra lo scorrimento totale, cioè il ritardo massimo di un'attività che non sposta la data di fine del progetto, e lo scorrimento libero, cioè il ritardo massimo che non sposta l'inizio delle attività successive; le date al più presto si calcolano con una passata in avanti sulla rete, a partire dall'inizio del progetto, e quelle al più tardi con una passata all'indietro, a partire dalla fine.
Dal punto di vista matematico il percorso critico è il cammino di lunghezza massima in un grafo orientato aciclico i cui archi o nodi sono pesati con le durate delle attività, e può essere determinato sia con un algoritmo che esamina le attività secondo un ordinamento topologico, sia formulando il problema come modello di programmazione lineare.
Un progetto può avere più percorsi critici in parallelo; i percorsi che presentano una durata inferiore a quella del percorso critico sono detti sub-critici o non critici. I risultati del calcolo consentono al project manager di individuare le priorità di intervento e di ridurre eventualmente la durata prevista attraverso tecniche di compressione dello schedule, come il fast tracking (esecuzione in parallelo di attività originariamente sequenziali) e il crashing del percorso critico (riduzione della durata delle attività critiche tramite l'aggiunta di risorse). Già nella formulazione originaria il CPM comprendeva l'analisi del compromesso tra tempi e costi: il progetto era modellato come un problema di programmazione lineare parametrica, che forniva una serie di programmi a costo diretto minimo per durate via via più brevi, poiché secondo i suoi ideatori non esiste un programma oggettivamente migliore degli altri. Il CPM è particolarmente diffuso nelle imprese di costruzione, per opere come strade, ponti, gallerie e grandi infrastrutture.
Nella formulazione originaria il CPM considerava soltanto le dipendenze logiche tra gli elementi terminali del progetto. Successivamente il metodo è stato esteso per tenere conto delle risorse assegnate a ciascuna attività, attraverso i processi di assegnazione e di livellamento delle risorse; il livellamento può introdurre ritardi legati alla scarsa disponibilità di risorse e modificare l'insieme delle attività critiche, portando eventualmente all'emergere di un nuovo percorso critico governato dalle "risorse critiche". Un concetto correlato è quello della catena critica (Critical Chain Project Management), introdotto da Eliyahu M. Goldratt, che tiene conto esplicitamente dei vincoli di risorse e introduce buffer di protezione contro i ritardi imprevisti.
Poiché la pianificazione di un progetto cambia con l'avanzamento dei lavori, il CPM permette il monitoraggio continuo dello schedule: consente di rilevare quando un'attività non critica rischia di superare il proprio float complessivo, dando così origine a un nuovo percorso critico e ritardando la data di completamento. Il metodo può inoltre essere combinato con approcci probabilistici, incorporando previsioni di durata di tipo stocastico mediante il Program Evaluation and Review Technique.
Molti software commerciali di project management implementano il CPM in una variante di calcolo manuale sviluppata da John W. Fondahl presso il dipartimento di ingegneria civile della Stanford University nel 1961, in un rapporto tecnico intitolato A Non-computer Approach to the Critical Path Method for the Construction Industry, che introduce il precedence diagramming method (PDM) con notazione activity-on-node.
Uno schedule generato con il CPM si basa su stime di durata e, in caso di errori di stima o di eventi imprevisti, i risultati dell'analisi possono cambiare in modo significativo, con effetti a sorpresa sulla riuscita del progetto se le stime vengono assunte come esatte e gli scostamenti non sono gestiti tempestivamente. La struttura del metodo consente comunque di misurare l'impatto di ogni variazione rispetto allo schedule di partenza e di rideterminare il percorso critico in modo iterativo, rendendo il CPM adatto anche al controllo di progetto durante l'esecuzione.
| Controllo di autorità | Thesaurus BNCF 58334 · LCCN (EN) sh85034138 · J9U (EN, HE) 987007533519505171 · NDL (EN, JA) 00576449 |
|---|