Seleziona una pagina
  • Un successo quando viene completato in tempo rispettando il budget e con tutte le funzionalità richieste.
  • Disputato quando viene completato ma non rispettando il budget, i tempi previsti o con meno funzionalità.
  • Un fallimento quando viene cancellato prima del completamento o non viene mai implementato.

Ci sono molti studi sui principali motivi di falliemento di un progetto informatico. I risultati di questi studi hanno contribuito ad alzare la percentuale di successo dei progetti dal 16% del 1994 al 34% del 2006. I principali motivi di fallimento emersi nel corso di tali studi sono risultati i seguenti:

  1. mancanza di partecipazione dei progettisti: Un progetto richiede tempo e quando gli stessi progettisti lavorano su più progetti contemporaneamente, trovare il tempo per un nuovo progetto non è tra le loro priorità
  2. Scadenze temporali lunghe o non realistiche: La raccomandazione chiave è che le scadenze temporali di un progetto dovrebbero essere corte, che significa che i sistemi di grandi dimensioni dovrebbero essere divisi in sotto-progetti separati.
  3. Requisiti scarsi o mancanti: Gli sviluppatori, non avendo input dagli utenti, fanno scelte progettuali senza avere una adeguata conoscenza del dominio applicativo. Inevitabilmente quando il sistema viene consegnato, gli utenti lamentano la mancanza di funzionalità che avrebbero voluto
  4. Crescita esponenziale delle dimensioni del sistema durante il ciclo di vita di un progetto : Vengono fatte continue modifiche e nuove richieste che costringono i progettisti a scelte “sporche” condizionate dall’architettura del resto del sistema.
  5. Nessun sistema di controllo dei cambiamenti: Non è realistico non prevedere cambiamento nei requisiti mentre un sistema è in fase di sviluppo. I cambiamenti incontrollati generano confusione nello sviluppo di un progetto e possono causare molti danni al progetto stesso.
  6. Pochi test: Gli sviluppatori effettueranno molti test durante lo sviluppo, ma alla fine sono gli utenti a dover valutare se il sistema fa fronte alle richieste del dominio applicativo.

Un modo per risolvere alcuni di questi problemi è quello di adottare un sistema di classificazione delle priorità che permetta di avere sempre un quadro preciso delle parti più importanti e prioritarie dello sviluppo.

Uno tra i più noti metodi di classificazione delle priorità è detto MoScOW che stà per

M – MUST have this.
S – SHOULD have this if at all possible.
C – COULD have this if it does not effect anything else.
W – WON’T have this time but would like in the future.

Con questo sistema è possibile infatti, assegnando diverse priortà ai diversi obiettivi progettuali, portare avanti uno sviluppo incrementale che tenga conto delle key features e degli “optional” eliminando di fatto la possibilità di uno sviluppo caotico che porti al fallimento del progetto.