La User Experience è una disciplina che si basa sulla più vasta filosofia dello Human Centered Design.
Le persone utilizzano un prodotto perché spinte da necessità, per conseguire un determinato obiettivo, si cerca di rispondere a tali esigenze in armonia con gli interessi del cliente; l’utente diventa parte del processo di business, attraverso il cosiddetto design partecipativo.
Uno sviluppatore che non riesce ad immedesimarsi nel ruolo dell'utente sarà portato a recepire con avversione ogni modifica alle funzionalità o all'interfaccia che gli viene richiesta nel corso del tempo, a non lavorare con la giusta motivazione, a valutare con superficialità alcune scelte di design che sono invece essenziali ai fini dell'usabilità di un software.
E' ciò che porta a situazioni di frustrazione e poca compattezza all'interno dei team di lavoro, che possono minare la buona riuscita dell'applicazione.
Copyright ©www.projectcartoon.com under the Creative Commons Attribution 3.0 Unported License
Le idee nascono dalle persone e ogni persona è in grado di accrescere il bagaglio di conoscenza su un progetto e fornire degli spunti interessanti.
Il lavoro di programmazione è un'attività che porta in alcuni momenti ad alienarsi e a perdere il contatto umano; quando ciò avviene si tende a lavorare in maniera meccanica concentrandosi solo sui dettagli tecnici, sul completamento dei propri compiti, tralasciando che l'applicazione che si sta realizzando verrà utilizzata a sua volta da altre persone, che come noi sono alla continua ricerca di soluzioni ai propri problemi.
Le ipotesi formulate devono essere validate e diventare requisiti utente, leggibili da tutti gli stakeholders, che devono poi essere trasportati a livelli inferiori:
E' importante raccogliere in un documento (genericamente un glossario) tutte le definizioni, gli acronimi e le abbreviazioni che sono state estrapolate dagli stakeholders e dai requisiti, tutte quelle di cui si è certi della validità all'interno del contesto del progetto: