AGILE

 

 

La metodologia agile vs waterfall:

quale scegliere?

 

Quali sono gli aspetti più importanti in un progetto?

Ogni progetto può essere riassunto in due parole chiavi: pianificazione e gestione. Tuttavia, l’elemento più importante in qualsiasi progetto è il suo risultato.

Non importa quali development methodology (metodologie di sviluppo) si usano, il risultato finale è il metro di misura di tutto il lavoro fatto. Si rivela essenziale, quindi, per un’impresa trovare l’approccio più in sincronia con l’organizzazione aziendale e le esigenze di produzione.

Per questo motivo, oggi Appvizer analizza insieme a voi due metodologie differenti e le mette a confronto.

Poi spetta a voi scegliere quale si adatta meglio alla vostra impresa.

La metodologia Waterfall

Cos’è il waterfall model?

Origini

Il waterfall model (il modello a cascata), documentato nel 1970 da Royce, è stato il primo modello di product life cycle documentato pubblicamente. Il modello a cascata è una versione divenuta popolare del modello del ciclo di vita di sviluppo dei sistemi alla base dell’ingegneria del software.

Definizione

Il waterfall process è stato il primo process model ad essere introdotto. Si riferisce anche a un modello di product life cycle lineare/sequenziale. È molto semplice da capire e usare. In un waterfall approach, ogni fase deve essere completata completamente prima che la fase successiva possa iniziare. Questo tipo di modello di sviluppo del prodotto è usato fondamentalmente per un progetto piccolo o con requisiti certi.

Alla fine di ogni fase, ha luogo una revisione per determinare se il progetto è sulla strada giusta o ha bisogna di essere corretto.

Vantaggi e svantaggi della metodologia waterfall

I vantaggi

  • Definizione di una struttura chiara. La metodologia waterfall si basa su un insieme preciso e definito di fasi. I team devono portare a termine un’intera fase prima di passare a quella seguente. Quindi se si presentano degli ostacoli alla riuscita del progetto, è facile individuarli subito.
  • Il modello di funzionamento del metodo Waterfall è intuitivo e non presenta il bisogno di certificazioni o formazioni specifiche per i project manager o gli altri collaboratori.
  • Stabilire in anticipo gli obiettivi finali. Una delle caratteristiche del metodo a cascata consiste nel rispetto dell’obiettivo stabilito nella fase finale. I team lavorano sin da subito avendo ben presente il traguardo finale.
  • Trasferimento accurato di informazioni. La metodologia Waterfall è per definizione metodica, quindi il passaggio accurato di informazioni da una fase all’altra è uno dei pilastri portanti di questo metodo.

Gli svantaggi

  • Difficoltà nell’apportare cambiamenti. La metodologia, nella sua versione più tradizionale, non permette che si possano apportare dei cambiamenti o delle modifiche improvvise o all’ultimo minuto. Un cambiamento improvviso delle direttive del progetto potrebbe vanificare gran parte del lavoro che avete svolto fino a quel punto, con un conseguente ripercussione sulle deadline.
  • Esclusione del cliente o dell’utente finale. Essendo un processo interno, la metodologia Waterfall esclude l’utente finale o il cliente coinvolto in un progetto. I clienti spesso preferiscono essere partecipi dell’evoluzione di un progetto, aggiungendo opinioni e chiarendo ciò che vogliono.
  • Testing phase alla fine del progetto. Lasciare la fase di test alla fine è altamente rischioso. Il progetto ha probabilmente sottratto tempo e energia al team prima di essere portato a termine, quindi dei cambiamenti all’ultimo minuto potrebbe pregiudicare la riuscita del progetto.

La metodologia Agile

Origini

La filosofia agile inizia a comparire negli anni ‘90 nell’ambito del software development e nei progetti di sviluppo in generale.

Ma è nel 2001 nello Utah quando nell’ambito di un incontro tra degli sviluppatori software, che si è trovata la metodologia agile come risposta alla rigidità degli approcci tradizionali.

Negli anni si sono sviluppati diversi Framework Agili come :

  • Scrum
  • Extreme programming
  • DSDM
  • Lean software development
  • Crystal

Definizione

La metodologia agile è un complesso di attività e pratiche che rendono la gestione di un processo più flessibile. Nel, complesso la sua caratteristica principale è che consente al project manager e ai membri del team di seguire la priorità e l’avanzamento delle differenti fasi e adattare. Quindi, nel caso di elementi bloccanti rende possibile adattare le priorità o le attività.

I 4 principi della metodologia agile

  1. Gli individui e le interazioni al posto dei processi e degli strumenti
  2. Software performanti piuttosto che una documentazione eccessiva
  3. La collaborazione con il cliente è preferita alla negoziazione dei contratti
  4. Essere reattivi al cambiamento piuttosto che attenersi strettamente a un piano di lavoro

Vantaggi e svantaggi dell’agile approach

I vantaggi

La metodologia Agile presenta innumerevoli vantaggi. I più importanti sono:

  • una maggiore flessibilità
  • una migliore relazione con i clienti
  • una collaborazione continua tra le controparti
  • uno sviluppo sostenibile
  • un aumento della qualità tramite una riduzione esponenziale degli errori
  • un maggiore rispetto delle scadenze
  • Migliore visibilità dell’avanzamento del progetto

Gli svantaggi

La metodologia Agile presenta, tuttavia, degli svantaggi:

  • Necessità di presentare un’estrema chiarezza degli obiettivi
  • una strategia lavorativa che non è in linea con le mentalità più tradizionali
  • Difficoltà nel stabilire chiaramente i costi, tempo e risorse all’inizio del progetto
  • Difficoltà nel tenere traccia dei progressi perché la metodologia agile si basa su un sistema a incrementi