Yury Pukhov, YuSMP Group
Yury Pukhov CEO & Software Engineering Lead, YuSMP Group · Due decenni alla guida dell intero ciclo di vita di software su misura per aziende statunitensi ed europee

In breve — il SDLC in un paragrafo

Il ciclo di vita dello sviluppo software (SDLC) è il processo strutturato per costruire software, suddiviso in sette fasi: pianificazione, requisiti, progettazione, implementazione, test, rilascio e manutenzione. Rende la consegna prevedibile e la qualità visibile. Modelli come Waterfall, Agile e DevOps sono modi diversi di percorrere le stesse fasi — scegli quello che corrisponde alla stabilità dei requisiti e alla frequenza di rilascio.

Che cos è il ciclo di vita dello sviluppo software?

Il ciclo di vita dello sviluppo software è il processo strutturato che un team segue per pianificare, costruire, testare, rilasciare e mantenere un software, suddiviso in fasi ordinate con attività e deliverable definiti. Esiste per rendere la consegna prevedibile: in ogni momento tutti sanno in quale fase si trova il lavoro, cosa deve essere vero per passare alla successiva e chi è responsabile di ogni passo. Senza di esso i progetti vanno alla deriva — si inizia a scrivere codice prima che qualcuno abbia concordato cosa costruire, i test vengono compressi alla fine e nessuno è responsabile del software una volta in produzione.

Pensa al SDLC come a una mappa condivisa più che a un copione rigido. Le fasi danno un nome al lavoro che deve sempre avvenire; il modello scelto decide se percorri quella mappa una volta da capo a fondo o in cicli brevi. Questa distinzione conta, perché gran parte della confusione — « Agile è un SDLC? », « quante fasi ci sono? » — nasce dal confondere il quadro di riferimento con il modo di attuarlo. Questa guida li tiene separati: prima le fasi, poi i modelli, poi la scelta. Per vedere come appare il ciclo di vita in un progetto reale, il nostro sviluppo software su misura end-to-end fa passare ogni progetto attraverso di esso, e il nostro processo di sviluppo software su misura percorre lo stesso ciclo passo dopo passo.

Le 7 fasi del ciclo di vita dello sviluppo software

Il ciclo di vita dello sviluppo software ha sette fasi: pianificazione, analisi dei requisiti, progettazione, implementazione, test, rilascio e manutenzione. Ogni fase produce un deliverable concreto da cui dipende la successiva — è proprio questo che impedisce al lavoro di correre avanti a sé stesso. Alcuni team le riducono a cinque o sei stadi, ma il flusso dalla pianificazione alla costruzione fino all esercizio non cambia mai.

  1. Pianificazione. Definire obiettivo, ambito, budget, tempistiche e fattibilità e decidere se il progetto vale la pena. Deliverable: un piano di progetto e una chiara definizione del problema condivisa da tutti.
  2. Analisi dei requisiti. Catturare esattamente cosa deve fare il software e i vincoli da rispettare — funzionali e non funzionali. Deliverable: una specifica dei requisiti e un backlog prioritizzato.
  3. Progettazione. Tradurre i requisiti in un progetto tecnico: architettura, modello dei dati, integrazioni, sicurezza e interfacce. Deliverable: architettura e progetti UX/UI da cui il team può costruire.
  4. Implementazione. Scrivere, revisionare e integrare il codice rispetto alla progettazione. Deliverable: software funzionante, versionato, costruito in piccoli incrementi testati.
  5. Test. Verificare che il software faccia ciò che i requisiti prevedevano e sia sicuro — test funzionali, di integrazione, di performance e di sicurezza. Deliverable: una build testata e un elenco di difetti noto e triato.
  6. Rilascio. Portare il software in produzione, idealmente tramite una pipeline automatizzata e ripetibile. Deliverable: un rilascio in produzione e un piano di rollback in caso di problemi.
  7. Manutenzione. Correggere difetti, applicare patch di sicurezza e migliorare il software sulla base dell uso reale — la fase più lunga e più costosa nell arco di vita di un prodotto. Deliverable: un sistema supportato e in evoluzione.
Due ingegneri software revisionano insieme il codice su un monitor durante la fase di implementazione del ciclo di vita dello sviluppo software

Modelli SDLC a confronto: Waterfall, Agile, DevOps e altri

I modelli SDLC sono modi diversi di percorrere le stesse sette fasi, e i principali sono Waterfall, Agile, iterativo, Spiral, modello a V e DevOps. Differiscono soprattutto in una cosa: con quale frequenza percorri le fasi e consegni software funzionante. Waterfall le percorre una volta in sequenza; Agile e DevOps ne percorrono una porzione in continuo. La tabella qui sotto mette i modelli comuni a confronto.

ModelloCome percorre le fasiMigliore adattamento
WaterfallTutte le fasi una volta, in sequenza rigida; consegna alla fineAmbito fisso e pienamente noto; lavoro regolamentato o contrattuale
AgileUna porzione di ogni fase in brevi iterazioni; consegna a ogni cicloLavoro di prodotto e SaaS con requisiti incerti e mutevoli
IterativoCostruzione in cicli ripetuti, affinando un sistema crescenteGrandi sistemi dal nucleo noto ma dai dettagli in evoluzione
SpiralIterazioni guidate dalla valutazione del rischio a ogni giroGrandi progetti ad alto rischio che richiedono riduzione precoce del rischio
Modello a VWaterfall con un livello di test corrispondente a ogni fase di costruzioneSistemi critici che richiedono verifica approfondita
DevOpsAgile più automazione su build, test, rilascio ed esercizioTeam che necessitano di rilasci frequenti, affidabili e a basso rischio

Nel 2026 il baricentro è nettamente su Agile e DevOps: l indagine Digital.ai State of Agile colloca l adozione di Agile come quasi universale tra i team software, e la ricerca DORA di Google Cloud mostra costantemente che automatizzare le fasi di rilascio e test — la mossa DevOps — separa i team di eccellenza dal resto. Waterfall però non è scomparso; resta la scelta onesta quando l ambito davvero non può muoversi. Per uno sguardo approfondito sul modello più diffuso, vedi la nostra guida completa allo sviluppo software agile.

Quale modello SDLC dovresti scegliere?

Scegli il tuo modello SDLC rispondendo a due domande: quanto sono stabili i tuoi requisiti e con quale frequenza puoi rilasciare? Se i requisiti sono fissi e pienamente noti e rilasci una volta, Waterfall o il modello a V si adattano. Se i requisiti sono incerti e puoi consegnare in modo incrementale — cosa che descrive gran parte del lavoro di prodotto e SaaS — Agile è la scelta predefinita, e DevOps è Agile con la pipeline di rilascio automatizzata. Il modello è un mezzo, non un identità da difendere.

Un team software interfunzionale discute le fasi di consegna davanti a una parete piena di diagrammi di flusso

Alcune regole pratiche tagliano corto sul dibattito. Il lavoro regolamentato, a prezzo fisso o legato all hardware, la cui specifica è firmata e immobile, premia un modello pianificato — c è poco da scoprire iterando. Tutto ciò in cui utenti reali rimodelleranno i requisiti premia Agile, perché far emergere i problemi ogni due settimane costa meno che scoprirli a un lancio. E se già consegni in Agile ma i rilasci sono lenti, manuali e stressanti, il miglioramento non è un nuovo modello — è l automazione DevOps sopra quello che hai. Se stai anche valutando come contrattualizzare il lavoro, la nostra guida su time & materials vs prezzo fisso vs team dedicato copre i modelli adatti alla consegna iterativa.

Che cos è un diagramma SDLC, e ti serve?

Un diagramma SDLC è semplicemente una visualizzazione delle fasi e di come il lavoro scorre tra esse — una linea per Waterfall, un ciclo per Agile, una spirale per il modello Spiral. È uno strumento di comunicazione, non un deliverable in sé: il suo valore è mettere tutti d accordo su quali sono le fasi, quali i criteri di ingresso e uscita di ciascuna e dove si collocano i cicli di feedback. Un diagramma di una pagina alla parete allinea un team più di un documento di processo di cinquanta pagine che nessuno legge.

Non ti serve un diagramma elaborato, e di certo non ti serve comprare una metodologia per averne uno. Ciò che ti serve è un immagine condivisa che risponda a tre domande per il tuo team: cosa deve essere vero per entrare in una fase, cosa deve produrre quella fase per uscirne e chi decide. Se il tuo diagramma non sa rispondere, è decorazione. Se sa rispondere, diventa il riferimento che indichi ogni volta che qualcuno vuole saltare i test o iniziare a costruire prima che la progettazione sia finita.

Strumenti del ciclo di vita dello sviluppo software per fase

Gli strumenti SDLC supportano fasi specifiche, e l obiettivo è una catena di strumenti connessa, non l elenco più lungo di loghi. Le categorie qui sotto coprono ciò che la maggior parte dei team usa davvero nel 2026; i prodotti esatti contano meno del fatto che ogni fase abbia strumenti e che questi si passino il testimone in modo pulito.

FaseCategoria di strumentoA cosa serve
Pianificazione & requisitiGestione del lavoro & documentiBacklog, roadmap e specifiche condivise
ProgettazioneDesign & diagrammiMockup di interfaccia e diagrammi di architettura
ImplementazioneControllo versione & IDEScrivere, revisionare e conservare il codice sorgente
TestAutomazione dei test & scansioneTest automatizzati più controlli di sicurezza e qualità
RilascioPipeline CI/CDCostruire, pubblicare e tornare indietro automaticamente
ManutenzioneMonitoring & observabilityAllerte, logging e tracciamento dei problemi in produzione

Dove collocare la sicurezza: il SDLC sicuro

La sicurezza appartiene a ogni fase, non va avvitata alla fine — è tutta qui l idea di un ciclo di vita dello sviluppo software sicuro (SSDLC). Trattare la sicurezza come un cancello di test finale è il modo in cui nascono le violazioni costose: quando un penetration test trova un difetto di progettazione, questo è già incorporato nell architettura e costoso da rimuovere. Lo « shift left » — anticipare il lavoro di sicurezza — costa costantemente meno che correggere dopo il rilascio, e nel 2026 è sempre più un requisito di conformità che un raffinamento di maturità.

  • Pianificazione: modellazione delle minacce e requisiti di sicurezza espliciti accanto a quelli funzionali.
  • Progettazione: architettura sicura, privilegio minimo e scelte di protezione dei dati fin dall inizio.
  • Implementazione: standard di codifica sicura, revisione del codice e scansione automatizzata delle dipendenze.
  • Test: test di sicurezza automatizzati, analisi statica e dinamica, non solo controlli funzionali.
  • Rilascio & manutenzione: configurazione rafforzata, gestione dei segreti e patch tempestive alle nuove vulnerabilità.

Niente di tutto ciò richiede una « fase di sicurezza » separata — richiede un attività di sicurezza dentro ogni fase esistente, presidiata dal team anziché delegata a una revisione al traguardo.

Errori SDLC comuni da evitare

La maggior parte dei fallimenti SDLC non è esotica — sono le stesse poche fasi saltate sotto la pressione delle scadenze. Conoscere le trappole comuni è già metà del lavoro:

  • Saltare pianificazione e requisiti. Iniziare a programmare prima che qualcuno abbia concordato cosa costruire è la scorciatoia più costosa nel software; ogni ipotesi sbagliata si paga poi al decuplo.
  • Trattare i test come una fase comprimibile. Quando un progetto è in ritardo, i test sono la prima cosa a essere compressa — ed è esattamente così che i difetti raggiungono gli utenti. I test automatizzati proteggono questa fase dal calendario.
  • Dimenticare che la manutenzione esiste. La costruzione è solo una frazione del costo di vita di un prodotto; un progetto senza piano di manutenzione consegna un sistema di cui nessuno è responsabile già il giorno dopo il lancio.
  • Confondere il modello con il risultato. Adottare le cerimonie agili mantenendo un piano fisso e privo di feedback dà il sovraccarico senza il beneficio — « agile solo di nome ».
  • Sottostimare il lavoro. Le fasi crollano quando il calendario non è mai stato realistico. Una stima solida mantiene onesto il ciclo di vita — vedi la nostra guida alla stima dei progetti software.

FAQ

Che cos è il ciclo di vita dello sviluppo software?

Il ciclo di vita dello sviluppo software (SDLC) è il processo strutturato che un team segue per costruire un software — dalla prima idea al sistema in produzione e alla manutenzione continua. Suddivide il lavoro in fasi ordinate — di norma pianificazione, requisiti, progettazione, implementazione, test, rilascio e manutenzione — ciascuna con attività e deliverable definiti. Lo scopo è rendere la consegna prevedibile e la qualità visibile. Il SDLC è il quadro di riferimento; modelli come Waterfall, Agile e DevOps sono modi diversi di percorrerlo.

Quali sono le fasi del ciclo di vita dello sviluppo software?

Il modello più comune ha sette fasi: pianificazione, analisi dei requisiti, progettazione, implementazione, test, rilascio e manutenzione. Ognuna produce un deliverable da cui dipende la successiva — un piano di progetto, una specifica dei requisiti, un architettura, codice funzionante, una build testata, un rilascio in produzione e un sistema mantenuto. Alcuni team li riducono a cinque o sei stadi, ma il flusso resta lo stesso.

Quante fasi ha il SDLC?

Non esiste un unico numero ufficiale — la maggior parte delle fonti descrive tra cinque e sette fasi. La versione a sette fasi è la più dettagliata e diffusa; le versioni più brevi uniscono pianificazione e requisiti, rilascio e manutenzione. Ciò che conta non è il numero ma che ogni attività abbia un suo posto: senza una fase esplicita, pianificazione, test o manutenzione tendono a essere saltate.

Qual è la differenza tra SDLC e Agile?

Il SDLC è il quadro complessivo del lavoro necessario per costruire un software; Agile è un modo di ordinare quel lavoro. Ogni progetto pianifica, progetta, costruisce, testa e rilascia comunque — questo è il ciclo di vita. Waterfall percorre quelle fasi una volta, in sequenza; Agile percorre una porzione delle stesse fasi in ogni breve iterazione. Agile quindi non è un alternativa al SDLC — è un modello di SDLC.

Che cos è un ciclo di vita dello sviluppo software sicuro (SSDLC)?

Un ciclo di vita dello sviluppo software sicuro integra la sicurezza in ogni fase invece di testarla alla fine: modellazione delle minacce in pianificazione, architettura sicura in progettazione, codifica sicura e scansione delle dipendenze in implementazione, test di sicurezza prima del rilascio, configurazione rafforzata e patch tempestive in esercizio. Spostare così la sicurezza a sinistra costa molto meno che correggere una violazione dopo il lancio, e sempre più è un requisito di conformità.

Quale modello SDLC è il migliore?

Non esiste un modello universalmente migliore — quello giusto dipende da quanto sono stabili i tuoi requisiti e da quanto spesso puoi rilasciare. Waterfall si adatta a un ambito fisso e pienamente noto; Agile al lavoro di prodotto incerto e rilasciabile in modo incrementale; DevOps estende Agile con l automazione dei rilasci; il modello a V si adatta ai sistemi critici. La maggior parte dei team di prodotto nel 2026 lavora in Agile o DevOps.

Ultimo aggiornamento 2 luglio 2026. I dati di adozione e di performance di consegna fanno riferimento all indagine Digital.ai State of Agile e alla ricerca DORA State of DevOps di Google Cloud, citati a titolo indicativo. Le fasi e il modello giusti dipendono dal tuo ambito, dai tuoi vincoli e dal tuo team — considera questo un punto di partenza, non una prescrizione.