“I never guess. It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.”
Sir Arthur Conan Doyle, Author of Sherlock Holmes stories
In un precedente articolo di Ingenium abbiamo visto come in un progetto data-driven le scelte di gestione siano supportate da informazioni ricavate dai dati. In un progetto data-driven avete una strategia di azione in funzione dei dati disponibili, espressa da “regole” che implementano decisioni già prese. L’approccio data-driven al project management prevede le seguenti fasi:
-
scelta delle metriche di misura del progetto (es. metriche di misura degli scostamenti come quelle previste dal metodo dell’Earned Value, metriche di qualità come numero o densità di difetti, eccetera)
-
raccolta dei dati di progetto
-
analisi dei dati per ottenere informazioni (Project Management Analytics)
-
utilizzo delle informazioni per prendere decisioni.
In questo articolo vogliamo concentrarci in particolare sullo step 3, individuando soluzioni disponibili e tendenze in atto.
Pillole di “data science” per Project Manager
La complessità computazionale degli analytics di progetto varia in uno spettro potenzialmente ampio, incrociando i sentieri dei big data (in funzione dei Volumi, della Varietà e Velocità di cambiamento dei dati) e dell’AI (machine learning, deep learning, sistemi predittivi). Gli analytics fanno qualcosa in più che mettervi in grado di catturare i dati di progetto e smarcare i task completati. Piuttosto, vi aiutano a comprendere regolarità (pattern) e andamenti.
Potete utilizzare questa comprensione in vari modi, ad esempio per determinare le performance di un progetto e, se queste non sono in linea con gli obiettivi generali, stabilire quali decisioni prendere per migliorare il “success rate“.
Gli step fondamentali del generico processo di Project Management Analytics sono i seguenti:
-
Identificare i pattern di dati
-
Derivare inferenze significative dai pattern di dati
-
Utilizzare le inferenze per sviluppare modelli regressivi/predittivi
-
Utilizzare i modelli predittivi per il supporto al decision making
Tra gli strumenti ben conosciuti di analisi che potete utilizzare ci sono i metodi statistici. Se gestite un progetto avete a che fare continuamente con l’incertezza. I rischi sono la rappresentazione dell’incertezza. Tutte la baseline di progetto (WBS, schedulazione, budget) che avete costruito in fase di pianificazione vi servono per approcciare in qualche modo il futuro incerto del progetto. Partendo dal presupposto che, nel lungo periodo, avrete una certa probabilità di “ricorrenza” di analoghe misure quantitative all’interno di un determinato processo, gli analytics di tipo statistico vi aiutano ad affrontare il tema dell’incertezza, perché comprendono strumenti e tecniche per interpretare specifici pattern dei processi di project management o fare previsioni su andamenti futuri.
L’analisi statistica dei dati utilizza le cosiddette funzioni di distribuzione di probabilità, per le quali il Project Management offre diversi scenari di utilizzo.
La distribuzione “normale”, o gaussiana, che distribuisce i valori simmetricamente attorno alla media della probabilità, copre molti processi di PM perché coinvolge i cosiddetti “eventi normali”, come i criteri di punteggio per la selezione di progetti nell’ambito di un portfolio, le opinioni degli stakeholder, la durata di task, la probabilità associata ad un rischio, eccetera.
La distribuzione di Poisson è il risultato di processi di conteggio di eventi discreti e indipendenti. Potete utilizzarla per contare il numero di successi o opportunità come risultato di una serie di tentativi in un determinato periodo di tempo. Può esservi utile per valutare il numero di risorse umane acquisito dal progetto in un periodo di 2 mesi, il numero di milestone completate in 1 mese, il numero di task completati in una settimana, il numero di change request processate in un dato mese, eccetera.
La distribuzione “triangolare”, basata su 3 valori sottostanti (minimo, massimo e valore di picco), usata nella three-point-estimation, si presta bene se dovete stimare costi e durate di attività considerando i valori più probabile, ottimistico e pessimistico.
Analogamente alla distribuzione triangolare, la distribuzione “beta” vi consente di modellare eventi che occorrono all’interno di un intervallo delimitato da due valori minimo e massimo. Se siete Project Manager esperti l’avrete probabilmente già utilizzata nel metodo PERT (Program Evaluation and Review Technique) e CPM (Critical Path Method) per la three-point estimation.
L’analisi Montecarlo: come si calcolano i tempi di realizzazione di un progetto?
Una volta scelta la funzione di distribuzione di probabilità più adatta al vostro scenario, come potete utilizzarla per sviluppare un modello predittivo di progetto? Un esempio semplice è quello dell’analisi Montecarlo per la previsione dei tempi di completamento di un progetto.
Un buon metodo per produrre stime (di tempi, di effort, di risorse) è la three-point estimation, che valuta tre scenari possibili: quello migliore (ottimistico), quello peggiore (pessimistico), quello più probabile (most likely), per tenere conto dei rischi sempre presenti in qualsiasi realizzazione.
Prendete un piano di progetto semplice semplice, costituito da tre sole attività, per le quali avete in qualche modo stimato i tre valori (best, worst, most likely). Per semplificare, immaginate che le attività siano in sequenza, quindi ogni attività parte quando sia terminata l’attività precedente, senza intrecci o sovrapposizioni. In quanto tempo completerete il progetto?
Siccome le tre attività sono in sequenza, potete sommare le stime per ottenere i tre valori di stima dei tempi totali di progetto. Capite subito che si tratta di uno scenario poco realistico, perché è poco probabile che tutte e tre le attività vengano completate contemporaneamente secondo il best case, il worst case o lo scenario most likely. Più probabilmente, un’attività verrà completata prima del previsto e un’altra accumulerà un po’ di ritardo.
L’analisi Monte Carlo produce un modello predittivo della durata totale di progetto elaborando i dati sulla base di una simulazione con un numero sufficiente di iterazioni (almeno dell’ordine delle centinaia). Ad ogni iterazione viene attribuita alle tre attività una durata random, compresa tra i valori di best case e worst case di ciascuna di esse, registrando i risultati parziali ogni volta.
Se fate girare 1000 iterazioni con il vostro foglio elettronico ottenete un risultato come quello riportato di seguito.
Le tre colonne di destra riportano gli esiti della simulazione. L’ultima riga (durata totale di progetto) non è ottenuta semplicemente sommando i valori per le tre attività, ma applicando la medesima statistica al totale. In pratica, il totale viene calcolato ad ogni iterazione in base alle variazioni random delle durate delle attività. La stessa attività avrà durata più lunga in alcune iterazioni, più breve in altre, combinandosi con le variazioni delle altre due attività. In sostanza, vi interessa il valore minimo e massimo della durata dell’intero progetto quando accadono eventi casuali che impattano su una o più attività (simulazione di rischio), più o meno come accade in qualsiasi progetto reale.
Come vedete, il valore medio ottenuto dalla simulazione è quasi uguale (51 vs. 50) alla stima most likely iniziale. In parte potevate aspettarvelo, ma l’esito dipende anche dalla struttura del problema proposto e dall’ipotesi che le tre attività fossero in sequenza. In situazioni di maggiore complessità (numero elevato di attività e legami di dipendenza più complessi tra queste) la differenza tra valore most likely e valore medio della simulazione potrebbe essere più marcata.
Altra osservazione è che la simulazione fornisce una durata totale di progetto compresa tra 32 e 70 giorni, più accurata dell’intervallo 25-80 ottenuto con la somma della stime nel best case e nel worst case. Non dovrebbe sorprendervi, considerato che i valori estremi sono anche quelli meno probabili e quindi risulta di fatto impossibile che si verifichi una situazione in cui tutte e tre le attività abbiano contemporaneamente durata minima o massima.
Tuttavia, il vero valore aggiunto dell’applicazione di questi analytics non è solo nell’esito finale, ma anche nell’esame dei dati parziali e di dettaglio. La vostra simulazione calcola ad ogni iterazione tutti i valori parziali e li registra. Il grafico seguente mostra i valori della probabilità (calcolata come numero di occorrenze diviso il numero totale di iterazioni) di completare il progetto in un dato numero di giorni.
Come vedete, avete solo il 5% di probabilità di completare il progetto entro 40 giorni e il 92% di completarlo entro 60 giorni. L’analisi fornisce un supporto alle decisioni molto più utile di una semplice valutazione espressa con la three-point estimation. Il dato più interessante è che, secondo questo modello, con 50 giorni (valore most likely totale inizialmente stimato) avete “solo” il 50% di probabilità di completare il progetto.
Potete rovesciare la questione e chiedervi quale sia la durata che vi garantisce il completamento del progetto con una probabilità superiore ad un dato valore di soglia (livello di confidenza). Più è basso, più siete disposti a rischiare. Più è alto, più volete “andare sul sicuro”. Per avere una probabilità di completamento al 75% dovete prevedere 55 giorni, per salire all’85% dovete prevedere una durata di 58 giorni. Ovviamente, siccome nessun pasto è gratis, i 3 giorni in più di attività sul piano di lavoro comporteranno maggiori costi e quindi un budget più elevato.
Potete applicare gli analytics e le simulazioni statistiche anche ai costi o ad altre grandezze, in relazione non solo al progetto nel suo insieme ma anche a parti di esso, a singole attività o gruppi di attività o a specifici deliverable, per rispondere a domande come: Qual è la probabilità che il costo di progetto sia entro un budget predeterminato? Quale costo ci garantisce la probabilità dell’90% di realizzare l’intero progetto? Quale è la probabilità che una determinata attività finisca entro una certa data? In quale data abbiamo il 90% di probabilità di avviare una determinata attività?
Il modello AHP: pesare i fattori di decisione
Un altro modello analitico che indirizza direttamente il decision making data-driven, guidato da più criteri di valutazione, è AHP (Analytical Hierarchy Process). Potete utilizzarlo in qualsiasi scenario di Project Management che includa N fattori nel processo decisionale, come decidere quale progetto includere in un portfolio oppure se realizzare un deliverable o parte di esso internamente o acquisirlo dall’esterno (make or buy analysis).
Il metodo prevede di modellare lo scenario individuando i criteri in base ai quali prendere la decisione e le alternative possibili. Ad esempio, in uno scenario di Project Management i criteri potrebbero includere tre fattori: flessibilità rispetto allo scope, flessibilità rispetto ai tempi, flessibilità rispetto ai costi. Per prendere una decisione, dovreste considerare l’importanza relativa di questi tre fattori nel vostro contesto di progetto.
Se, ad esempio, dovete organizzare una festa di compleanno, non avrete nessuna flessibilità rispetto ai tempi (la data della festa non può essere spostata), mentre ne avrete, in misura diversa, rispetto ai costi e alle caratteristiche (lo scope) della festa, scegliendo se organizzare l’evento a casa, magari provvedendo in proprio al rinfresco, oppure affittare un locale affidandosi ad un servizio di catering.
Il modello AHP prevede come prima cosa che definiate l’importanza relativa degli N fattori di decisione. Questo viene effettuato tramite una serie di confronti a coppie, ricavando una matrice N x N che esprime con coefficienti numerici i pesi relativi dei criteri di decisione.
Successivamente, le M alternative possibili vengono valutate rispetto a ciascuno degli N fattori di decisione in maniera analoga, con confronti a coppie, ottenendo N matrici M x M, alle quali applicare operazioni di algebra lineare per ottenere una classifica (ranking) delle diverse alternative in funzione del fattori di decisione e della loro importanza relativa.
Non abbiamo spazio per un esempio completo, anche semplice, di applicazione del metodo AHP, per il quale vi rimandiamo qui.
Conclusioni
Il project management è arte o scienza? Gestire un progetto significa prendere continuamente decisioni. Il contributo di esperienza ed intuito è importante, ma le vostre scelte dovrebbero essere basate su una solida base di misurazioni oggettive dei fatti. Gli strumenti e le tecniche di Project Management Analytics, ossia l’analisi sistematica dei dati quantitativi di progetto, vi permettono di ottenere informazioni significative, facendo emergere regolarità (pattern) e andamenti utili al processo decisionale. Potete adottare elaborazioni di tipo statistico (distribuzioni di probabilità e simulazioni Monte Carlo per rappresentare con variabili random l’incertezza e i rischi di un progetto reale) o algebrico (elaborazioni di matrici nel modello AHP). Quello che dovrete fare in ogni caso è partire da dati misurati in maniera oggettiva e, nel caso di stime, da valutazioni affidabili ricavate ove possibile dall’esame di dati storici.
Marco Caressa