AGILE: conosciamolo meglio sfatandone alcuni miti.

Al giorno d’oggi le aziende che sviluppano software hanno ormai del tutto abbandonato il processo di sviluppo Waterfall (a cascata) in favore del processo di sviluppo Agile. Ma siamo sicuri che sia stato veramente ben compreso cosa significa adottare questa metodologia di sviluppo? Oggi sfateremo alcuni miti legati a questa metodologia.

Adottare Agile significa iniziare a lavorare senza requisiti o avere le idee chiare su cosa dovrà fare il software. Falso, prima di iniziare lo sviluppo di un software è necessario avere ben chiari in mente i requisiti e cosa farà il software per fornire valore al cliente utilizzatore finale.

Spesso si fraintende il principio “Accogliamo i cambiamenti nei requisiti, anche a stadi avanzati dello sviluppo. I processi agili sfruttano il cambiamento a favore del vantaggio competitivo del cliente” con il fatto che si possano accettare requisiti vaghi o sommari pur di iniziare lo sviluppo di qualcosa che andrà cambiato successivamente.

Un fattore fondamentale è che nella metodologia di sviluppo Agile i cambiamenti non avvengono soltanto nei requisiti del software ma anche nei processi e strumenti utilizzati dal team in un’ottica di ricerca continua del miglioramento.

Non organizziamo il nostro lavoro in sprint bisettimanali perché non riusciamo a rilasciare nulla in così poco tempo. Questa affermazione spesso è figlia del concetto che il risultato della sprint debba essere una funzionalità completa dall’inizio alla fine. All’interno di un ciclo di sviluppo bisettimanale si può considerare di sviluppare e consegnare anche una semplice API REST, una interfaccia utente non ancora del tutto collegata ai dati reali o persino il risultato di uno o più ricerche esplorative chiamate Spike. Il rilascio frequente e cadenzato del software è uno dei principi cardine della metodologia:

Consegniamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi, preferendo i periodi brevi.

Posso utilizzare la metodologia Agile in qualsiasi contesto e con qualsiasi cliente. La metodologia Agile non è applicabile in contesti in cui lo sviluppo richiede un’attenta e metodica analisi, molta documentazione e le fasi di sviluppo sono soggette a rigidi e continui controlli; uno degli esempi più comuni è il software a bordo degli aerei di linea.

Altri contesti dove è fortemente sconsigliata l’adozione di Agile sono quelli dove il committente non è disposto ad adottare tale strategia perché questo violerebbe uno dei principi fondamentali: “Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto”

La collaborazione del committente nel partecipare attivamente allo sviluppo fornendo continui feedback al team in ottica collaborativa è fondamentale per il successo del progetto.

About Author /

Software Engineering Manager

Lascia un commento

Your email address will not be published.

Start typing and press Enter to search