Il metodo Agile: progettare collaborando

Il metodo Agile: progettare collaborando


Era il febbraio 2001 quando, in una stazione dello Utah, Stati Uniti, diciassette tra i più grandi esperti d’informatica, project manager e ingegneri del software si incontrarono per sciare, divertirsi e confrontarsi sul futuro della loro professione.

Tutti convinti che, nella progettazione del software, bisognasse superare la rigidità degli approcci tradizionali per abbracciarne uno più semplice, flessibile e vicino al cliente. Nacque così il Manifesto for Agile Software Development.

Agile, prima che un metodo, è una filosofia d’azione 

planningNata dopo la bolla della net economy, quando bisognò ripartire da zero imparando dalle piccole software house che abbattevano i costi ottimizzando i processi.

Basata sulla convinzione che il cliente non è semplicemente un committente che paga, con cui contrattare all’inizio per poi presentargli il lavoro finale; ma un partner con cui lavorare assieme, passo dopo passo, per raggiungere un obiettivo condiviso.

Perciò lo sviluppo del software, secondo Agile, deve attraversare diverse fasi, chiamate iterazioni, ciascuna di poche settimane. Al termine di ognuna di esse si otterrà una versione funzionante e potenzialmente rilasciabile, anche se non ancora completa di tutti i requisiti previsti.

Collaborazione e flessibilità per realizzare le aspettative del cliente

agile 2Il team Agile gode di una larga autonomia ed è composto in modo integrato da professionalità diverse che provengono, talvolta, anche dal cliente.
Le funzionalità del software vengono ripartite in user stories, realizzate una dopo l’altra durante le varie iterazioni e costantemente condivise con il cliente che può così fornire un suo riscontro immediato.

Il risultato è un software che, iterazione dopo iterazione, si avvicina progressivamente alle richieste del cliente e viene adeguato a quanto emerge in fase di confronto.
I costi di modifiche e aggiustamenti vengono abbattuti rispetto a quanto comporterebbe cambiare un progetto già ultimato.

Una comunicazione efficace alla base di storie di successo

IMG_1669

Molto spesso i problemi di comunicazione tra committente e sviluppatori sono molto più complessi e insormontabili di quanto non siano quelli tecnici. Un dialogo collaborativo e costante è indispensabile per affrontarli.
La metodologia agile pone il cliente al centro dello sviluppo software, concepito come un processo conoscitivo che progressivamente, passo dopo passo, porta il team agile alla piena comprensione del dominio del cliente.

Gli strumenti, i contratti, la documentazione rimangono decisivi: ma assumono rilievo ancora maggiore le persone, la lealtà, la condivisione. Lo spirito di collaborazione.
Anche le attività tipiche dello sviluppo – analisi, progettazione, codifica, test e integrazione – restano necessarie ma, invece di essere eseguite in fasi temporalmente distinte e talvolta da persone differenti,  vengono svolte quasi simultaneamente dal team agile all’interno di ogni iterazione.

Per saperne di più


+ There are no comments

Add yours