Metodologia Waterfall: Vantaggi e Svantaggi PDF
Document Details
Uploaded by CostEffectiveThorium1709
University of Milan
Tags
Summary
Questo documento descrive la metodologia di project management "Waterfall", evidenziandone i punti di forza e di debolezza. Vengono descritte le fasi del processo e gli aspetti chiave, quali la sequenzialità e la documentazione. Il documento è un'analisi descrittiva, non un esame.
Full Transcript
**La Metodologia di Project Management "Tradizionale" (*Waterfall*)** Quale è e in cosa consiste la Metodologia di Project Management denomintata Waterfall? La Metodologia Waterfall segue un processo sequenziale e lineare ed è la versione più popolare del ciclo di vita dello sviluppo dei sistemi (...
**La Metodologia di Project Management "Tradizionale" (*Waterfall*)** Quale è e in cosa consiste la Metodologia di Project Management denomintata Waterfall? La Metodologia Waterfall segue un processo sequenziale e lineare ed è la versione più popolare del ciclo di vita dello sviluppo dei sistemi (SDLC) per progetti di ingegneria del software e IT. A volte viene pianificata utilizzando un diagramma di Gantt, un tipo di grafico a barre che mostra le date di inizio e fine per ogni attività. Una volta completata una delle otto fasi, il team di sviluppo passa alla fase successiva. Il team non può tornare a una fase precedente senza ricominciare l\'intero processo dall\'inizio. E, prima che il team possa passare alla fase successiva, i requisiti potrebbero dover essere rivisti e approvati dal cliente. Il modello Waterfall ha avuto origine nei settori manifatturiero e delle costruzioni, entrambi ambienti altamente strutturati in cui i cambiamenti possono essere troppo costosi o talvolta impossibili. La prima descrizione formale di Waterfall è attribuita a Winston W. Royce in un articolo del 1970 in cui descriveva un modello software difettoso. **Vantaggi di Waterfall** Waterfall è utilizzato al meglio per progetti semplici e immutabili. La sua natura lineare e rigida lo rende facile da usare e consente una documentazione approfondita. **I vantaggi di Waterfall includono:** **Facile da usare e gestire**: poiché il modello Waterfall segue lo stesso schema sequenziale per ogni progetto, è facile da usare e capire. Il team non ha bisogno di alcuna conoscenza o formazione pregressa prima di lavorare a un progetto Waterfall. Waterfall è anche un modello rigido; ogni fase ha risultati e revisioni specifici; quindi, è facile da gestire e controllare. **Utilizza una certa "disciplina"**: ogni fase in Waterfall ha un punto di inizio e di fine ed è facile condividere i progressi con le parti interessate e i clienti. Concentrandosi sui requisiti e sulla progettazione prima di scrivere il codice, il team può ridurre il rischio di una scadenza persa. **Richiede un approccio ben documentato**: Waterfall richiede documentazione per ogni fase, con conseguente migliore comprensione della logica alla base del codice e dei test. Lascia anche una traccia cartacea per eventuali progetti futuri o se le parti interessate hanno bisogno di vedere maggiori dettagli su una determinata fase. **Svantaggi di Waterfall** Il più grande svantaggio di Waterfall è il modo in cui gestisce il cambiamento. Poiché Waterfall è un modello lineare e sequenziale, non è possibile rimbalzare tra le fasi, anche se si verificano cambiamenti imprevisti. Una volta completata una fase, è fatta. Desidero fornirvi ancora alcune informazioni sugli **svantaggi di Waterfall**: **Le modifiche non possono essere facilmente gestite**: una volta che il team completa una fase, non può tornare indietro. Se raggiungono la fase di test e si accorgono che una funzionalità mancava dalla fase dei requisiti, è molto difficile e costoso tornare indietro e correggerla. **Il software non viene consegnato fino a tardi**: il progetto deve completare da due a quattro fasi prima che la codifica inizi effettivamente. Di conseguenza, le parti interessate non vedranno il software funzionante fino a tardi nel ciclo di vita. **Raccogliere requisiti accurati può essere impegnativo**: una delle prime fasi di un progetto Waterfall è parlare con i clienti e le parti interessate e identificare i loro requisiti. Tuttavia, può essere difficile individuare esattamente cosa vogliono così presto nel progetto. Spesso, i clienti non sanno cosa vogliono all\'inizio e invece apprendono e identificano i requisiti man mano che il progetto procede. **Le 8 Fasi della Waterfall** Ci sono otto fasi in Waterfall e devono tutte verificarsi in ordine sequenziale. Ad esempio, il team di sviluppo non può tornare alla fase di analisi se si trova nella fase di test. 1. **Concepimento**: questa fase inizia con un\'idea. La fase di concetto comporta una valutazione approssimativa del progetto, perché è vantaggioso e analizza eventuali stime iniziali dei costi. **Inizio**: una volta formata l\'idea, è necessario assumere il team di progetto e definire obiettivi, ambito, scopo e risultati. **Raccolta e analisi dei requisiti:** i requisiti vengono raccolti e analizzati per vedere se il progetto è effettivamente fattibile. Tutte queste informazioni sono documentate in un documento di specifiche dei requisiti. **Progettazione**: le specifiche di progettazione create in questa fase vengono utilizzate nella fase di codifica per scrivere effettivamente il codice. I requisiti vengono studiati e valutati e viene preparata la progettazione del sistema. L\'obiettivo del team è comprendere quali azioni devono essere intraprese e come dovrebbero essere. **Implementazione/Codifica**: inizia la codifica effettiva del software. Tutti i diagrammi di flusso o gli algoritmi creati nella fase di progettazione vengono tradotti in un linguaggio di programmazione. Test: una volta completato il codice, il software deve essere testato per eventuali errori. Una volta terminati i test, il software viene consegnato al cliente. Alcuni team possono scegliere di includere test di accettazione utente (UAT), in cui gli utenti testano il software prima che venga distribuito al pubblico in generale. **Manutenzione**: una volta che i clienti hanno utilizzato il software nel mondo reale, potrebbero riscontrare ulteriori problemi. Il team di sviluppo dovrà risolvere, cambiare o modificare il software per continuare a essere efficace. **Sviluppo iterativo a cascata** Nel modello tradizionale a cascata, il team attraversa ogni fase per l\'intero progetto. Ad esempio, esegue l\'analisi per l\'intero progetto, quindi esegue la progettazione per l\'intero progetto, ecc. In un modello iterativo a cascata, è ancora richiesta molta pianificazione iniziale. Una volta che il piano è in atto, il team segue lo stesso schema del modello tradizionale a cascata, ma lo fa per ogni storia. Esegue l\'analisi per una storia, quindi tutta la progettazione per una storia, quindi tutta la codifica e i test per una storia. Quindi ripetono il processo per un\'altra storia. Il lavoro viene suddiviso in blocchi che avvantaggiano il team di sviluppo. **Come Waterfall gestisce i requisiti software** I progetti Waterfall definiscono tutti i requisiti software in anticipo. Il progetto non può procedere a meno che questi requisiti non siano stati identificati e documentati. Alcuni progetti Waterfall possono avere un team dedicato per catturare, raccogliere e riunire questi requisiti. Possono utilizzare questionari, interviste faccia a faccia o telefoniche, lavagne e strumenti software per catturare i requisiti degli stakeholder e dei clienti. Una volta definiti i requisiti iniziali, il team dovrebbe produrre un documento di specifica dei requisiti (a volte possono crearne più di uno). Questo documento definisce cosa deve essere consegnato in modo che tutti comprendano l\'ambito del progetto.