Lo sviluppo del software: rischi e fattori che ne influenzano il successo

software development center La creazione di software è una attività complessa che si articola in più fasi ed abbraccia non soltanto aspetti tecnici ma anche organizzativi, come quelli relativi alla pianificazione e gestione delle risorse, di comunicazione e legali.

L'attività coinvolge almeno due parti - la software house (o il singolo sviluppatore) e il cliente - portatrici di interessi contrapposti che, volendo generalizzare, si riducono rispettivamente a:

  • massimizzare il profitto;
  • acquisire un prodotto che soddisfa le proprie esigenze, affidabile e sicuro, pagando il minor prezzo possibile;

Un aspetto, a volte sottovalutato, è che lo sviluppo del software, come del resto qualsiasi altra attività imprenditoriale, presenta dei rischi tipici che devono essere opportunamente bilanciati, anche in sede contrattuale, per non incidere negativamente sull'intero business.

Tutte le fasi più importanti di cui si compone il processo finiscono infatti per incidere, in modo più o meno rilevante, sui diritti e le aspettative delle singole parti e possono quindi avere un qualche impatto dal punto di vista legale.

Esistono però dei fattori in grado di inflluenzare negativamente il risultato o la qualità del prodotto finale, cui è bene prestare la massima attenzione:

  • specifiche poco chiare: il progetto è avviato sulla base di specifiche vaghe o prive di dettagli che generano fraintendimenti o false aspettative per una o entrambe le parti;
  • mancato coinvolgimento degli utenti finali: se l'interfaccia di comunicazione del committente, di regola costituita dal management, ha una idea soltanto vaga di ciò che effettivamente occorre all'utenza finale rischia di trasmettere delle informazioni erronee o non complete;
  • rischi di natura tecnica soprattutto nei progetti più grandi e complessi;
  • tariffe troppo basse o scarsa pianificazione: nell'intento di acquisire la commessa i dipartimenti commerciali delle software house partono, a volte, da considerazioni poco realistiche sui tempi e sui costi necessari per completare il progetto, con inevitabili conflitti nel momento in cui vengono prospettati costi aggiuntivi non previsti inizialmente;
  • carenza di controlli e/o di monitoraggio: il progetto viene condotto in totale assenza di verifiche periodiche, salvo poi dimostrarsi un completo fallimento quando si viene al dunque;
  • assenza di adeguate strategie di gestione del cambiamento (change management): il progetto evolve lasciando però le richieste di cambiamento non documentate, con conseguente confusione ed incertezza su ciò che deve essere implementato e sui tempi di consegna;
  • salari bassi ed elevato turnover: possono influire in modo sensibile sui tempi di realizzazione e sulla qualità complessiva del prodotto finale;

Che fare allora ? E' utile ignorare questi aspetti e fare finta che non esistano sperando che tutto vada bene ? Certamente no, mentre può essere adeguata una strategia basata su:

  1. una valutazione dei rischi tecnici, organizzativi, economici e legali che il progetto comporta per ciascuna delle parti, da condurre prima della negoziazione e della stipula del contratto ;
  2. un adeguato supporto legale e contrattuale fondato su clausole chiare e specifiche in grado di compensare i rischi percepiti nell'ottica di un equo bilanciamento degli interessi contrapposti delle parti;
  3. un monitoraggio continuo del progetto e delle sue fasi per individuare prontamente gli eventuali problemi o le questioni che possono insorgere;
  4. una gestione efficace della documentazione e dei cambiamenti;

Insomma, come accade in moltissime altre attività, è spesso sufficiente un minimo di pianificazione e controllo per evitare l'insorgere di problemi ben più seri !

Photo courtesy: a_kartha

0 commenti: