Sviluppo Software Agile

SoftwareProcess

Il Processo di Sviluppo del Software

Lo Sviluppo del Software è un procedimento complesso che mette in relazione tra loro le Entità Soggettive ad esempio clienti, fornitori, prodotti etc, attraverso delle Entità Oggettive ad esempio fatture, ordini, pagamenti etc.

Alla base della riuscita di un progetto di sviluppo del software vi sono i Requisiti Progettuali che devono essere raccolti attraverso la fase di Analisi dei Requisiti. Tale fase coinvolge il cliente ed il consulente che, ognuno nell’ambito dei propri ruoli, cercano di esporre nel dettaglio i requisiti ed elencarli senza mancanze.

Vi è che nella maggior parte dei casi il cliente non riesce ad esprimere tutte le sue esigenze ed il consulente non raccoglie in modo analitico tutti i requisiti. Ne consegue che dopo lo sviluppo software, durante la fase di test, si scoprono delle lacune che costringono a rivedere l’intero progetto daccapo con notevole dispendio di mezzi e risorse finanziarie sia da un lato che dall’altro.

Waterfall

La Metodologia Classica Waterfall

La classica metodologia di sviluppo del software in uso nella maggior parte dei progetti, prevede le varie fasi del processo come procedimenti sequenziali a senso unico.

La prima fase è quella dei requisiti: il consulente si incontra col cliente e raccoglie le sue esigenze.

Chiude la prima fase ed apre quella dello sviluppo: il consulente codifica il software sulla base dei requisiti raccolti col cliente.

Chiude la seconda ed apre la terza: consegna il software al cliente ed inizia la fase di test insieme a lui.

Durante l’ultima fase, nella maggior parte dei casi, il cliente si ricorda nuovi requisiti che impattano in modo significativo sul progetto e quindi il consulente è costretto ad una lunga fase di adattamento del software per soddisfare le aspettative del cliente.

Con il software già sviluppato, questa fase di adattamento risulta onerosa e frustrante.

SoftwareAgile1

Il Processo di Sviluppo Agile

A differenza del Waterfall, il Processo di Sviluppo Software Agile non è diviso in fasi sequenziali a senso unico ma lascia aperte le varie fasi per tutta la durata del progetto effettuando dei cicli iterativi di verifica ed adattamento in corso d’opera.

Il consulente di incontra col cliente e raccoglie i requisiti progettuali, li analizza e codifica solo in parte il software realizzando un modello reale non finito per poi incontrarsi di nuovo col cliente.

Il consulente mostra il prototipo al cliente che vede materializzate le sue esigenze e si ricorda degli altri requisiti.

Il consulente nel completare la codifica include queste nuove esigenze ed incontra di nuovo il cliente per mostrargli il software in uno stadio più avanzato.

Iterazione ed Incremento Funzionale sono quindi le caratteristiche principali del Processo Agile che consentono una migliore espressione dei requisiti ed un adattamento meno oneroso.

SoftwareAgile

Le Fasi del Processo Agile

Volendo definire analiticamente le varie Iterazioni, senza porre dei limiti ad esse, possiamo affermare che nella maggior parte dei casi bastano tre Iterazioni Incrementali:

Prototipo: si raccolgono i requisiti e si disegna l’interfaccia utente senza integrare la memorizzazione / lettura dei dati. Si mostrano le maschere al cliente e si simula l’utilizzo del software.

Alfa: si elaborano i nuovi requisiti emersi nella fase Prototipo e si codificano la memorizzazione e la lettura dei dati. Ci si incontra di nuovo col cliente e si simula di nuovo l’utilizzo del software, questa volta con i dati presenti.

Beta: si elaborano i nuovi requisiti emersi nella fase Alfa e si codifica in modo completo il software. Ci si incontra col cliente e si utilizza il software completo di tutti i dettagli, si risolvono gli ultimi difetti e si rilascia il software per la fase di test e messa in produzione.

Il processo Agile risulta particolarmente utile nel caso di Creazione App per dispositivo Mobile ed in particolare nella creazione di App Aziendali.

Iterativo, Incrementale, Agile !

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...