Guida Agile · Fondamenti di Agile
Tipi di metodologie Agile: Scrum, Kanban, XP, Lean e altre
"Agile" comprende una famiglia di metodi che condividono gli stessi valori ma differiscono nella struttura. Alcuni prescrivono ruoli e cerimonie; altri aggiungono solo poche regole al modo in cui già lavorate. Questa guida confronta i più comuni e vi aiuta a scegliere.
Punti chiave
- Scrum usa sprint e ruoli; Kanban usa il flusso e i limiti WIP; Scrumban combina entrambi.
- XP aggiunge pratiche ingegneristiche; Lean elimina gli sprechi nell'intero sistema.
- Scegliete in base alla natura del vostro lavoro, poi adattate con cautela.
Scrum
Il lavoro si svolge in Sprint a durata fissa di un mese o meno. Un Product Owner ordina il backlog, i Developer realizzano un Increment che soddisfa la Definition of Done, e uno Scrum Master aiuta il team a migliorare. Ideale per: sviluppo prodotto da parte di un team dedicato. Vedi Agile vs Scrum.
Kanban
Kanban visualizza il lavoro su una board, limita il work in progress (WIP) e gestisce il flusso in modo continuo. Non ci sono iterazioni fisse né ruoli prescritti, quindi potete partire dal vostro processo attuale e migliorarlo. I team monitorano cycle time e throughput. Ideale per: supporto, operations e qualsiasi team che riceva un flusso costante di richieste di dimensioni variabili.
Scrumban
Lo Scrumban combina il ritmo di pianificazione e review di Scrum con il flusso e i limiti WIP di Kanban. I team spesso mantengono pianificazione e retrospettive regolari ma prelevano il lavoro in modo continuo invece di impegnarsi su un ambito di sprint fisso. Ideale per: team che passano da Scrum a Kanban, o team che combinano lavoro pianificato sulle funzionalità con richieste non pianificate.
Extreme Programming (XP)
XP si concentra su pratiche ingegneristiche che mantengono elevata la qualità del software mentre i requisiti cambiano: pair programming, test-driven development, integrazione continua, piccoli rilasci, refactoring, proprietà collettiva del codice e ritmo sostenibile. Ideale per: team software che puntano all'eccellenza tecnica; spesso combinato con Scrum.
Lean
Lean nasce nel manifatturiero. Mira a massimizzare il valore per il cliente ed eliminare gli sprechi, come attese, passaggi di consegne, rilavorazioni e funzionalità inutilizzate. Il Lean software development, descritto da Mary e Tom Poppendieck, adatta queste idee al lavoro della conoscenza. Ideale per: migliorare il flusso end-to-end e i processi decisionali in tutta l'organizzazione.
Crystal, DSDM e FDD
- Crystal (Alistair Cockburn) è una famiglia di metodi adattati alla dimensione del team e alla criticità del progetto, con un'enfasi sulle persone e sulla comunicazione.
- DSDM (Dynamic Systems Development Method) fissa tempi, costi e qualità e rende flessibile l'ambito usando la prioritizzazione MoSCoW: Must, Should, Could, Won't have this time. È adatto alle organizzazioni che hanno bisogno di maggiore governance.
- FDD (Feature-Driven Development) pianifica e sviluppa per piccole funzionalità di valore per il cliente, con una breve fase di modellazione iniziale. È adatto a team software di maggiori dimensioni.
Come scegliere
| Se il vostro lavoro… | Valutate |
|---|---|
| È sviluppo di nuovi prodotti con un team dedicato | Scrum |
| Arriva in modo continuo e imprevedibile | Kanban |
| Mescola funzionalità pianificate e richieste urgenti | Scrumban |
| Richiede un'elevata qualità del software con requisiti in evoluzione | Pratiche XP con Scrum o Kanban |
| Richiede governance con scadenze fisse | DSDM o un approccio ibrido |
| Coinvolge molti team | A framework di scalabilità |
Domande frequenti
Qual è la metodologia Agile più diffusa?
Scrum è la più diffusa, spesso combinata con pratiche Kanban.
I team possono combinare diverse metodologie Agile?
Sì. Molti team applicano Scrum con le pratiche ingegneristiche di XP e board Kanban. L'importante è che ogni pratica sia al servizio dei valori Agile.
Quante metodologie Agile esistono?
Non esiste un numero fisso. Le più note sono Scrum, Kanban, Scrumban, Extreme Programming, Lean, Crystal, DSDM e Feature-Driven Development, oltre a framework di scalabilità come SAFe e LeSS.
Qual è la differenza tra le metodologie Agile Scrum e Kanban?
Scrum lavora in Sprint a durata fissa con ruoli ed eventi definiti; Kanban gestisce un flusso continuo di lavoro con limiti WIP, senza ruoli né iterazioni obbligatori.
Che cos'è l'Extreme Programming (XP) come metodologia Agile?
Un metodo Agile incentrato su pratiche ingegneristiche come pair programming, test-driven development, integrazione continua, refactoring e rilasci frequenti di piccole dimensioni. Viene spesso combinato con Scrum.
Che cos'è Lean tra le metodologie Agile?
Lean nasce nel manifatturiero e mira a massimizzare il valore per il cliente eliminando sprechi come attese, passaggi di consegne e rilavorazioni. Il Lean software development applica queste idee al lavoro della conoscenza.
Che cos'è DSDM come metodologia Agile?
Il Dynamic Systems Development Method, creato da un consorzio britannico nel 1994. Fissa tempi e costi, lascia flessibile l'ambito e usa la prioritizzazione MoSCoW.
Che cos'è il Feature-Driven Development come metodologia Agile?
Un metodo Agile creato da Jeff De Luca e Peter Coad nel 1997 che pianifica e sviluppa il software per piccole funzionalità di valore per il cliente.
Qual è la metodologia Agile migliore per i principianti?
Kanban è la più semplice da avviare perché parte dal vostro processo attuale. Scrum offre più struttura, cosa che alcuni team nuovi trovano utile.
Quale metodologia Agile si usa nelle grandi organizzazioni?
I framework di scalabilità come SAFe, LeSS, Scrum@Scale and Disciplined Agile coordinate many teams.
Come si sceglie una metodologia Agile?
Osservate come arriva il lavoro e come viene consegnato. Il lavoro di prodotto pianificato da parte di un team dedicato si addice a Scrum; le richieste imprevedibili si addicono a Kanban; problemi di qualità del software suggeriscono di aggiungere le pratiche XP.