lunedì 12 novembre 2007

Fornitura di software personalizzato

CAUTELE DA OSSERVARE PER LA SOTTOSCRIZIONE DI UN CONTRATTO DI FORNITURA DI SOFTWARE PERSONALIZZATO
In sede di sottoscrizione del contratto di fornitura:
1. E’ importante precisare i contenuti del contratto.
Sotto il profilo economico, infatti, la fornitura riguarda normalmente prodotti hardware, software standard e servizi per realizzare una applicazione software personalizzata.
2. Alla luce della composita forma della fornitura, per analizzare gli eventi è sicuramente importante definire il tipo di progetto instaurato per l’esecuzione della fornitura stessa e avere presente la metodologia che in questi casi si adotta, posto che vi sono obblighi sia da parte del committente sia da parte del fornitore di servizi.
3. E’ importante inquadrare le attività del fornitore e del committente entro un quadro progettuale, definito in un ben preciso ciclo di vita della soluzione realizzata, dove vanno ben chiariti i ruoli, i compiti, l’organizzazione, i criteri di controllo, i metodi di pianificazione e gli ambiti di responsabilità.
4. Il contratto che prevede la fornitura di programmi personalizzati deve specificarne l’elenco e le caratteristiche tecniche.
5. Dovrà poi essere formalizzato un piano di lavori dettagliato che definisca tempi e compiti degli attori del progetto.
6. Il fornitore dovrà quindi redarre assolutamente un documento tecnico di analisi, in modo da avere ben presente un punto di riferimento tra le parti che dica quale deve essere in concreto il software da sviluppare, sulla base di un documento di specifiche funzionali prodotto dal cliente.
OSSERVAZIONI GENERALI SUL CICLO DI SVILUPPO
DI SOFTWARE PERSONALIZZATO
Posto che la fornitura è ben caratterizzata sotto questo profilo, è il caso ricordare che la realizzazione di un programma applicativo personalizzato, o anche solo l’intervento di adattamento su un software standard preesistente, ancor più di quanto non avvenga con un applicativo standard, comporta una complessa attività di sviluppo e di test con ulteriori complicazioni che sono dovute alla sua natura di essere software destinato ad un numero assai limitato di utenti.
Il software standard, invece, è caratterizzato dall’essere un prodotto costantemente collaudato e rilasciato sul mercato dove anche l’utilizzo da parte di centinaia e migliaia di utenti è garanzia di stabilità e affidabilità.
Per un software personalizzato, invece, l’attività di test è in funzione del livello di accuratezza adottato dal Cliente, nella scelta e nella definizione degli scenari applicativi di prova oltre che del livello di qualità del prodotto da fornire e dei parametri correlati quali scopo, dimensioni, complessità, criticità, risorse, organizzazione del lavoro e costo.
Il produttore deve sviluppare il software in laboratorio e sottoporlo ad una fase di test tecnico che consente di rimuovere la maggior parte dei possibili errori software prima di rilasciarlo al cliente.
Va considerato che, nello stato in cui vengono consegnati, i programmi realizzati ad hoc non possono ancora essere messi in esercizio e che le attività di istruzione, collaudo e avviamento necessarie per arrivare al loro effettivo utilizzo sono di esclusiva competenza del Cliente e presuppongono l’impiego di un ambiente di lavoro informatico di “back-up” o “sterile”, opportunamente predisposto dal Cliente stesso, con dati corretti e attendibili ma separati da quelli reali, giusto per preservarli dal rischio di perdita o di danneggiamento.
I test del software vanno eseguiti dal cliente prima di utilizzarlo in reale e vanno effettuati mediante la preparazione dello specifico ambiente di prova predisposto opportunamente dal Fornitore.
Con la conclusione della fase di test avviene il COLLAUDO; il Cliente accetta definitivamente la soluzione fornita e si assume ogni responsabilità che dovesse derivare dalla decisione di mettere in uso il prodotto, consapevole che, una volta presa tale decisione, il compito del produttore si esaurisce e contemporaneamente cessano tutti gli obblighi e le responsabilità di quest’ultimo, fatta salva la normale attività di rimozione degli errori sulla base di specifici contratti di manutenzione o di assistenza.
Pertanto, prima di procedere con lo sviluppo e la consegna del software, il Cliente e il Fornitore
dovrebbero accordarsi su:
_ specifiche documentate
_ criteri di collaudo e accettazione
_ test del software
_ modalità di messa in esercizio
_ modalità di erogazione dei servizi (piano lavori)
questa prassi se opportunamente adottata è la metodologia che può portare al successo i progetti informatici.
Da un lato, quindi, il fornitore deve:
- dopo gli incontri di analisi, redigere un documento di analisi tecnica (redazione da prevedere perciò nel contratto);
- sviluppare buona parte delle applicazioni presso la ditta del cliente e non in laboratorio;
- predisporre un ambiente di prova, in modo che tutti i programmi consegnati e sviluppati non vengano messi in reale immediatamente senza test del cliente;
- effettuare quindi il collaudo delle applicazioni.
Dall’altro lato il cliente deve:
- prima degli incontri di analisi produrre un documento di specifiche funzionali;
- curare di avere il personale tecnico interno che possa gestire il sistema;
- formare gli utenti finali ad un livello perlomeno accettabile;
- effettuare un test adeguato delle personalizzazioni;
- effettuare quindi a sua volta il collaudo delle applicazioni.
Va ricordato, infine, che la definizione delle specifiche, lo sviluppo ed il test di personalizzazioni software è un’attività molto delicata e complessa, e necessita di una stretta collaborazione ed affiatamento tra cliente e sviluppatore in tutte le sue fasi.

Nessun commento:

Posta un commento