Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub
Modello a Cascata (Waterfall)

è un metodo sequenziale per la produzione di codice, in cui lo sviluppo "fluisce verso il basso" attraverso le fasi di :

  • analisi dei requisiti
  • disegno
  • implementazione
  • testing
  • integrazione
  • mantenimento

Si passa da una fase all'altra in maniera sequenziale, non si torna indietro e il passaggio da una fase alla successiva è possibile solo quando le attività della fase precedente sono terminate.

Questo modello è molto ordinato, ma prevede anche che i requisiti iniziali, una volta analizzati, non possano più cambiare per tutta la durata del progetto. Inoltre non esistono prototipi intermedi che possoano essere discussi e perfezioanti.

Quindi questo modello può essere usato solo in ambienti estremamente stabili, sia dal punto di vista di business che dello sviluppo vero e proprio.

Modello a Spirale

Vede il processo di sviluppo come formato da iterazioni successive, ciascuna delle quali termina con il rilascio di un prototipo, di funzionalità  qualità via via crescenti, al crescere del numero di iterazioni.

Il ricorso alla prototipazione permette il confronto tra il team di sviluppo e il cliente e la conseguente riduzione del rischio.

Ogni fase, di fatto, inizia e termina con il supporto del cliente con cui, prima, vengono discussi i requisiti, e con cui, poi vengono analizzati pregi e difetti del prototipo.

Il problema di questo metodo e che con un un aumento notevole delle iterazioni non si riesca poi a convergere a un rilascio stabile.

Metodi Agili

In ingegneria del software per metodologia agile si intende un metodo di sviluppo software basato su brevi iterazioni, della durata massima di qualche settimana, con l'obiettivo di realizzare un insieme via via crescente di funzionalità, organizzate per priorità decrescente. Per fare questo, la collaborazione continua con il cliente è essenziale.

L'obiettivo del metodo è la produzione di software di qualità.

Esistono degli ambiti di progetto che sono ideali:

  • progetti di ricerca
  • progetti di contenimento dei costi
  • progetti condotti da organizzaioni con una cultura dinamica e innovatrice

Si presta bene, quindi, a essere adottata in team di dimensioni abbastanza piccole e altamente collaborativi e motivati. Il modo di procedere è quindi quello di dare un obiettivo di alto livello al team, a cui è lasciata poi la scomposizione e l'assegnazione del lavoro.

Quindi è importante:

  • il coinvolgimento del cliente
  • rilasci frequenti del software
  • refactoring (modificare solo la logica interna)
  • testing
  • pair programming (2 programmatori lavorano sullo stesso codice così si controllano a vicenda)
  • documentazione più leggera possibile, ci si concentra sull'output
Average (1 Vote)
The average rating is 5.0 stars out of 5.