Sono orami anni che guida lo sviluppo dei sistemi interattivi più disparati, sia fissi che mobili: il Waterfall Model o come piace chiamarlo a noi italiani Modello a Cascata è sicuramente il punto di riferimento per i progettisti, qualunque tipo di sistema essi abbiano intenzione di realizzare.
La particolarità di questo modello è il numero di feedback, teoricamente infinito che è possibile ricavare da ogni fase, la quale, se necessario, può essere ripetuta un gran numero di volte, fino al raggiungimento di quello che si considera un risultato sufficiente a soddisfare vincoli, siano essi progettuali o di usabilità del sistema.
Forse il lettore conosceva già il modello e le sue caratteristiche fondamentali, ma probabilmente per molti di voi il termine “Programmazione Agile” è sconosciuto.
Si tratta di una tecnica di programmazione, non nel senso pratico della parola, bensì nel modo in cui si interagisce con il Cliente e con il gruppo di lavoro.
Per apprendere la tecnica un paragone con il passato è d’obbligo: anni fa al programmatore o al gruppo di programmatori veniva assegnato un progetto, generalmente questo consisteva di un manoscritto in cui erano presenti informazioni relative al software da sviluppare, vincoli imposti e funzionalità richieste.
Il programmatore arrivato alla data di scadenza, impostagli dal Cliente si presentava da questo con un software che veniva sistematicamente rifiutato per i motivi più disparati, si va dalla mancanza di funzionalità al non aver addirittura compreso per nulla il progetto che gli si era posto mesi prima.
Con la Programmazione Agile invece, con il gruppo di lavoro vengono prefissati degli incontri, generalmente 1/2 volte a settimana, lo scopo dei quali è quello di capire dove si è giunti, comprendere insieme quale sarebbe stata la fase successiva da espletare e se presenti discutere di problematiche venute fuori durante l’implementazione del software.
A migliorare è anche l’interazione con il Cliente, fondamentale dato che questo rappresenta il principale destinatario del prodotto finale, con il quale sono fissati degli incontri costanti per discutere sull’andamento del progetto, coinvolgendolo il più possibile nella progettazione e realizzazione dello stesso.