Dipingere il software

Da Andreachiarelli

Il processo di progettazione e sviluppo del software è spesso descritto ricorrendo a delle metafore, anche se non sempre del tutto appropriate, come ho scritto in un post di qualche tempo fa. Se dovessi descrivere con una metafora l’approccio che adottiamo a Manthys, e che poi si ispira alle Metodologie Agili, proverei ad assimilarlo alla pittura su commissione: il cliente ti chiede di fare un quadro dandoti un’idea (molto vaga) del soggetto che vorrebbe e tu provi ad interpretare la sua richiesta ed a fornirgli il dipinto che più si avvicina all’obiettivo.

Le specifiche del cliente in genere sono molto approssimative. Potrebbe chiedere genericamente una natura morta o dare qualche dettaglio in più desiderando, ad esempio, che vengano raffigurate due arance, una mela e un ananas su un piatto d’argento. In ogni caso c’è sicuramente grande differenza tra come il dipinto viene immaginato dal cliente e come se lo raffigura il pittore.
Può anche verificarsi il caso in cui il cliente viene con una foto chiedendoci di mettere su tela quel soggetto, quindi con specifiche precise e molto ben definite. In questo caso, però, io vedrei l’attività del pittore più come quella di un esperto di tecnica pittorica che di artista. Mappando la cosa nel campo del software, vedrei questa situazione più come il porting di un software da una piattaforma ad un’altra che lo sviluppo di un nuovo software.

Tornando al caso delle specifiche approssimative, come fare a far convergere il risultato immaginato dal cliente con l’idea che se ne è fatta il pittore? L’approccio più naturale che io riesca ad immaginare dovrebbe essere quello delle approssimazioni successive: l’artista fa uno schizzo di massima della sua idea e la sottopone al cliente; questo commenta lo schizzo, ragiona insieme all’artista di problematiche che magari non aveva preso in esame, propone qualche modifica. Il pittore continua pian piano a realizzare il dipinto un dettaglio dopo l’altro e sottoponendo di volta in volta il risultato al cliente per verificare se soddisfa la sua richiesta ed eventualmente raddrizzare il tiro, fino ad arrivare alla realizzazione definitiva dell’opera.
Allo stesso modo, nel realizzare un software è opportuno chiedere il feedback del cliente man mano che si implementano le varie funzionalità, raccogliendo il suo parere e pianificando il passo successivo, tenendosi anche pronti ad eventuali variazioni delle specifiche iniziali.

Può capitare, più frequentemente di quanto si pensi, che il risultato finale sia diverso dall’idea originale sia del cliente che del pittore. Ma la cosa importante è che il dipinto finito soddisfi le aspettative attuali del cliente piuttosto che quelle iniziali.

Certo, può esserci l’artista che vuole essere artista fino in fondo e dare al cliente la sua personale interpretazione della natura morta richiesta, senza quindi coinvolgere il cliente se non alla consegna del capolavoro. Ma suppongo che, se non si tratta di Michelangelo o di Raffaello, difficilmente il cliente accetterà il risultato.

Un’ultima osservazione continuando sulla scia di questa metafora. Molto importante è la tecnica utilizzata per dipingere: olio o tempera vanno bene perché sono colori coprenti e consentono di effettuare correzioni. Adottare l’acquerello è molto rischioso perché vi costringerà a buttare via tutto e ricominciare da capo quando ci sono correzioni da fare. A buon intenditore…


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :