Il Blitz Planning: che cos’è e a chi può essere utile
Metodi visuali per facilitare la pianificazione Agile
Forse molti avranno sentito parlare di Blitz Planning, ma non tutti sapranno esattamente di cosa si tratta e come funziona. Innanzitutto, come suggerisce il nome, si tratta di una tecnica di pianificazione Agile, applicata nello specifico nell’ambito dello sviluppo software. È infatti una variante del Planning Game proprio dell’Extreme Programming (XP).
La spiegazione e teorizzazione del Blitz Planning si deve ad Alistair Cockburn, uno dei padri fondatori del movimento Agile, che, nel suo libro “Crystal Clear: A Human-Powered Methodology for Small Teams”, ne elenca i dieci passi fondamentali:
1. Riunire i partecipanti— jam session di pianificazione del progetto. Riunire in un’unica stanza i rappresentanti di ciascuna categoria di stakeholder. Tra questi sono inclusi lo sponsor esecutivo, uno o due utenti chiave, qualche analista di business e l’intero team di sviluppo, compresi tutti coloro che sono coinvolti nelle attività di test e distribuzione.
2. Raccogliere idee sulle attività. Raccogliere idee su tutte le attività di sviluppo e scriverle su delle index card. Elencare tutte le attività che richiederanno da mezza giornata a molte settimane, ivi comprese le interviste agli utenti, la programmazione delle funzioni specifiche, la scrittura di un test di aiuto per gli utenti, la migrazione dei database e l’installazione del sistema.
3. Disporre le attività. Mettere in sequenza le carte in base all’ordine di priorità e di dipendenza. Le attività che possono essere eseguite in parallelo sono collocate fianco a fianco sul tavolo, le attività eseguite in sequenza sono posizionate l’una sopra e l’altra sotto e le task card duplicate vengono eliminate.
4. Rivedere le attività. Cercare le attività mancanti ed aggiungere le attività in base alle necessità.
5. Stimare ed etichettare le attività. Successivamente, gli sviluppatori mettono giù le stime del tempo di lavoro. Se per una certa attività è necessaria una specifica persona, si annota a fianco anche il nome di tale persona. Se più persone presentano stime diverse, si procede ad una breve discussione e poi ognuno fornisce la propria seconda migliore stima.
6. Mettere in ordine le attività. Si tratta di una valutazione più dettagliata delle dipendenze. Alcune carte hanno una relazione strettamente sequenziale, per cui la seconda non può proprio iniziare prima che sia terminata la prima. Per esempio, l’attività “valutare i fornitori” deve precedere per intero l’attività “predisporre il contratto con il fornitore”. Queste coppie devono essere contrassegnate in qualche modo particolare in modo da non perdere tale informazione quando le carte vengono spostate da un posto all’altro. È inoltre importante cercare soluzioni per ridurre le dipendenze e aumentare la flessibilità.
7. Identificare lo scheletro ambulante (walking skeleton), la prima consegna (prima versione utilizzabile), e la prima consegna che produce un flusso di entrate (punto del primo ricavo). Contrassegnare questi punti mettendo un po’ di distanza tra le carte poste sopra e sotto tali punti. L’identificazione della prima consegna è fondamentale in quanto rappresenta la prima volta in cui gli utenti vedranno il sistema e si potrà ottenere quindi un feedback.
8. Identificare gli altri rilasci. Si dovrebbe trattare di punti di rilascio logici.
9. Ottimizzare il piano per adattarlo alle priorità del progetto. Prima di questo passo si avrà un piano, ma non necessariamente un buon piano – magari troppo lungo, troppo costoso, e così via. L’intero gruppo di lavoro ragionerà su come ottimizzare il piano in base alle priorità fissate per il progetto: time-to-market, costo, o insieme di funzionalità. Di solito, accade una di queste tre cose: a. Lo sponsor esecutivo riconsidera l’esigenza di business legata al progetto; b. Il team elimina delle attività dal progetto; c. I membri del team si stringono nelle spalle e vanno semplicemente avanti.
Non è consigliabile fare pressione sugli sviluppatori affinché modifichino le proprie stime. Nell’ottimizzare la disposizione delle carte sul tavolo, si va spesso alla ricerca di tre miglioramenti in particolare: a. Si cerca un gruppo di carte che crei più o meno un rilascio coerente che abbia un valore di business; b. Si cercano eventuali rischi legati all’avere una carta in ritardo nel progetto; c. Si cerca quella particolare persona che ha troppe carte assegnate. Tale persona sarà sovraccaricata e probabilmente si troverà in difficoltà. Si ragiona su come assegnare quelle attività, o una parte di esse, ad altre persone per ridurre il rischio di progetto e la tensione che grava su quella persona.
10. Salvare il risultato. Si può fare una fotografia al tavolo, unire insieme le carte con un nastro adesivo e appenderle alla parete come radiatore delle informazioni, oppure riversarle in un altro strumento a propria scelta.
Il blitz planning è un metodo altamente visuale e molto pratico, che nasce e viene applicato in particolare ai progetti di sviluppo software, ma che può essere molto utile anche per i moltissimi “piccoli”- che non vuol dire poco importanti - progetti di altra natura ,che rappresentano il quotidiano della gran parte delle piccole e medie imprese.