Ricordiamocelo il software è un prodotto non si vende una nebulosa filosofica ma una scatola per quanto custom si voglia ma è pure sempre una scatola. Al TechEd molto è stato detto sulla user experience e creare delle applicazioni poco funzionali per il livello di competenze dell'utente tipo non è un obiettivo. Da sviluppatori concentriamo molto la nostra attenzione sulle funzionalità dimenticandone la fruibilità. Ovviamente ogni ruolo coinvolto nella catena di sviluppo software baderà principalmente al proprio punto di vista e porterà la propria esperienza etc. Considerando anche Silverlight, Ajax, Expression nelle sue varie declinazioni etc. non c'è più nessuna giustificazione per creare delle applicazioni esteticamente brutte.
Detto molto bruscamente se la nostra applicazione non è utilizzata non è un fallimento di chi non la usa ma nostro. Spesso sento o leggo di problemi con i tempi, requisiti etc. è un problema principalmente di comunicazione. Se tutti i clienti fossero anche degli sviluppatori, anche se non tanto bravi da realizzare l'applicazione per la quale chiedono il nostro lavoro, sicuramente avremmo da un certo punto di vista la vita più facile ma non è così. Molto spesso è anche questione di terminologia, normalmente il "volevamo stupirvi con effetti spettacolari" ripaga in alcuni casi ma non sempre. Io trovo obbligatorio e di buona educazione adeguare il proprio registro a quello delle persone con le quali abbiamo a che fare.
Creare subito delle demo prima d'inziare lo sviluppo vero è proprio potrebbe rivelare degli errori d'interpretazione che scoperti a fine ciclo dal punto di vista economico potrebbero non essere giustificabili, inoltre è utile anche per testare il livello di "scontro applicazione utente" per apportare le giuste migliorie alla fruibilità.
L'idea di una passata anche dal reparto grafico della demo potrebbe rendere il cliente più sorridente quando gli si da il "giocattolo".
Ovviamente questo tipo d'approccio va concordato con il cliente e spiegatogli il perchè ed il percome altrimenti si rischia che la sua idea della nostra bravura corrisponda alla complessità della demo.
L'errore più frequente è assumere che il cliente debba avere il nostro grado di passione e familiarità con lo strumento informatico, cosa che ovviamente non può essere ed implicitamente o esplicitamente ridicolizzare, purtroppo accade, questa difficoltà. Al TechEd mi sono trovata ad utilizzare una tastiera araba, il mio portatile non andava, gentilmente prestatomi dal collega Bilal Haidar, con tutto il tempo che passo a strimpellare sulla tastiera non vi dico che l'impresa sia stata facile però un pò a senso un pò con il suo supporto ci sono riuscita. Immaginiamo di trovarci nella stessa situazione...
Ovviamente utilizzare le giuste strategie architetturali è questione d'esperienza ma anche di alcune doti personali, come per tutti i lavori nessuno nasce imparato ma ci alcune inclinazioni personali rendono un persona più in feeling con una posizione piuttosto che un'altra...ma questo è un discorso che ho già fatto in merito alla formazione.
Ritornando al TechEd la general session tenuta da Pat Helland "The Irresistible Forces and the Moveable Objects" che per quanto "generalista" poteva essere ha comunque rimarcato il concetto della sdramattizzazione del software, ovvero "una cosa alla portata di tutti e che tutti dovrebbero utilizzare in modo funzionale alle loro attività lavorative" e non un qualcosa per pochi eletti. Ovviamente per realizzare quanto viene "utopizzato" l'hardware e strumenti di sviluppo devono ancora farne di strada ma siamo su quella via.
Alla prossima :)