Il modello a cascata (waterfall) per l’analisi e la progettazione dei sistemi è stato creato nel 1970 e ha acquisito una notevole popolarità.
I compiti sono suddivisi in cinque livelli che seguono una progressione ordinata: determinazione dei requisiti, progettazione, implementazione, verifica e manutenzione.
Nella fase di definizione dei requisiti gli sviluppatori e il personale del cliente definiscono insieme l’ambito del progetto; in fase di progettazione vengono precisate le specifiche sia di base che di dettaglio; nella fase di implementazione vengono realizzati vari prodotti del progetto; in fase di verifica vengono testati e corretti gli eventuali errori; nella fase di manutenzione vengono apportate le modifiche necessarie a garantire continuità di funzionamento a quanto prodotto.
Nel modello a cascata ogni fase deve essere attentamente pianificata in anticipo per garantire il successo.
Oggi molte organizzazioni scelgono di utilizzare metodologie di sviluppo agile. Queste logiche ben si prestano a gestire alcuni progetti IT perché consenteno di focalizzarsi sul completamento di piccole parti del progetto per ogni ciclo di delivery, piuttosto che sul piano complessivo dell’intero progetto.
Vantaggi del modello a cascata
Se correttamente applicato, il metodo waterfall presenta diversi benefici nella gestione di un progetto che lo rendono preferibile rispetto ad altri approcci:
Corso Avanzato di Project Management
Per gestire progetti complessi
Agile | Scrum | Lean | Kanban
- Gli sviluppatori ed il personale del cliente discutono da subito tutto ciò che dovrà essere prodotto, il che rende la progettazione e il delivery più semplice. L’enfasi sui requisiti e la progettazione prima di arrivare a produrre garantisce il minimo spreco di tempo e sforzo e riduce il rischio di slittamento dei tempi, o che le aspettative dei clienti non vengano rispettate. Poiché si discute in dettaglio degli obiettivi finali, tutti gli stakeholder acquisicono una solida consapevolezza delle principali aspettative e dei risultati desiderati.
- Il modello a cascata consente di risparmiare tempo e denaro. Viene sviluppato solo ciò che è effettivamente necessario e gli sviluppatori possono correggere eventuali errori già nelle prime fasi, permettendo alla fase di attuazione di svolgersi senza intoppi. Poiché l’obiettivo finale è chiaramente definito nelle fasi iniziali, entrambe le parti comprendono i vincoli finanziari e temporali del progetto. Un difetto nei requisiti che non venga rilevato fino alla fase di realizzazione o alla manutenzione può costare da 50 a 100 volte di più che se fosse stato rilevato in fase di progettazione. Ciò dipende dal fatto che in fase di progettazione le risorse coinvolte sono numericamente inferiori a quelle che operano in fase di realizzazione ed esercizio ed un problema ha di conseguenza impatti diversi.
- Chi opera sul progetto può facilmente determinare quanti progressi vengono fatti, dal momento che le aspettative sono chiaramente definite prima dell’inizio di un progetto. Poiché il progetto è chiaramente tracciato dall’inizio alla fine, si è in grado di misurare rapidamente i risultati e le realizzazioni rispetto a quanto dovrà essere prodotto alla fine. Il modello a cascata è ideale per squadre che lavorano a stretto contatto, in quanto offre compiti e obiettivi ben definiti e consente quindi alle persone di programmare il proprio tempo in funzione di un quadro di riferimento in cui sono chiare le interdipendenze tra il lavoro dei vari team.
- Il modello a cascata consente un maggior livello di controllo sulle fasi di realizzazione e sui rischi associati proprio perché conserva una visione integrata di tutto ciò che deve essere fatto e delle interrelazioni. Su progetti complessi oppure su progetti innovativi il metodo waterfall consente di presidiare meglio le possibili criticità. Sarebbe quindi opportuno integrare i cicli di sviluppo agile all’interno di un modello a cascata per ottenere maggior solidità in termini di controlli.