Guida Agile · Fondamenti di Agile
Ciclo di vita dello sviluppo Agile: le 6 fasi spiegate in modo semplice
Il ciclo di vita dello sviluppo Agile è la sequenza di fasi che un prodotto attraversa quando viene realizzato con metodi Agile: da una prima idea, attraverso brevi iterazioni ripetute che producono ciascuna risultati funzionanti, fino al rilascio, al supporto e al ritiro finale. A differenza di un ciclo di vita lineare, la fase di realizzazione si ripete molte volte e il feedback orienta ogni passaggio.
Punti chiave
- Il ciclo di vita Agile va dall'ideazione e dall'avvio, attraverso iterazioni ripetute, fino al rilascio, alla manutenzione e al ritiro.
- Pianificazione, sviluppo e test avvengono insieme in ogni iterazione anziché in fasi separate.
- Rilasciate presto gli incrementi per ottenere feedback e pianificate capacità per il lavoro di manutenzione.
- Non esiste un unico modello ufficiale, quindi adattate i nomi delle fasi al vostro contesto.
Che cos'è il ciclo di vita Agile
Un ciclo di vita descrive come il lavoro fluisce dall'idea al prodotto finito. In un Waterfall ciclo di vita, ogni fase (requisiti, progettazione, sviluppo, test, rilascio) avviene una sola volta, in ordine. In Agile, pianificazione, progettazione, sviluppo e test avvengono insieme all'interno di ogni breve iterazione e il prodotto cresce per incrementi. Le fasi seguenti descrivono il percorso complessivo del prodotto; la maggior parte del tempo è dedicata alla fase di iterazione.
Le sei fasi
| Fase | Cosa succede | Output tipici |
|---|---|---|
| 1. Ideazione | Individuare l'opportunità, gli utenti e il risultato desiderato; decidere se vale la pena approfondire | Descrizione del problema, ambito di massima, decisione go/no-go |
| 2. Avvio (inception) | Formare il team, concordare la visione di prodotto, costruire un backlog iniziale e configurare strumenti e ambienti | Visione di prodotto, primo product backlog, accordo di lavoro del team |
| 3. Iterazione (costruzione) | Pianificare, sviluppare, testare e rivedere piccole porzioni di valore in sprint o un flusso continuo | Incrementi funzionanti e testati; feedback; backlog aggiornato |
| 4. Rilascio | Verifiche finali, documentazione e formazione, poi distribuzione agli utenti | Prodotto o insieme di funzionalità rilasciato |
| 5. Manutenzione (produzione) | Supportare gli utenti, correggere i difetti e continuare a migliorare il prodotto, di solito con ulteriori iterazioni | Correzioni, miglioramenti, dati operativi |
| 6. Ritiro | Ritirare il prodotto, migrare utenti e dati e chiudere il supporto | Piano di dismissione, dati archiviati |
Come funziona un'iterazione
- Pianificazione: il team seleziona dal backlog gli elementi di maggior valore e concorda un obiettivo per l'iterazione.
- Progettazione e sviluppo: sviluppatori, tester e designer lavorano insieme su ogni elemento invece di passarsi il lavoro lungo una catena.
- Test: i test avvengono in modo continuo, così ogni elemento soddisfa la Definition of Done prima di essere considerato concluso.
- Review: il team mostra il risultato funzionante agli stakeholder e raccoglie feedback.
- Riflessione: in una retrospettiva il team concorda uno o due miglioramenti al proprio modo di lavorare.
- Adattamento: feedback e nuove informazioni aggiornano il backlog e inizia l'iterazione successiva.
Esempio svolto: un'app di prenotazione
Una catena di palestre vuole che i soci prenotino i corsi online.
- Ideazione (1 settimana): il product manager conferma che le prenotazioni telefoniche impegnano il personale per circa 20 ore a settimana e fissa l'obiettivo di spostare online la maggior parte delle prenotazioni.
- Avvio (2 settimane): si forma un team di sei persone, che scrive una visione e crea 40 user story raggruppate in quattro epic.
- Iterazioni (6 sprint di due settimane): lo sprint 1 consegna un semplice orario dei corsi; lo sprint 2 aggiunge prenotazione e cancellazione; gli sprint successivi aggiungono liste d'attesa, promemoria e pagamenti.
- Rilascio: dopo lo sprint 3 una versione base entra in produzione in due palestre pilota; dopo lo sprint 6 viene estesa a tutte le sedi.
- Manutenzione: il team mantiene una capacità ridotta per correzioni e nuove funzionalità basate sui dati di utilizzo.
- Ritiro: anni dopo l'app viene sostituita da una nuova piattaforma per i soci e i vecchi dati delle prenotazioni vengono migrati.
Ciclo di vita Agile vs SDLC tradizionale
| SDLC tradizionale (Waterfall) | Ciclo di vita Agile | |
|---|---|---|
| Ordine del lavoro | Le fasi avvengono una sola volta, in sequenza | Le fasi di realizzazione si ripetono in brevi iterazioni |
| Requisiti | Fissati a monte | Evolvono in un backlog ordinato per priorità |
| Test | Una fase separata verso la fine | Continui, all'interno di ogni iterazione |
| Delivery | Un unico rilascio alla fine | Incrementi frequenti, spesso rilasciati presto |
| Modifiche | Gestite tramite formali controllo delle modifiche | Previste e assorbite tramite il backlog |
| Coinvolgimento del cliente | Soprattutto all'inizio e alla fine | Per tutto il progetto, a ogni review |
Vedi Agile vs Waterfall per un confronto più completo.
Errori comuni
- Sprint come mini-Waterfall: fare tutta la progettazione in uno sprint, tutto lo sviluppo nel successivo e tutti i test dopo ancora.
- Saltare l'avvio: avviare gli sprint senza una visione condivisa, così il backlog va alla deriva.
- Non rilasciare mai: realizzare molti incrementi ma trattenerli per un unico grande lancio, perdendo il feedback che fa funzionare Agile.
- Dimenticare la capacità per la manutenzione: pianificare ogni sprint come se non esistesse lavoro di supporto.
- Ignorare il ritiro: lasciare in funzione vecchi prodotti senza un responsabile né un piano.
Modelli gratuiti per questo argomento
Domande frequenti
Quali sono le fasi del ciclo di vita dello sviluppo Agile?
Un modello comune prevede sei fasi: ideazione, avvio (inception), iterazione (costruzione), rilascio, manutenzione (produzione) e ritiro.
Il ciclo di vita Agile coincide con l'SDLC?
Il ciclo di vita dello sviluppo software (SDLC) è un termine generale per indicare le fasi di realizzazione del software. Il ciclo di vita Agile è uno dei modi di gestire l'SDLC, con le fasi di sviluppo ripetute in brevi iterazioni.
Quale fase del ciclo di vita dello sviluppo Agile dura di più?
La fase di iterazione, perché il team la ripete molte volte, spesso proseguendo anche dopo il primo rilascio.
Quanto dura un'iterazione nel ciclo di vita dello sviluppo Agile?
Di solito da una a quattro settimane. Molti team usano sprint.
Il ciclo di vita dello sviluppo Agile prevede una fase di progettazione?
Non una fase separata. La progettazione avviene in modo continuo all'interno di ogni iterazione, con una parte di progettazione di alto livello svolta durante l'avvio.
Dove avvengono i test nel ciclo di vita Agile?
All'interno di ogni iterazione. Il lavoro non è considerato concluso finché non è testato e non soddisfa la Definition of Done.
Scrum è un ciclo di vita dello sviluppo Agile?
Scrum è un framework per gestire la fase di iterazione. Non definisce le fasi di ideazione, rilascio o ritiro; vedi che cos'è Scrum.
Si può rilasciare prima della fine del ciclo di vita Agile?
Sì, ed è incoraggiato. Rilasciare presto gli incrementi porta prima un feedback reale dagli utenti.
Cosa succede nella fase di avvio del ciclo di vita Agile?
Il team si forma, concorda una visione di prodotto, configura strumenti e ambienti e crea un product backlog.
Come si inserisce Kanban nel ciclo di vita Agile?
I team Kanban sostituiscono le iterazioni fisse con un flusso continuo di lavoro, ma il percorso complessivo dall'ideazione al ritiro è lo stesso; vedi che cos'è Kanban.
I team non software usano il ciclo di vita Agile?
Sì. I team di marketing, creativi e di altro tipo usano la stessa idea di cicli brevi che producono risultati utilizzabili e raccolgono feedback; vedi Agile è solo per il software?.