Agile

Agile

Processo di sviluppo software e project management che enfatizza la soddisfazione del cliente attraverso la fornitura continua di software funzionante.

Nell’ingegneria del software, l’espressione metodologia agile (o sviluppo agile del software, in inglese agile software development, abbreviato in ASD) si riferisce a un insieme di metodi di sviluppo del software emersi a partire dai primi anni 200 e fondati su un insieme di principi comuni, direttamente o indirettamente derivati dai princìpi del “Manifesto per lo sviluppo agile del software” (Manifesto for Agile Software Development, impropriamente chiamato anche “Manifesto Agile”) pubblicato nel 2001. I metodi agili si contrappongono al modello a cascata e ad altri processi software tradizionali, proponendo un approccio meno strutturato e focalizzato sull’obiettivo di consegnare al cliente, in tempi brevi e frequentemente (early delivery/frequent delivery), software funzionante e di qualità. I principi che devono essere rispettati affinché un metodo possa definirsi Agile prevedono che 1) Gli individui e le interazioni pesino più che i processi e gli strumenti; 2) il software funzionante pesi più che la documentazione esaustiva; 3) la collaborazione col cliente pesi più che la negoziazione dei contratti; 4) vi sia una risposta al cambiamento più che l’adesione a un piano.

L’idea del Metodo Agile non si basa sull’approccio classico e lineare di progettazione, ma sulla possibilità di realizzare un progetto per fasi, chiamate “sprint”. Ad ogni sprint corrisponde una nuova funzionalità e viene verificata la soddisfazione del cliente, al quale viene mostrato il lavoro svolto fino a quel punto. Un sistema iterativo (ed interattivo) che consente di apportare agilmente modifiche al progetto, di abbattere i costi di produzione e, soprattutto, di evitare effort inutili ed un eventuale fallimento del progetto.