Perché un processo di sviluppo iterativo è meglio per il Cliente?

[Voti: 13    Media Voto: 4.2/5]

Tradizionalmente lo sviluppo del software viene suddiviso nelle seguenti fasi:

  1. Elicitazione dei requisiti;
  2. Stima di tempi e costi;
  3. Sviluppo;
  4. Rilascio;
  5. Supporto post-rilascio;

Questo approccio, nonstante sia ancora quello più utilizzato, soffre di evidenti limiti, primo fra tutti il fatto che la stima di tempi e costi avviene nelle prime fasi e resta immutata per tutta la fase dello sviluppo.

Esistono vari motivi per cui questo è un limite e dipendono tutti dalla discrepanza tra teoria e pratica:

  • nella realtà non è vero che si possono elicitare tutti i requisiti all’inizio del progetto;
  • nella realtà non è vero che i requisiti elicitati nella fase iniziale restano immutati fino alla fine dello sviluppo;

Queste considerazioni determinano di fatto un errore di valutazione per quanto riguarda la stima di tempi e costi.

L’errore che si può commettere in questo frangente è direttamente proporzionale alle dimensioni del software che si vuole realizzare.

Sottostimare la realizzazione di un software non sarebbe di per sé così grave se non venisse accompagnato dalla storica riluttanza dei committenti a non voler pagare le funzionalità non previste nelle fasi iniziali o addirittura non presenti nel contratto di sviluppo sottoscritto e anzi a pretenderle forti del fatto che pagheranno in un momento futuro.

Stanti le cose, molti sviluppatori cercano di porre rimedio a questo scenario con pagamenti anticipati di quote del progetto e gonfiando le stime iniziali.

Le possibili conseguenze di questa “soluzione” possono essere:

  • il rifiuto del cliente a causa di tempi e cifre fuori mercato;
  • la sovrastima del progetto: il cliente pagherà di più di quello che sarebbe stato il giusto.

In sintesi, utilizzando questo tipo di approccio, in 2 casi su 3 una delle due parti reseterà insoddisfatta: lo sviluppatore se ha sottostimato (caso più probabile), il committente se lo sviluppatore ha sovrastimato.

Consapevoli di tutto ciò, su progetti di grandi dimensioni, è più saggio accettare l’impossibilità di effettuare stime ragionevolmente precise e cambiare tipo di approccio.

Lo sviluppo a iterazioni non soffre di questi limiti poiché non è necessario elicitare dettagliatamente i requisiti e non è necessario effettuare una stima a priori.

Secondo questo metodo infatti le uniche cose che si definiscono sono:

  • la durata delle iterazioni: in genere un mese;
  • il costo di ogni iterazione;

In questo modo il Cliente ha i seguenti vantaggi:

  • non pagherà più del necessario;
  • avrà un feedback sullo stato di avanzamento dei lavori al completamento di ogni iterazione in modo da non avere sorprese e poter correggere la rotta man mano che si procede;
  • avrà la massima libertà, in qualsiasi momento, di chiedere modifiche alle funzionalità già implementate o addirittura di richiedere nuove funzionalità inizialmente non previste;
  • potrà decidere di sospendere o interrompere lo sviluppo quando vuole.

Abbinare lo sviluppo di software su misura alla modalità di sviluppo a iterazioni è il modo più efficace ed efficiente di ottenere gli strumenti giusti per far crescere la propria impresa.

Garda Informatica

Garda Informatica

Garda Informatica sviluppa software su misura nella forma di Web Application, App Ibride per iOS/Android/Windows Phone, Crawler Web, Gestionali Web o semplici Connettori per l'integrazione tra software di terze parti.
Garda Informatica