SDLC - Modello incrementale iterativo

In un modello incrementale iterativo, inizialmente, un'implementazione parziale di un sistema totale viene costruita in modo che sia in uno stato deliverable. Viene aggiunta una maggiore funzionalità. I difetti, se presenti, dalla consegna precedente vengono risolti e il prodotto funzionante viene consegnato. Il processo viene ripetuto fino al completamento dell'intero sviluppo del prodotto. Le ripetizioni di questi processi sono chiamate iterazioni. Alla fine di ogni iterazione, viene consegnato un incremento del prodotto.

Modello incrementale iterativo - Punti di forza

I vantaggi o i punti di forza del modello incrementale iterativo sono:

  • È possibile sviluppare prima i requisiti prioritari.

  • La consegna iniziale del prodotto è più veloce.

  • I clienti ottengono presto funzionalità importanti.

  • Riduce i costi di consegna iniziale.

  • Ogni versione è un incremento del prodotto, in modo che il cliente abbia sempre a portata di mano un prodotto funzionante.

  • Il cliente può fornire un feedback ad ogni incremento di prodotto, evitando così sorprese alla fine dello sviluppo.

  • Le modifiche ai requisiti possono essere facilmente adattate.

Modello incrementale iterativo - Debolezze

Gli svantaggi del modello incrementale iterativo sono:

  • Richiede una pianificazione efficace delle iterazioni.

  • Richiede una progettazione efficiente per garantire l'inclusione delle funzionalità richieste e la fornitura di modifiche successive.

  • Richiede la definizione anticipata di un sistema completo e perfettamente funzionante per consentire la definizione degli incrementi.

  • Sono necessarie interfacce di modulo ben definite, poiché alcune vengono sviluppate molto prima che altre vengano sviluppate.

  • Il costo totale del sistema completo non è inferiore.

Quando utilizzare il modello incrementale iterativo?

Il modello incrementale iterativo può essere utilizzato quando:

  • La maggior parte dei requisiti è nota in anticipo, ma si prevede che evolverà nel tempo.

  • I requisiti hanno la priorità.

  • È necessario che le funzionalità di base vengano fornite rapidamente.

  • Un progetto ha tempi di sviluppo lunghi.

  • Un progetto ha una nuova tecnologia.

  • Il dominio è nuovo per il team.