Metodologie di sviluppo software: metodo agile

Per metodologia di sviluppo software, in informatica, si intende la serie di processi necessari per ottimizzare le fasi di sviluppo stesso. Società, come Area Software a Roma, sono specializzate proprio in questi processi che sommariamente vengono suddivisi in:

  • Metodologie pesanti o modelli a cascata;
  • Metodologie iterative o modelli a spirale; e
  • Metodologie agili.

Le prime due sono i modelli più diffusi, per cui approfondiamo le metodologie agili di sviluppo software (per saperne di più clicca qui).

Che cos’è la metodologia agile

L’acronimo inglese è ASD – Agile Software Development – e indica una serie di metodi di sviluppo del software messi a punto nei primi anni del 2000 da Kent Beck, Robert Martin e Martin Fowler. La metodologia agile si basa su un approccio meno focalizzato rispetto ai tempi e ai modi di raggiungimento dell’obiettivo e consegna del prodotto al cliente finale, attraverso software di qualità, funzionanti e di rapido – agile, appunto – aggiornamento o aggiustamento. Tra i processi di metodologia agili si citano:

  • Team di sviluppo piccoli, auto-organizzati e interfunzionali;
  • Sviluppo di software iterativo e incrementale;
  • Pianificazione adattiva;
  • Coinvolgimento costante del cliente nelle fasi di sviluppo.

I metodi agili cercano di ridurre i rischi di fallimento attraverso la creazione di software in finestre temporali limitate – in gergo iterazioni – della durata di qualche settimana. L’iterazione è un micro-progetto che contiene l’intero ciclo di sviluppo di un software dalla pianificazione alla documentazione. Anche se ogni singola iterazione non è sufficiente alla completa funzionalità del software, è bensì il susseguirsi concatenato delle iterazioni ad avvicinarsi alle richieste del cliente. Al termine di ogni iterazione, il team rivaluta le priorità di progetto e apporta le modifiche e le migliorie.

Come si compone un team di metodologia agile

La metodologia agile predilige le comunicazioni in tempo reale rispetto alla forma scritta o documentazione. Un team agile si compone nel suo nucleo ristretto da:

  • Programmatori;
  • Product manager,
  • Business analysts;
  • Cliente (che può coincidere con una delle figure sopracitate).

Le pratiche che si applicano all’interno di una metodologia agile sono decine e si applicano in base alle richieste e alle necessità del cliente. Una delle più “estreme” si chiama, appunto, extreme programming che si fonda sulla mancanza assoluta di una forma di progettazione e documentazione dove il coinvolgimento del cliente nello sviluppo e la programmazione in coppia è essenziale.