Fuori programma
07-01-2012 18.23.44 GMT+01Il dualismo dell'analista Le difficoltà nel condurre il processo di analisi con clienti "ostici"

Durante la mia carriera professionale mi sono capitate parecchie situazioni in cui il processo di analisi, che precede nell'ordine quelli di progettazione e sviluppo, non si è presentato esattamente come ci si sarebbe aspettato dalle descrizioni dei manuali di ingegneria del software. Queste situazioni, che possono spiazzare l'analista non esperto, a mio parere, sono invece la norma o comunque la maggior parte.

Quello che ci si attende negli scenari da manuale è che il problema da risolvere sia completamente descritto e descrivibile, che non sfuggano gli aspetti considerati importanti, quelli che se individuati in una fase successiva mettono in discussione la progettazione già completata od a buon punto. Non è quasi mai così.
A pensarci bene, è tutto sommato anche una situazione naturale, perchè il cliente conosce il suo problema e lo vede dal suo punto di vista, ossia alla luce della sua conoscenza del dominio, e non del come andrà rappresentato. D'altro canto, l'analista conosce le tecniche di rappresentazione e modellazione, ma non è esperto del dominio del problema (o non lo è come il cliente) e cerca di farsene un'idea attraverso i confronti con quest'ultimo. In questa fase di intervista può verificarsi uno scontro vero e proprio a causa del cliente che vuole "correre avanti" suggerendo all'analista la soluzione o cercando di sorvolare su punti da lui giudicati non importanti ma che servono all'altro per farsi il quadro completo.
Quest'ultimo si trova dunque in una posizione delicata, perchè se non particolarmente esperto potrebbe sentirsi "invaso" nel suo territorio di competenza ed indisporsi perdendo la sua oggettività, oppure farsi a sua volta una visione autonoma della soluzione non conducendo più un'analisi sistematica. Se con l'esperienza, questo atteggiamento può essere controllato con un po' di introspezione, è invece difficile controllare il cliente che non si "affida" e che non fornisce tutti gli elementi per completare il quadro.

Per queste situazioni io suggerisco due strade alternative la cui scelta è data dalla tipologia di cliente, dal team che opera sul progetto e dal progetto stesso.

La prima consiste nel raccogliere i requisiti in modo asettico basandosi sui contenuti offerti dal cliente e proporre al cliente la soluzione "bloccata contrattualmente" in funzione delle richieste emerse dall'analisi. Nei casi più fortunati, il cliente che si impegna nella consultazione della documentazione preliminare prodotta (se è il caso aiutato dall'analista) prima di passare alla fase progettuale, capisce da solo che ci sono elementi di incongruenza e finalmente collabora per risolverli. In quelli più sfortunati, il capitolato così prodotto può essere usato per risolvere i contenziosi che non si riuscissero a risolvere con altri tipi di mediazione.

Per realizzare la seconda strategia occorre proporre una soluzione in mancanza di requisiti completi che abbia un senso e che possa funzionare alla luce di quelli che sono gli elementi raccolti. Questa è ovviamente una situazione in cui il cliente è più assente che presente e dove le lacune vanno colmate pena l'impossibilità di proseguire. L'effetto che si vuole ottenere in questo caso è di mettere il cliente di fronte allo scenario ipotetico che si prospetterebbe mantenendo l'attuale condizione di analisi. Se la soluzione prospettata è corretta, od il cliente la ritiene tale, si può così strappare un'approvazione che funga da "paracadute" alla presentazione dell'implementazione; se la soluzione è scorretta, si spera che il cliente evidenzi le inesattezze e collabori finalmente alla loro correzione.

Quello che però ho imparato essere essenziale e che sempre più mi sta portando ove possibile verso processi agili, è che il dialogo va sempre cercato e sollecitato a costo di apparire pedanti. E' ovvio che il cliente si stanca nel rispondere a domande le cui risposte sono per lui (ma non per l'analista) scontate e noiose, ma coinvolgendolo in una logica agile di raffinamenti successivi le possibilità di successo aumentano. E' importante far capire alla controparte che la capacità di risolvere il problema non necessariamente comporta la conoscenza del dominio ma che lui è parte integrante e determinante del processo di soluzione. Finchè non accetta questo, ogni strategia per metterlo di fronte a questa realtà deve essere intrapresa; per questo la prototipazione veloce, il mocking, la formalizzazione dei requisiti sono tecniche che solo apparentemente constituiscono voci accessorie di costo, bensì sono spesso determinanti per giungere ad una soluzione soddisfacente per tutti.

data modifica 07-01-2012 18.40.38 GMT+01

#

Non ci sono commentiFeed RSS 2.0 di : Fuori programma, commenti a "Il dualismo dell'analista "
Aggiungi un commento
Mittente : *
Email : 
Web : 
Testo del messaggio : * 
Codice di validazione : * 

otherbit, by Cosimo Carbonelli m. info@otherbit.com p.i. 11743080159
made with OtherWeb