È possibile un Gantt probabilistico?

Ovvero: come il Risk Management può farci tornare con i piedi per terra nella pianificazione del nostro progetto!

 

 

Sul diagramma di Gantt si potrebbero scrivere migliaia di pagine. Già a partire dal nome che vogliamo affibiargli: cronoprogramma, diagramma a barre, Bar chart, Schedule diagram, programma temporale.

Chi non ha mai visto un Gantt e chi non sa che il suo nome viene dal cognome dell’inventore, Henry Gantt, ingegnere americano che visse a cavallo del XIX e XX secolo?

Henry Gantt ha inventato il suo grafico senza identificare i legami fra le attività, ovvero i i loro condizionamenti reciproci, semplicemente perché il Project Network e il Critical Path Method (CPM) dovevano ancora essere inventati (...e si sarebbero dovuti attendere ancora una trentina d’anni).

Visto che il diagramma di Gantt dell’era moderna è frutto dei risultati del CPM applicato al  reticolo di progetto con una stima deterministica della durata delle attività, allora, chi crede come me all’indeterminatezza delle stime, non può non essere d’accordo che il diagramma di Gantt mostra dati fallaci e poco affidabili. Chi si sente di scommettere sulla data di completamento di un progetto indicata dal diagramma di Gantt?

Ora, consideriamo di permettere ai nostri referenti del team di progetto di stimare le durate delle attività con una stima non deterministica. Senza scomodare complesse distribuzioni di probabilità, chiediamogli di darci un range minimo – massimo di giorni (distribuzione uniforme) per l’attività di sua competenza. Questi referenti saranno più contenti? Sicuramente sì! Raramente ai nostri interlocutori va di sbilanciarsi su una durata, e per questo tenderanno a stimare la durata in abbondanza, ovvero mantenendosi un margine di sicurezza. Ora, allargando la regola a tutto il progetto, supponiamo di avere ottenuto due durate una minima e una massima per ciascuna attività del nostro reticolo.

Domanda: è possibile applicare il CPM anche in questo caso? Sì, potremmo applicarlo due volte, una usando le durate minime e una usando le durate massime. Ma il risultato in entrambi i casi sarebbe scadente: per esempio avremmo una data di completamento del progetto minima, ovvero ottimistica, e una data massima, ovvero pessimistica. Entrambe le date sarebbero estremamente improbabili! Potremmo pensare di eseguire il CPM con le durate medie fra il valore minimo e il valore massimo, ma quanto sarebbe utile?

Potremmo invece usare una simulazione Monte Carlo, che partendo dalla valorizzazione probabilistica delle durate, riesce, tramite un numero molto grande di iterazioni, a fornirci un risultato probabilistico, molto più aderente con la realtà.

La simulazione Monte Carlo usa il CPM per ciascuna delle iterazioni, usando un valore randomico della durata di ciascuna attività compreso nel range fornito. I dati risultanti per ogni iterazione vengono registrati, per poi essere adeguatamente aggregati per frequenza su una tabella. Saranno raccolte le date di inizio e di fine di ciascuna attività, al più presto e al più tardi, i loro margini (Totale Free Float). Per ogni iterazione ci sarà una data di fine progetto. I dati raccolti per frequenza vengono poi cumulati in modo da disegnare il cosiddetto profilo (tipicamente a forma di S) probabilistico dell’incertezza del progetto in termini di durata e di date di completamento per ogni attività, per ogni fase e per l’intero progetto. Le curve cumulate vengono rappresentate su un piano cartesiano con i percentili sulle ordinate e il valore analizzato sulle ascisse. Per esempio, se il profilo si riferisce alla data di completamento del progetto, il punto della curva al percentile 50 (P50) rappresenta la data entro la quale, con il 50% di probabilità, finirà il progetto. In altre parole il risultato ci informa che il progetto ha il 50% di probabilità di terminare in quella data o in date precedenti. Lo stesso riusciamo a sapere per ciascuna attività, riuscendo quindi a conoscere le date d’inizio e di fine di ciascuna attività che hanno il 50% di probabilità di poter essere soddisfatte, ovvero di iniziare o finire entro la data riportata.

La teoria riporta che per avere un livello di “confidenza” accettabile, intesa in termini pratici come protezione accettabile è bene leggere questi dati al percentile 80 (P80).

A questo punto, avendo sia i dati deterministici, sia quelli relativi ai risultati della Monte Carlo sui due percentili P50 e P80, abbiamo la possibilità di disegnare un Gantt che mostra per ciascuna attività il posizionamento temporale nella situazione deterministica (quella classica del CPM “normale”), in quella probabilistica al P50 e quella al P80.

Concentrandoci sulla sola data di completamento del progetto, possiamo avere il suo valore deterministico e lo confrontiamo con il suo valore al P50 e a quello del P80.

Se la data di completamento deterministica è molto più bassa del valore al P50, il messaggio è chiaro: siamo nei guai, a meno che non interveniamo pesantemente sulla schedulazione oppure riusciamo a rinegoziare con il cliente la data di fine in modo da cercare di portarla più prossima possibile al P80, o almeno fra la P50 e la P80.

Se tale valore è superiore al P80 (purtroppo capita raramente…) siamo super tranquilli, perché abbiamo esagerato nella stime delle durate delle attività.

Se siamo fra il P50 e il P80, potremmo tentare qualche ritocco per spostare l’asticella verso il P80… ma molti si accontentano già così.

Quindi? Che ne pensate di un Gantt che riporta sia la situazione P50 che P80, accanto alla situazione deterministica?

Complicato? No! A patto di avere un sistema che permette di eseguire una simulazione Monte Carlo per attivare una Schedule Risk Analysis a partire dal reticolo di progetto e una reportistica di livello, come quella mostrata nelle due figure appaiate: il Gantt deterministico e il Gantt probabilistico con evidenziazione delle date P50 e P80, o qualsiasi altro percentile in base alla nostra percezione di “tranquillità”! Esiste un applicativo del genere?

Sì, si chiama Safran Risk e fa molte altre cose utili a farci dimenticare il nostro vecchio caro Project Management deterministico