Far comprendere al cliente la complessità del nostro lavoro occorre analizzare il workflow di un progetto.
Prendiamo ad esempio questo requisito dato dal cliente:
Il form di registrazione dovrà avere anche il campo della Partita IVA.
Il workflow base sarà:
- Creare il form di registrazione
- Validare i dati
- o validazione sincrona (solo PHP)
- o validazione asincrona (AJAX e PHP)
- messaggi di errore (da concordare con il cliente)
- Registrazione dell'utente
- o registrazione sincrona (reload della pagina)
- o registrazione asincrona (nessun reload della pagina)
- Messaggio di avvenuta registrazione
- testo del messaggio (da concordare con il cliente)
- invio e-mail con i dati di accesso (testo semplice o HTML, da concordare con il cliente)
Questo workflow base dimostra l'asimmetria esistente tra i requisiti delle specifiche e il lavoro che dovrà svolgere lo sviluppatore: addirittura il workflow sarebbe stato ancora più articolato se il cliente avesse richiesto che il numero di Partita IVA venisse verificato e non solo validato.
Occorre cercare sempre di far capire al cliente che sotto ogni requisito si cela un lavoro non indifferente.