Il modello per il ciclo di sviluppo Agile

Il trend attuale si sposta verso modelli del ciclo di sviluppo focalizzati sulla soddisfazione del committente e in grado di adattarsi dinamicamente ai nuovi requisiti. Il modello V e il modello Agile.

Avatar di Riccardo Florio

a cura di Riccardo Florio

Il modello per il ciclo di sviluppo Agile

Lo sviluppo Agile combina un processo iterativo con uno di tipo  incrementale, spostando il focus sull’adattabilità del processo di sviluppo in funzione del livello di soddisfazione del cliente e prevedendo una rapida consegna della versione operativa del software.

Il metodo agile segmenta il software finale in una serie di piccoli componenti incrementali che vengono forniti in modo iterativo.

Ogni iterazione ha tempi brevi (dell’ordine di due o tre settimane) e può coinvolgere team differenti che hanno funzioni trasversali e che si trovano a lavorare contemporaneamente su diverse aree come: la pianificazione, l’analisi dei requisiti, la progettazione, la codifica, il test. Alla fine dell’iterazione viene reso disponibile al cliente un software operativo.In sostanza, si tratta di un approccio di sviluppo di tipo adattativo in cui non c’è una pianificazione dettagliata e in cui l’unica chiarezza sulle attività future riguarda le funzionalità che è necessario sviluppare. Si pone dunque in contrapposizione ai modelli più tradizionali (come quello a cascata) che si basano invece su un approccio intuitivo. 

Il team di sviluppo deve adattarsi in modo dinamico alle mutevoli esigenze del prodotto che viene testato molto frequentemente attraverso le iterazioni di rilascio, al fine di minimizzare il rischio di eventuali difetti importanti. 

Questo modello è attualmente ampiamente accettato nel mondo del software e rappresenta un approccio molto realistico che, tuttavia, non  è sempre adatto a ogni tipologia di prodotto. 

Ha il vantaggio che le nuove funzionalità possono essere sviluppate rapidamente e non richiede molte risorse. Può risultare, invece, poco adatto nel caso in cui si debbano gestire situazioni in cui sono presenti dipendenze funzionali complesse e manifesta alcuni rischi in termini di sostenibilità, manutenibilità ed estensibilità.