Nell`ingegneria del software, per metodologia Agile si intende un

Transcript

Nell`ingegneria del software, per metodologia Agile si intende un
Agile
Agile
Nell'ingegneria del software, per metodologia Agile si intende un particolare metodo per lo
sviluppo del software che coinvolge quanto più possibile il committente, ottenendo in tal modo
una elevata reattività alle sue richieste.
La gran parte dei metodi agili, tentano di ridurre il
rischio di fallimento sviluppando il software in finestre di tempo limitate chiamate iterazioni che,
in genere, durano qualche settimana. Ogni iterazione è un piccolo progetto a sé stante e deve
contenere tutto ciò che è necessario per rilasciare un piccolo incremento nelle funzionalità del
software:
pianificazione (planning),
analisi dei requisiti, progetto, implementazione, test e documentazione.
Anche se il risultato di ogni singola iterazione non ha sufficienti funzionalità da essere
considerato completo deve essere rilasciato e, nel susseguirsi delle iterazioni, deve avvicinarsi
sempre di più alle richieste del cliente. Alla fine di ogni iterazione il team deve rivalutare le
priorità di progetto.
I metodi agili preferiscono la comunicazione in tempo reale, preferibilmente faccia a faccia, a
quella scritta (documentazione).
Il nome Agile, deriva da una differenziazione all'interno dell'ingegneria del software per quanto
riguarda i metodi e i modelli di sviluppo. Infatti si parla di:
- metodologie pesanti per i vecchi metodi basati sul modello a cascata;
- metodologie iterative per i metodi basati sul modello a spirale;
- metodologie agili per i metodi basati sui principi definiti nell'Agile Manifesto.
Per insieme di metodologie, s'indica tutte quelle metodologie di sviluppo che rivoluzionano i
vecchi sistemi di ingegneria del software (modello a cascata, modello a spirale, etc.), basati su
una raccolta delle specifiche e su una strutturazione sequenziale dello sviluppo software.
In questo modo sotto questo nome si raggruppano metodologie innovative come Extreme
Programming, SCRUM, Feature Driven Development, DSDM, Crystal e Lean software
development. Tali metodologie si chiamano appunto agili perché consentono di rivedere di
1/2
Agile
continuo le specifiche e di cambiarle durante lo sviluppo mediante un forte scambio di
informazioni e di pareri con il committente.
2/2