Utilizzare elementi ripetibili
Un approccio ad hoc per ogni progetto richiede troppe energie e risorse e presenta sempre il rischio di perdere alcuni degli elementi necessari. Il modo migliore per semplificare ciò che deve essere fatto è usare elementi ripetibili e preferibilmente portarli in cicli ripetibili.
Esempio: checklists (liste di controllo) di qualità
Una lista di controllo è un semplice esempio di un elemento potenzialmente ripetibile che molte persone usano nella loro vita personale e professionale. Prendi i criteri di qualità di un deliverable:
- In primo luogo, è possibile creare una lista di controllo di tutti i criteri, che è anche una forma di pianificazione.
- Quello che NUP6 consiglia è di provare a generalizzarlo: ci sono altri deliverable simili nel progetto? In tal caso, vale la pena di preparare una lista di controllo di qualità generale per quella categoria di prodotti finali, e usarla per tutti quei progetti. Se ci sono alcune varianti, bisogna mantenere l’elenco generico e aggiungi alcuni elementi extra per i singoli deliverable. In questo modo si ottengono elenchi di controllo ripetibili.
- Quando si preparano liste di controllo generiche per vari tipi di risultati finali, è possibile trovare elementi che si ripetono tra loro, il che suggerisce per loro una virtuale categoria di livello superiore, diciamo “padre”. In tal caso, invece di ripetere gli articoli per tutte quelle liste di controllo generiche, si possono estrarre e inserire in una checklist principale. Infine, probabilmente si otterrà una sola checklist generica per l’intero progetto. La “Definition of Done” di Scrum è un esempio di checklist a livello di progetto, valida per la qualità, ma anche per altri temi. Ogni deliverable sarà declinato in una gerarchia di categorie, e dovrebbe soddisfare gli elementi visualizzati nelle checklist di tutte le categorie della catena.
In questo modo, un elemento nell’elenco di controllo principale diventerà ripetibile per tutti i deliverable sottostanti, risparmiando tempo ed energia nella pianificazione e nell’esecuzione. Ancora più importante, una volta fatto questo per un progetto, è possibile personalizzarlo e utilizzarlo per tutti i futuri progetti simili, così da ottenere una forma ripetibile di pianificazione per più progetti.
Esempio: processi e flussi di lavoro
Alcuni risultati o obiettivi richiedono al loro interno alcuni passaggi che possono diventare standardizzati e ripetibili. Ad esempio, se i deliverable devono essere progettati individualmente e approvati è possibile preparare un flusso di lavoro semplice che renda chiari tutti i passaggi, le persone coinvolte e le durate approssimate, evitando molte difficoltà. Si deve fare attenzione, tuttavia, a non rendere i flussi di lavoro e i processi troppo complicati o richiedenti troppa documentazione, poiché ciò avrebbe conseguenze negative. Tutte le persone coinvolte nel progetto dovrebbero trovare i flussi di lavoro e i processi come qualcosa che supporta il loro lavoro e rende tutto più facile. E non come una documentazione burocratica che blocca il loro vero lavoro.
I progetti Agili hanno elementi pratici ripetibili nel loro approccio di sviluppo iterativo, in cui alcuni tipi di attività di sviluppo vengono ripetuti per ogni funzione; per esempio, la routine quotidiana comune in XP (eXtreme Programming): accoppiare, selezionare un elemento, disegnarlo su una lavagna, creare script e codice di test, integrare il codice, ecc.
Oltre ai flussi di lavoro ripetibili che possono essere utilizzati per attività tecniche, si possono avere elementi ripetibili anche per le attività di gestione del progetto. I processi nella Guida PMBOK®, PRINCE2® e DSDM®, le attività in P3.express e gli eventi in Scrum sono esempi di questo concetto.
Esempio: cicli
È utile disporre in modo chiaro gli elementi ripetibili per la gestione del progetto. Ciò può essere reso ancora più semplice inserendoli in cicli ripetibili. Questi cicli semplificano significativamente le attività quotidiane delle persone coinvolte nella gestione e nella leadership del progetto. Esempi di questo concetto sono: i cicli dei gruppi di processi nella Guida PMBOK®, quando utilizzati in un progetto con più fasi; le fasi (stages) nella metodologia PRINCE2®; i cicli giornalieri, settimanali e mensili in P3.Express; le iterazioni e i timebox in DSDM®; gli Sprint in Scrum.
Cicli più brevi sono più facili da capire e da usare rispetto a quelli più lunghi; ad esempio, Sprint in Scrum in contrasto con le fasi secondo la Guida PMBOK®. Tuttavia, cicli troppo brevi potrebbero non essere sufficienti per supportare determinati tipi di progetto e la soluzione può essere l’uso di più cicli, come in DSDM®, in cui si usano cicli di timebox brevi insieme a cicli di iterazione più lunghi, oppure come in P3.express, ove si usano cicli giornalieri, settimanali e mensili.
Esempio: metodi
L’utilizzo di una metodologia o di un framework per l’esecuzione di un progetto è un altro uso di elementi ripetibili. Questo può essere un sistema esistente come PRINCE2®, P3.express, DSDM® o Scrum, o uno che hai personalizzato o costruito da solo. Tuttavia, di solito è un’idea migliore iniziare con uno dei metodi esistenti e adattarlo alle proprie esigenze piuttosto che crearlo da zero.
Ogni elemento ripetibile è astratto e richiede la personalizzazione per adattarsi al mondo reale. Tuttavia c’è una gamma di necessità di astrazione e di personalizzazione: le checklist di qualità piccole e relativamente concrete si trovano all’estremità della gamma, con la minima quantità di astrazione e necessità di personalizzazione, mentre le metodologie sono dall’altra parte, con il più alto bisogno di adattamento. Si deve sempre analizzare la necessità di adattamento, altrimenti, l’elemento ripetibile non corrisponderà correttamente alle esigenze del caso.