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