La metodologia di lavoro che utilizzo è quella del telelavoro.
Il contatto tra committente e programmatore è costantemente mantenuto via mail o telefono; visite in sede sono possibili (e talvolta necessarie) nella fase iniziale, soprattutto in caso di progetti da sviluppare ex-novo che necessitano di una dettagliata analisi delle esigenze del cliente e dei requisiti operativi richiesti al software.
La procedura-tipo è descritta di seguito:
- Il committente contatta il programmatore ed espone le sue esigenze;
- Il programmatore redige uno studio di fattibilità comprendente:
- descrizione del funzionamento del programma e dei blocchi funzionali previsti;
- preventivo di spesa;
- data di consegna presunta del lavoro.
- Questo documento viene inviato al committente, il quale lo esamina e decide se proseguire o meno nel rapporto di lavoro.
- Il programmatore acquisisce dal committente tutto il materiale necessario e redige una bozza di progetto comprendente:
- Schermate principali con cui l’utente del software dovrà interagire;
- Eventuali correzioni su preventivo e data di consegna presunta.
- Il committente esamina questo documento e propone le sue modifiche, finchè si giunge ad un accordo in cui siano definite chiaramente le funzionalità richieste al software, il succedersi delle schermate, l’organizzazione del DB e quant’altro sia rilevante;
- Il documento finale (concordato) viene redatto dal programmatore ed inviato al committente, il quale lo firma e lo restituisce al programmatore;
- Il lavoro di sviluppo potrà essere realizzato dal programmatore:
- su macchine proprie, con successiva installazione sul sito del cliente;
- direttamente sui server del cliente, tramite strumenti di sviluppo remoto tipo Telnet, SSH, etc.
- Al termine del lavoro di implementazione, il programmatore eseguirà in proprio il debug dell’applicazione; se necessario, sarà svolto un’user-test per assicurare la rispondenza del prodotto ai requisiti richiesti dal cliente;
- Con la liquidazione del compenso avrà luogo la consegna del lavoro (installazione dell’applicazione sui server, consegna della documentazione e dei diritti legali sul software).