Un progetto con 50-300 attività, durate date e precedenze. Quale catena è la più lunga (percorso critico, fissa il progetto)? Quali attività possono scivolare senza ritardare il progetto (slack)? Con durate incerte, qual è la probabilità di concludere entro la data obiettivo? CPM (Kelley-Walker 1959) dà la risposta deterministica; PERT (Malcolm-Roseboom-Clark-Fazar 1959) quella probabilistica — il motore dentro ogni strumento di project management.
In breve
Ti suona familiare?
- Gestiamo progetti di costruzione da 50-300 attività (residenziale, centro commerciale, autostrada, piccola fabbrica); il pianificatore disegna un Gantt e dice 'il progetto dura 18 mesi', ma quale catena sia critica e quali attività abbiano tolleranza di slack non è numerico — è intuito.
- Il bando recita 'CPM/PERT obbligatorio' e consegniamo un Gantt; ma non riportiamo inizio anticipato, inizio tardivo, slack totale, slack libero per ogni attività — consegniamo solo una durata complessiva.
- Un'attività è scivolata; il progetto slitterà di una settimana o no? Non sappiamo se è sul percorso critico; il pianificatore dice 'calcolo e ti dico' e torna 2 ore dopo.
- Un fornitore ha segnalato 3 settimane di ritardo su una voce; che impatto sulla data finale, quali attività a valle scivolano, quale piano B? Non lo vediamo numericamente.
- In un appalto pubblico la penale giornaliera è 0,5-1,0 % del contratto; dobbiamo gestirla numericamente, ma l'analisi probabilistica (PERT) non si fa — consegniamo un 'piano ottimistico' e va in ritardo.
- Nel montaggio di un impianto industriale (fabbrica, centrale, unità di raffineria) ci sono 200+ attività, squadre parallele, il percorso critico corre su più catene — il monitoraggio manuale non basta.
- Un progetto di investimento software o IT aziendale (migrazione ERP, trasloco data center) ha 80-150 attività; le durate sono stimate ottimisticamente, il rischio di mancare la data obiettivo non è numerico — il consiglio vede un rapporto intuitivo 'siamo in piano'.
Perché è importante
Come si risolve
Profondità tecnica
Come si risolve
Profondità tecnicaIn una frase: Inserisci la lista delle attività + relazioni di precedenza, esegui una passata in avanti per calcolare la fine più presto di ogni attività e una passata all’indietro per la fine più tardi; le attività con slack zero formano il percorso critico — per accorciare il progetto bisogna investire solo nelle attività di quel percorso.
Nella letteratura di Ricerca Operativa (disciplina che usa matematica e informatica per risolvere decisioni di business) il problema è studiato come due tecniche classiche accoppiate: Metodo del Percorso Critico (CPM) e Tecnica di Valutazione e Revisione del Programma (PERT). CPM è stato sviluppato nel 1959 per la pianificazione manutentiva di un impianto chimico; PERT lo stesso anno per un programma missilistico; insieme sono diventati la spina dorsale del project management moderno. CPM è senza vincoli di risorse — solo durate + precedenze; PERT lo rende probabilistico. #007 RCPSP aggiunge vincoli di risorse; #066 Stochastic RCPSP produce una politica sotto incertezza. CPM/PERT è la base — il motore centrale sotto ogni strumento di project management. Tre fasi:
1. Modellazione. Dati di input: (a) Elenco delle attività — 50-300 attività (es. blocco residenziale: scavo, fondazione, pilastri, solai, copertura, facciata, MEP — meccanica/elettrica/idraulica, finiture, area esterna). Per ogni attività: nome, durata deterministica (CPM) o stima a tre tempi a-m-b (PERT), risorse necessarie (squadra, macchina — sotto CPM informative, non vincolanti). (b) Relazioni di precedenza — classico ‘fine-inizio’, esteso ‘inizio-inizio’, ‘fine-fine’, ‘inizio-fine’ con sfasamenti; modellate come grafo diretto aciclico (DAG). (c) Rappresentazione del grafo — due standard: activity-on-arrow (AoA) e activity-on-node (AoN); il software moderno usa AoN. (d) Stime probabilistiche (PERT) — per attività ottimistica a, più probabile m, pessimistica b; approssimazione beta: durata attesa (a + 4m + b) / 6, varianza ((b - a) / 6) al quadrato. (e) Dati trade-off tempo-costo (crashing) — per attività coppia durata normale/costo normale e durata accelerata/costo accelerato.
2. Metodo di soluzione. (a) Passaggio in avanti CPM — dall’inizio del progetto (Inizio Anticipato = 0), in ordine topologico, calcolare per ogni attività ES e EF: ES = massimo EF sui predecessori; EF = ES + durata. Alla fine, completamento del progetto = EF dell’ultima attività = durata del progetto. (b) Passaggio indietro CPM — dalla fine del progetto (Fine Tardiva = durata del progetto), in ordine inverso, calcolare LF e LS: LF = minimo LS sui successori; LS = LF - durata. (c) Calcolo slack — per ogni attività slack totale TS = LS - ES = LF - EF (ritardo ammesso senza slittare il progetto), slack libero FS = min ES sui successori meno EF di questa attività. Attività critica: TS = 0. Percorso critico: catena di attività critiche dall’inizio alla fine (possibili più percorsi). L’algoritmo è polinomiale sul grafo — O(n + m), in secondi. (d) Analisi PERT — durata attesa (a + 4m + b) / 6 per attività, passaggio CPM avanti/indietro su durate attese; varianza del percorso critico = somma delle varianze delle sue attività; per il TCL il tempo di completamento è approssimativamente normale; probabilità di concludere entro la data obiettivo = Phi((obiettivo - atteso) / deviazione). Attenzione: in progetti con molti percorsi paralleli quasi critici la formula analitica sottostima la vera varianza, si preferisce simulazione Monte Carlo (campionare ogni durata N volte, eseguire CPM, P10/P50/P90 dalla distribuzione). (e) Trade-off tempo-costo (crashing) — accelerare le attività del percorso critico; formulazione LP di Kelley-Walker (1959). (f) Catena critica (CCPM, Goldratt 1997) — corregge la debolezza di CPM rispetto ai conflitti di risorse; ricalcola il percorso critico sotto risorse, inserisce un buffer di progetto e buffer di alimentazione. Ponte verso RCPSP (#007).
3. Integrazione di campo. Output a quattro livelli: (a) Tabella delle attività — ES, EF, LS, LF, TS, FS per attività; attività critiche (TS = 0) e percorso/i critico/i evidenziati. Con PERT: durata attesa e deviazione per attività; a livello di progetto P10/P50/P90. (b) Diagramma di Gantt — attività sull’asse del tempo, percorso critico colorato, barre di slack visibili. (c) Rapporto di propagazione a valle — se l’attività X scivola di d giorni, l’impatto sul progetto e quali successori si spostano. (d) Tabella di crashing — per candidata, costo per giorno accorciato e riduzione massima per budget. Flusso end-to-end: il software di project management esegue il motore CPM/PERT, ERP e date dei fornitori lo alimentano, output a schermo del pianificatore + app mobile di cantiere; alla notifica di ritardo il ricalcolo è in 5-15 secondi, nuovo percorso critico e rapporto di impatto automatici. Comitato di progetto trimestrale: il percorso critico è cambiato, tasso di consumo slack, trend del rispetto della data obiettivo.
Alternative
Manuale + pianificatore + foglio di calcolo
GratuitoZero licenza
Per chi: Progetto piccolo (30-80 attività), singolo progetto, pianificatore esperto
- + Costo software zero
- + Esperienza del pianificatore in primo piano
- + Flessibile — modifiche in cantiere rapide
- + Bassa formazione
- − Passaggi avanti/indietro manuali su 100+ attività producono errori
- − Analisi slack su foglio fragile — percorso critico può essere segnato male
- − PERT a mano impraticabile
- − Catena di propagazione non visualizzata
- − Una richiesta d'audit di 'rapporto CPM' non si gestisce facilmente
Software locale di project management
Aziendale50K-300K TRY licenza + 20K-80K TRY/anno manutenzione (osservazione mercato TR)
Per chi: Progetto medio (80-200 attività), 3-10 progetti in parallelo, team stabile
- + Interfaccia e supporto in lingua locale
- + Fatturazione progressiva + costi integrati
- + Motore CPM classico spesso presente
- − Modulo PERT probabilistico assente o superficiale
- − Modulo LP di crashing assente
- − Supporto dell'approccio catena critica (percorso critico con vincolo di risorse + posizionamento dei buffer) debole
- − Monte Carlo limitato
Software internazionale di project management
Aziendale150K-800K TRY/licenza/anno o 1-5M TRY corporate
Per chi: Grande impresa (progetti complessi 200+ attività), opere pubbliche + impianti industriali
- + Motore CPM maturo, passaggio + slack standard
- + PERT + Monte Carlo
- + Modulo catena critica (percorso critico sotto vincoli di risorse + buffer di progetto + buffer di alimentazione)
- + Modulo di crashing (LP tempo-costo)
- + Integrazione Earned Value Management
- + Visione multi-progetto del percorso critico
- − Licenza alta + rollout lungo (3-6 mesi)
- − Supporto in lingua locale limitato, curva ripida
- − Personalizzazione ai bandi locali allunga il progetto
Solver open-source + modulo CPM/PERT su misura
Open SourceLicenza gratuita; sviluppo interno 8-16 settimane o 250K-800K TRY consulenza
Per chi: Impresa con team tecnico, integrazione ERP, tipo di progetto ripetitivo
- + Nessuna licenza
- + Algoritmo CPM forward/backward facile con solver open-source
- + Monte Carlo PERT con librerie statistiche open-source
- + Completamente personalizzabile
- − Specialista OR + esperienza PM interni necessari
- − Carico di sviluppo UI
- − Prototipo accademico → sistema di campo 6-12 mesi
- − Manutenzione interna
Raccomandazione
Chiedi nell'incontro
- Il motore CPM applica passaggio avanti/indietro + calcolo slack classico, o solo visualizzazione Gantt? Mostri in demo i passi dell'algoritmo su un esempio da 200 attività.
- Supporta analisi probabilistica PERT — stima a tre tempi (a-m-b), approssimazione beta, distribuzione P10/P50/P90 del completamento? Lo dimostri su un progetto campione.
- Supporta simulazione Monte Carlo — numero di scenari, tipi di distribuzione (beta, triangolare, normale, lognormale), criticality index calcolato?
- Slack totale e slack libero sono riportati separatamente per attività? La matrice di propagazione è output numerico?
- C'è un modulo di crashing (trade-off tempo-costo) — costo per giorno accorciato, riduzione massima per budget; risolto con una formulazione di programmazione lineare sistematica o con un'euristica?
- L'approccio catena critica è supportato — ricalcolo del percorso critico sotto vincoli di risorse, buffer di progetto e di alimentazione?
- Quando un fornitore o il cantiere segnala uno slittamento, quanto tempo impiega il sistema a ricalcolare e presentare il nuovo percorso critico + effetto di propagazione al centro operativo? Integrazione bidirezionale con ERP/MES?
- Al termine del contratto, in quale formato standard (XER, MPP, CSV, XML, JSON) possiamo esportare l'elenco delle attività, le precedenze, lo storico CPM/PERT, le matrici di propagazione e le decisioni di crashing?
Dettagli tecnici
Nota del curatore
Nel linguaggio comune questo problema si chiama “programma dei lavori”, “piano Gantt” o “calendario di progetto”. Nella letteratura accademica porta due nomi fondativi accoppiati: la decisione deterministica è il Metodo del Percorso Critico (CPM), l’estensione probabilistica è la Tecnica di Valutazione e Revisione del Programma (PERT). CPM è stato sviluppato da Kelley e Walker (1959) per la manutenzione di un impianto chimico DuPont; PERT da Malcolm, Roseboom, Clark e Fazar (1959) per il programma Polaris della Marina degli Stati Uniti — stesso anno, data di nascita del project management moderno.
Distinzione rispetto a #007 RCPSP e #066 Stochastic RCPSP: CPM (#098) è senza vincoli di risorse — solo durate + precedenze, percorso critico = percorso più lungo; l’algoritmo è polinomiale (secondi). RCPSP (#007) aggiunge vincoli di risorse — alcune attività condividono squadra/macchina/gru e non si sovrappongono; problema NP-hard, servono MIP/CP/metaeuristiche. Stochastic RCPSP (#066) sotto incertezza produce una politica invece di un piano. CPM è la pietra angolare; gli altri due sono costruiti sopra. In una demo di un fornitore, ‘supportiamo CPM’ non basta — il motore funziona anche sotto vincoli di risorse (RCPSP) e produce una politica sotto incertezza (Stochastic RCPSP) sono domande distinte.
Il punto più trascurato nel settore: distinzione inizio anticipato vs inizio tardivo + slack libero vs slack totale. Nella prassi quotidiana si discutono solo ’lunghezza del percorso critico’ e ‘data di fine progetto’, ma ogni attività ha quattro numeri: inizio anticipato (ES), inizio tardivo (LS), slack totale (TS = LS - ES), slack libero (FS = minimo ES dei successori - EF di questa attività). Senza riportare i quattro per attività, la gestione del rischio è superficiale — un’attività scivola: con TS = 5 giorni il progetto è intatto, con FS = 0 la squadra successiva resta inattiva. Secondo punto trascurato: la formula analitica PERT sottostima la varianza reale. La formula PERT classica somma le attività di un percorso critico fisso; nei progetti reali esistono percorsi paralleli quasi critici e uno può diventare critico nell’esecuzione — il ‘percorso critico’ è una proprietà probabilistica. Simulazione Monte Carlo (campionare ogni attività N volte, eseguire CPM, criticality index = frequenza sul percorso critico) lo risolve. Terzo punto trascurato: le decisioni di crashing dipendono dal percorso critico. Accorciare un’attività (turno extra, più personale) riduce il progetto solo se sta sul percorso critico; accorciare una non critica è denaro sprecato. Decisioni di crashing senza motore CPM allocano male il 30-50 % del budget di accelerazione.
Percorso passo-passo per una PMI
Fase 1 — Prima misurare, poi pianificare. Almeno 2-3 progetti simili chiusi: per ogni attività durata pianificata vs reale (per la stima PERT a tre tempi — ottimistica-reale, più probabile-reale, pessimistica-reale), causa del ritardo (meteo, fornitore, autorizzazione, carenza di squadra, cambio di scope), quali attività sono risultate critiche (nell’esecuzione), quali libere. Senza questo capitale di conoscenza, le stime PERT restano intuitive.
Fase 2 — Elenco attività e mappa delle precedenze. Un blocco residenziale tipico ha 80-150 attività, un centro commerciale 150-300, un’autostrada 300-500, un impianto industriale 200-400, una migrazione ERP 80-150, un trasloco data center 50-100. Per attività: nome, stima deterministica (CPM) o a tre tempi a-m-b (PERT), risorse necessarie (informative), lista predecessori. Rivedere la mappa: alcuni legami sono ‘reali’ (niente cassero di solaio senza getto dei pilastri), altri ‘di risorsa’ (stessa squadra su due attività) — i legami di risorsa si modellano in RCPSP (#007), non in CPM.
Fase 3 — Pilota. 8-12 settimane. Un progetto medio (80-200 attività): CPM avanti/indietro + analisi slack + Monte Carlo PERT (1.000 scenari); in parallelo al piano intuitivo esistente. Criterio di successo per iscritto prima: il percorso critico è cambiato, tasso di consumo slack per attività, errore sulla data obiettivo (PERT P50 vs reale), accuratezza del criticality index? Durante il pilota documentare come il rapporto CPM/PERT abbia cambiato la decisione del pianificatore.
Fase 4 — Roll-out. In 6-12 mesi CPM diventa standard su tutti i progetti attivi; PERT obbligatorio su progetti ad alta penale (opere pubbliche, impianti industriali), opzionale altrove. Il modulo di crashing si attiva in gara o quando un’attività critica dà segnale di rischio. Comitato trimestrale: rapporto di cambiamento del percorso critico, trend di consumo slack, confronto PERT P50/P90 vs reale, confronto criticality index vs criticità reale.
Rischi — cosa può andare storto
Bias nella stima della durata. In pratica le durate sono stimate ottimisticamente (pressione di gara, ottimismo del pianificatore); la formula PERT pondera ‘più probabile’, ma se quest’ultima è collocata ottimisticamente il risultato è distorto. Soluzione: diversificare le fonti (pianificatore + capocantiere + fornitore separati), tenere onesta la coda ‘pessimistica’.
Precedenze mancanti. Alcune dipendenze non sono nei documenti ma esistono in cantiere (es. approvazione di collaudo — precedenza legale; stagione delle piogge — precedenza di calendario). Precedenze assenti rendono fuorviante l’output CPM. Soluzione: rivedere la mappa con capocantiere + autorità di collaudo + fornitore primario; modellare le dipendenze di calendario a parte.
Latenza di aggiornamento in tempo reale. Se lo stato del cantiere (attività chiusa, % di avanzamento) arriva tardi al sistema, il motore CPM gira su dati vecchi — il percorso critico sembra stabile, ma è cambiato. Soluzione: report giornaliero obbligatorio via app mobile, ricalcolo automatico in 5-15 secondi, rapporto d’impatto al centro operativo + squadra interessata.
Lock-in sul fornitore di software di progetto. Senza clausola contrattuale di ’export annuale in formati standard (XER, MPP, CSV, XML, JSON) di elenco attività, precedenze, storico CPM/PERT, slack e criticality index, decisioni di crashing’, uscire dal sistema significa perdere la memoria di project management. Il contratto deve dichiarare la libreria attività + i template di precedenza + le analisi CPM/PERT storiche esportabili in formato aperto.
Metodo di soluzione — vista tecnica
| Approccio | Scala tipica | Tempo di soluzione | Ottimo garantito? |
|---|---|---|---|
| Manuale + foglio CPM | Piccolo, 30-80 attività | minuti (manuale) | In principio sì; in pratica soggetto a errori |
| Motore CPM classico | Medio-grande, 50-500 attività | secondi | Sì (senza risorse) |
| PERT analitico (beta + TCL) | 50-300 attività, incertezza | secondi | Approssimato (deriva su percorsi paralleli) |
| Monte Carlo PERT | 100-500 attività, più percorsi paralleli | minuti-ore | Probabilistico, preciso |
| LP di crashing (tempo-costo) | Crashing sul percorso critico | secondi-minuti | Sì (LP polinomiale) |
| Catena critica (Goldratt 1997) | Conflitti di risorse, medio | minuti | Euristico, sensibile al posizionamento dei buffer |
| MIP RCPSP (con risorse, #007) | 30-100 attività + risorse | minuti-ore | Sì (entro bound) |
Scelta della funzione obiettivo:
- Obiettivo 1 — Minimizzare la durata (makespan): CPM classico — lunghezza del percorso critico.
- Obiettivo 2 — Minimizzare la penale attesa: PERT + Monte Carlo + funzione di penale.
- Obiettivo 3 — Minimizzare il costo totale del progetto: crashing incluso.
- Obiettivo 4 — Massimizzare la probabilità di rispettare la data obiettivo: PERT P50/P90 + crashing.
Varianti CPM/PERT:
- CPM classico (Kelley-Walker 1959): Durate deterministe, senza risorse.
- PERT (Malcolm-Roseboom-Clark-Fazar 1959): Tre tempi, beta, probabilità di completamento.
- PERT Monte Carlo: Supera il limite analitico, criticality index.
- Catena critica (CCPM, Goldratt 1997): Risorse + buffer; ponte verso RCPSP.
- Trade-off tempo-costo (LP Kelley-Walker): Crashing.
- CPM con risorse (RCPSP, #007): Ricalcolo del percorso critico sotto risorse.
Riferimenti accademici
Elencati nel frontmatter sotto sources. Kelley-Walker (1959) e Malcolm-Roseboom-Clark-Fazar (1959) fondativi; Goldratt (1997) estensione catena critica; Hillier-Lieberman (2014) capitolo OR; Kerzner (2017) riferimento industriale. Operations Research, Management Science e il Project Management Journal pubblicano la ricerca corrente; INFORMS Interfaces e le pubblicazioni PMI portano casi sul campo.
Fonti
- Kelley Jr., J. E. e Walker, M. R. (1959). Critical-path planning and scheduling. Proceedings of the Eastern Joint Computer Conference, 160-173. Articolo fondativo di CPM — per la manutenzione di un impianto chimico DuPont.
- Malcolm, D. G., Roseboom, J. H., Clark, C. E. e Fazar, W. (1959). Application of a technique for research and development program evaluation. Operations Research, 7(5), 646-669. Articolo fondativo di PERT — per il programma Polaris della Marina degli Stati Uniti.
- Goldratt, E. M. (1997). Critical Chain. North River Press. Estensione Critical Chain Project Management basata su buffer.
- Kerzner, H. (2017). Project Management: A Systems Approach to Planning, Scheduling, and Controlling (12.ª ed.). Wiley. Riferimento industriale PM, capitolo CPM/PERT.
- Hillier, F. S. e Lieberman, G. J. (2014). Introduction to Operations Research (10.ª ed.). McGraw-Hill. Capitolo CPM.
- YÖK Tez Merkezi — parola chiave: ‘kritik yol’ o ‘CPM’ o ‘PERT’ o ‘proje çizelgeleme’ — 30+ tesi dall’accademia TR. tez.yok.gov.tr
Glossario
- Metodo del Percorso Critico
- Tecnica fondamentale deterministica delle reti di progetto: dato un insieme di attività con durate fissate e precedenze, calcola gli istanti di inizio/fine più anticipati e più tardivi e individua la catena più lunga che determina la durata del progetto.
- Tecnica di Valutazione e Revisione del Programma
- Estensione probabilistica del CPM sviluppata nel 1958 per il programma Polaris della Marina degli Stati Uniti: la durata di ogni attività è una variabile aleatoria da stime ottimistica, più probabile e pessimistica; produce una distribuzione attesa del completamento del progetto.
- Percorso Critico
- La catena più lunga di attività dipendenti dall'inizio alla fine del progetto — la catena che fissa la data di consegna.
- RCPSP
- Sequenziare centinaia di attività di progetto, stimare durate e assegnare squadre sotto vincoli di precedenza e risorse.