Abbiamo stilato una top ten delle metodologie di gestione dei progetti più diffuse e che un project manager deve assolutamente conoscere e saper applicare.
Partiamo dal dire che esiste una principale distinzione tra la metodologia waterfall (detta anche “a cascata” o metodo “predittivo”) e la metodologia agile. Ne abbiamo parlato qui.
In questo articolo analizziamo le 10 metodologie di project management più conosciute e adottate e per ognuna di queste ne definiamo vantaggi e svantaggi.
Buona lettura!
1. Waterfall
L’approccio waterfall è sicuramente il più semplice e lineare tra tutte le metodologie di project management incluse in questa classifica.
È una metodologia di gestione del progetto sviluppata negli anni ’50 in cui il lavoro procede in maniera lineare (o a cascata) ed è organizzato in ordine sequenziale.
Il modello include tipicamente cinque o sei fasi tra loro indipendenti, e ogni fase, si basa sui risultati della precedente, tant’è che solo quando una fase è stata completata con successo, è possibile passare ad una fase successiva.
Il ciclo di vita assume una struttura che dipende dalle specifiche caratteristiche del progetto e dalle specifiche caratteristiche del contesto organizzativo. Per fare un esempio, potrebbe essere articolato in questo modo:
- analisi dei requisiti
- disegno
- implementazione
- test
- installazione
- manutenzione
Funziona bene quando: i clienti sanno esattamente cosa vogliono da un prodotto e sanno definirne chiaramente le funzionalità. È ideale per la gestione di grandi progetti in cui sono coinvolti stakeholder con esigenze diverse.
Vantaggi: i requisiti sono ben definiti, concordati e formalizzati. Vi è un’alta probabilità di intercettare potenziali difetti o problemi del prodotto già nelle fasi preliminari di analisi e pianificazione. Molta attenzione è rivolta alla fase di pianificazione e la documentazione prodotta è molto dettagliata, semplificando il lavoro del personale impiegato nelle attività di progetto, che non necessariamente deve possedere skill di livello elevato.
Svantaggi: il tempo necessario all’attività di analisi e pianificazione può ritardare l’implementazione. Inoltre, la metodologia non tiene conto di fattori che sono sconosciuti all’inizio del progetto ma che diventano noti in seguito. Infatti, i requisiti, una volta formalizzati, possono essere modificati solo attraverso specifiche e costose procedure. Un ulteriore svantaggio risiede nel fatto che il cliente prende visione dei deliverable solo al momento del loro completamento.
2. Agile
Agile nasce dalla necessità di superare la rigidità del modello a cascata.
L’approccio agile, i cui principi sono raccolti nel Manifesto, è:
- collaborativo
- veloce ed efficace
- iterativo
Agile non è una metodologia, ma un insieme di principi che sono alla base di diversi framework. Infatti, quando si tratta di mettere in atto i principi agile, i team spesso scelgono framework specifici, come Scrum, Kanban o Extreme Programming, ma questi li esamineremo in seguito.
Chi dovrebbe usarlo: agile può essere utilizzato per qualsiasi tipologia di progetto e in qualsiasi settore, ma le sue potenzialità si esprimono al meglio in contesti in cui i requisiti e i fattori ambientali cambiano repentinamente.
Vantaggi: l’iterazione rapida aumenta la produttività e l’efficienza, in quanto consente di modificare i requisiti durante tutto il ciclo di vita del progetto. La risposta ad esigenze di cambiamento è rapida e vi è una forte collaborazione tra fornitore e committente per lo sviluppo del prodotto.
Svantaggi: eliminare la documentazione e fare affidamento sull’interazione individuale può ostacolare la scalabilità e la continuità e portare al rallentamento delle performance dei team, soprattutto all’interno di organizzazioni di grandi dimensioni. Tra gli svantaggi possiamo ricondurre anche la quantità non trascurabile di tempo speso per coinvolgere il cliente nel progetto, che talvolta può diventare particolarmente oneroso soprattutto se il cliente avanza continue richieste di cambiamenti.
Vorresti saperne di più sulle tecniche di gestione agile dei progetti? Dai un’occhiata qui.
3. Scrum
Scrum è un framework agile per la gestione del ciclo di sviluppo del software, iterativo ed incrementale.
I team Scrum lavorano per sprint di due o quattro settimane. Il team pianifica gli obiettivi dello sprint e concorda i deliverable da completare in quel periodo. La squadra si riunisce ogni giorno in un incontro di stand up della durata di 15 minuti in cui il team si racconta cosa è stato fatto ieri, cosa viene fatto oggi e come si sono risolte le eventuali problematiche riscontrate. Alla fine di ogni sprint, il team tiene due incontri: lo sprint review e lo sprint retrospective. Per approfondimenti, leggi qui.
Ideale se: i requisiti non sono chiari o se il cliente ha fretta di immettere un prodotto sul mercato. É impiegato principalmente nei progetti di sviluppo software, ma è applicabile in qualsiasi settore o attività che richieda una certa flessibilità.
Vantaggi: accelerazione del time-to-market e migliore qualità del prodotto.
Svantaggi: non è adatto alla gestione di progetti che coinvolgono team di dimensioni maggiori alle 10 unità. Necessita di team multidisciplinari e profili con competenze diversificate, non sempre facili da trovare.
Leggi anche: Agile e Lean, SCRUM e Kanban: filosofie e metodologie a confronto
4. Lean
Originariamente sviluppato da Toyota per la produzione di auto, la gestione snella dei progetti si concentra sulla fornitura di valore ed eliminazione degli sprechi.
In particolare, ha come obiettivo l’eliminazione di:
- Muda: tempo sprecato, risorse o sforzi che non aggiungono valore per l’utente finale
- Mura: sovrapproduzione e eccesso di scorte accumulate attraverso un flusso di lavoro irregolare
- Muri: sovraccarico dei dipendenti in qualsiasi fase del flusso di lavoro
Come project manager, il tuo compito è quello di prevenire le tre M appena descritte, al fine di gestire efficacemente i progetti e semplificare i processi.
Chi dovrebbe usarlo: dal momento che l’approccio Lean è focalizzato sulla riduzione degli sprechi, è adatto a quei team che presentano problemi di efficienza. Anche se gli impatti maggiori si verificano sulle grandi organizzazioni, può essere utile per i team di progetto di tutte le dimensioni.
Vantaggi: l’eliminazione degli sprechi induce un migliore e più efficiente impiego dei fattori produttivi.
Svantaggi: applicare i principi Lean significa tollerare un basso margine di errore e puntare al miglioramento continuo. Si tratta di una condizione che se estremizzata potrebbe portare ad una situazione di frustrazione dei dipendenti.
5. Kanban
Kanban è un metodo di gestione dei progetti che offre una panoramica visiva del processo di lavoro, dall’inizio alla fine. Gli elementi di lavoro sono rappresentati visivamente su una Kanban board per consentire ai membri del team di vedere lo stato del flusso in qualsiasi momento.
Questo approccio viene utilizzato dai team agili per visualizzare meglio i flussi di lavoro e i progressi del progetto, riducendo al contempo la probabilità che si presentino colli di bottiglia. Il metodo Kanban è meno prescrittivo rispetto ad altri approcci agili. A differenza di Scrum, ad esempio, è possibile aggiungere del lavoro durante lo sprint.
Chi dovrebbe usarlo: nasce come una metodologia applicata all’industria manifatturiera, quindi per la gestione efficiente delle operations, ma questo non ne limita l’impiego anche in altri campi, come lo sviluppo software. I team di qualsiasi dimensione possono impiegare il metodo Kanban senza particolari difficoltà, grazie alla semplicità di applicazione.
Vantaggi: è flessibile perché i team non sono vincolati da intervalli di tempo fisso e si concentrano sul flusso di lavoro fino al completamento, senza avviare del nuovo lavoro fino a quando quello in corso non verrà terminato (minimizzazione del work in progress). Assicura maggiore produttività e qualità.
Svantaggi: la mancanza di pianificazione può creare problemi alle scadenze; il lavoro deve essere suddiviso in piccole fasi.
La Figura mostra come agile e Kanban siano sottoinsiemi di Lean:
Fonte: Agile Practice Guide, Project Management Institute
6. Scrumban
Scrumban è un approccio agile ibrido ed in continua evoluzione, nel quale confluiscono elementi delle metodologie Scrum e Kanban. In Scrumban, il lavoro è organizzato in piccoli sprint e sfrutta l’uso di lavagne Kanban per la visualizzazione e il monitoraggio del lavoro. Si svolgono riunioni giornaliere per mantenere viva la collaborazione all’interno del team e per trovare tempestiva risoluzione agli ostacoli.
Consigliato quando: è in atto una transizione da Scrum a Kanban.
Vantaggi: la combinazione dei due metodi presenta molti vantaggi. Scrumban può aiutare il team di sviluppo a ridurre lo stress migliorando l’efficienza e la soddisfazione del team e dei clienti. I vantaggi più rilevanti si registrano in termini di prodotti di alta qualità, miglioramento continuo, minimizzazione degli sprechi, riduzione del lead time.
7. Extreme Programming (XP)
Non esiste forse un metodo più agile dell’XP. Come suggerisce il nome, l’Extreme Programming è impiegato per progetti di sviluppo software con scadenze strette. L’approccio funziona creando cicli di sviluppo brevi con molte release, consentendo tempi di consegna rapidi e una maggiore produttività.
Il metodo si basa su una serie di valori fondamentali, che includono semplicità, comunicazione, feedback, rispetto e coraggio.
Quando impiegarlo: quando i requisiti cambiano frequentemente, quando il cliente non ha una chiara idea di ciò che vuole. Extreme Programming può essere utilizzato per singoli progetti con scadenze ravvicinate, meglio se con team di piccole e medie dimensioni.
Vantaggi: grazie al pair programming (un programmatore scrive il codice e l’altro al suo fianco ne verifica la comprensibilità ed effettua il controllo sugli errori) si riduce il rischio di commettere errori. Inoltre, le modifiche possono essere apportate tempestivamente. Produce un software stabile grazie allo sviluppo iterativo continuo.
Svantaggi: implica un budget mediamente più alto e necessita di autodisciplina e pianificazione elevate.
8. Six Sigma
Introdotto dagli ingegneri della Motorola nella metà degli anni ‘80, Six Sigma viene utilizzato per la gestione della qualità ed è descritto come una filosofia piuttosto che una metodologia tradizionale. È spesso associato a una metodologia Lean o a un framework agile, diventando così Lean Six Sigma e Agile Six Sigma. Lo scopo principale è quello di migliorare continuamente i processi ed eliminare i difetti.
È costituito da 5 fasi (DMAIC) ben definite, quali: Define, Measure, Analyze, Improve e Control.
Ogni fase ha input e output ben definiti e una serie di strumenti specifici da implementare per poter per garantire la riuscita del progetto.
Chi dovrebbe usarlo: la metodologia è abbastanza flessibile e può essere applicata praticamente a qualsiasi tipo di attività o di processo, perché non è altro che un modo per migliorare l’operatività dell’intera azienda o dei singoli reparti, concentrandosi sulle aspettative e sui requisiti dei clienti. Six Sigma si adatta bene alle grandi organizzazioni.
Vantaggi: i processi sono strutturati con chiarezza e costituiscono la base per una correzione continua e per stare al passo con le mutevoli condizioni di mercato. Favorisce una migliore comunicazione tra manager e dipendenti ed è orientato al cliente.
Svantaggi: la sua implementazione in contesti di piccole dimensioni potrebbe essere costosa e se il top management non esercita un ruolo attivo, i risultati non arrivano.
9. Prince 2®
PRINCE2® è l’acronimo di PRojects IN Controlled Environments. É uno standard metodologico per la gestione dei progetti che è stato sviluppato da AXELOS.
Tale approccio è articolato in 4 aree (principi, temi, processi e modalità per costruire una organizzazione adeguata a supportare il project management) e 7 principi base (verifica continua dell’allineamento con il business, apprendimento dall’esperienza, chiara definizione di ruoli e responsabilità, gestione per fasi, gestione per eccezioni rispetto allo standard, focalizzazione sui prodotti di un progetto, costruzione del contesto organizzativo).
Quando è consigliato: data la sua natura, è ideale per la gestione di progetti di grandi dimensioni.
Vantaggi: si integra bene con gli altri framework; mantiene il focus sul prodotto e facilita la comunicazione.
Svantaggi: impiegarlo per piccoli progetti è sconsigliato perché tenderebbe a creare un processo più lungo e complicato del necessario. Richiede molto impegno nella creazione e nella gestione di documenti e registri, inoltre l’implementazione delle modifiche al progetto è piuttosto complicata.
10. Feature Driven Development (FDD)
È un modello di sviluppo del software facente parte delle metodologie agili. La peculiarità rispetto agli altri modelli è la sua impostazione basata sul concetto di feature.
Il lavoro inizia con la creazione di un modello e l’identificazione di un set di funzionalità e procede in modo iterativo e incrementale.
La metodologia FDD prevede cinque processi o attività:
- sviluppo del modello generale
- costruzione di un elenco di funzionalità
- pianificazione per funzionalità
- progettazione per funzionalità
- realizzazione per funzionalità
Funziona bene per: grandi team e progetti lunghi e complessi.
Vantaggi: incoraggia l’assunzione di responsabilità, attivando e coinvolgendo la creatività del team. FDD è un framework scalabile e può evolversi seguendo la crescita dell’organizzazione.
Svantaggi: non è adatto per i progetti piccoli; non offre alcuna documentazione scritta al cliente, a differenza di quanto accade all’interno del team. Potrebbe non funzionare bene con altri framework.
Altre metodologie di project management
- Critical Path Method (CPM)
- Critical Chain Project Management (CCPM)
- PRiSM
- PERT
- Scrum of Scrums
- Adaptive Project Framework (APF)
- Dynamic System Development Method (DSDM)
- Enterprise Unified Process (EUP)
- Agile Unified Process (AgileUP)
- Scaled Agile Framework (SAFe®)
- Large Scale Scrum (LeSS)
- Enterprise Scrum
Nella figura che segue, le metodologie di project management che appartengono alla famiglia agile, sono rappresentate per ampiezza di copertura del ciclo di vita e profondità delle linee guida:
Fonte: Agile Practice Guide, Project Management Institute
Come scegliere la metodologia giusta per il tuo progetto
La prima cosa da fare è decidere quale approccio impiegare tra quello tradizionale (waterfall), agile o ibrido.
All’interno di ogni approccio, è possibile poi scegliere una metodologia che fornisce le caratteristiche di cui il progetto e il team hanno bisogno.
Ecco una serie di domande guida utili per operare una scelta tra le metodologie di project management ed identificare quella più adatta al progetto:
- Quali metodi sono tipicamente impiegati nel settore?
- Qual è il grado di complessità del progetto?
- Quali sono le dimensioni del team di progetto?
- Quanti e quali sono gli stakeholder coinvolti?
- Quale metodologia è in linea con le competenze del team e la cultura organizzativa?
- I requisiti sono chiari?
- Quali metriche devo misurare?
- Qual è il grado di dettaglio della documentazione da produrre?
Hai domande da porci? Scrivici nei commenti qui sotto!
Gentile Team,
quale metodologia di PM sarebbe maggiormente indicata per la gestione di un’infrastruttura IT (Network e Sistemi) ? Mi chiedevo se la soluzione Agile potrebbe applicarsi con successo ed eventualmente quale tool (SW) sarebbe il più indicato per gestire fasi, task, scadenze etc.
Grazie mille per il vostro prezioso contributo.
Massimo Bettin
Gentile Massimo,
la scelta della metodologia migliore da applicare dipende da diversi fattori tra cui, in primis le caratteristiche dell’organizzazione e la tipologia di progetto. I principi dell’agile project management nascono proprio nei contesti IT e attualmente sono largamente applicati nell’ambito, a conferma della assoluta validità delle tecniche agili per la gestione di questo tipo di progetti, che richiedono flessibilità e capacità di risposta proattiva al cambiamento. Ti consigliamo di dare uno sguardo anche a questo articolo: https://www.beformazione.com/pmfacile/waterfall-vs-agile/. Oggi esiste una vasta scelta di strumenti per tracciare gli avanzamenti del progetto, più o meno completi e complessi. Per iniziare potresti provare ad utilizzare Asana ad esempio, a nostro avviso è un tool molto intuitivo ed efficace.
Se lo utilizzerai ci farebbe piacere raccogliere le tue impressioni e condividere la tua opinione con i nostri lettori.
Grazie e a presto!