Per User Experience (UX) si intende il processo di design che punta alla creazione di un prodotto digitale focalizzato sul rendere gratificante e significativa l’esperienza di utilizzo dell’utente.
L'utilizzo del termine Design risulta fuorviante per molte persone, in quanto si tende a identificare la UX come una disciplina di forte stampo creativo, mentre essa è sinonimo di progettazione, che deve essere incentrata sull'utente e tenere in considerazione i suoi bisogni e le sue frustrazioni.
Abbiamo gia visto in questo post l'importanza della conoscenza dei processi di sviluppo da parte di uno UX Designer, questa volta vogliamo invece soffermarci sulla conoscenza della User Experience da parte di uno sviluppatore.
Ricapitolando, lo UX Designer è quella figura che opera nell’ambito dell’analisi dell’esperienza utente e della conseguente fase di progettazione del prodotto.
Deve interfacciarsi con gli stakeholder del progetto, raccogliere i requisiti, effettuare analisi qualitative e quantitative, condurre test affinché i bisogni dell’utente e le richieste del cliente siano conciliate; si occupa poi, utilizzando vari tool, di progettare la navigazione dell’applicazione, organizzare i contenuti, disegnare l’interfaccia grafica e definire le interazioni con l’utente.
Sono svariate le fasi e i deliverables frutto del processo di UX che contribuiscono a migliorare la fase di sviluppo; l'analisi dei flussi, la definizione di ruoli e entità, le progettazione della navigazione, la mappatura dei componenti dell'applicazione ad alto livello.
Grazie a tali attività vengono attivati quei meccanismi di brainstorming e design thinking che portano alla formulazione e alla validazione di ipotesi che permettono di evitare grossi effort in fase di development. Il ciclo UX porta inoltre a produrre una grande quantità di documentazione e materiale di supporto che consente di ridurre al minimo i rischi tecnici e i bug sul prodotto.
Così come è fondamentale per uno UX Designer conoscere i processi di sviluppo (e in molti casi avere anche basi di programmazione) per produrre output chiari e leggibili, risulta altrettanto importante per un developer essere a conoscenza dei vari stadi del ciclo di UX, poiché il passaggio da una fase all'altra del processo di produzione di un software non è così netto come si è portati a pensare.
Il coinvolgimento in tal senso permette inoltre l'accrescimento dell'empatia nel team di lavoro, di responsabilizzare i singoli individui, che lavoreranno per il raggiungimento di un'obiettivo comune dando importanza a tutti gli output prodotti; conoscere le problematiche principali che le altre persone si trovano ad affrontare durante la giornata lavorativa porterà il singolo a cercare di rimuovere ogni impedimento che può scaturire dalla fretta o dalla superficialità nei propri compiti quotidiani.