Nicolò Carandini ha proposto la questione di come l'attività di prototyping si rapporta con lo sviluppo software con Scrum. Giá, come ?
Cose é la HCI
Comincio la ricerca da alcuni fatti raccolti e sintetizzati sulla User Experience prototyping.
Lo UX prototyping é uno strumento della Human-Computer Interaction (HCI). La HCI é la disciplina che si occupa del design, della valutazione e della implementazione di sistemi informatici interattivi.
É utile ad esempio per le applicazioni web, di realtá virtuale, nella visualizzazione dell'informazione, nell'ubiquitous computing.
Ha tre pilastri: la tecnologia informatica (es. software, device hardware, la grafica e gli stili di interazione), le persone (es. gli aspetti fisiologici ed ergonomici, le abilitá cognitive, gli aspetti sociali) che la devono usare e il lavoro specifico che devono svolgere (es. l'ambiente, l'informazione, i task da svolgere).
L
a usability engineering si basa sui principi e i metodi della HCI applicandoli a uno specifico progetto software.
Queste pratiche, in un progetto specifico, producono
- la scelta del modello di interazione piu adatto alla applicazione (i.e. a finestre, virtuale 3D, touch screen, ...). Oppure la sua ricerca/scoperta/invenzione;
- il disegno del flusso di interazione utente per le varie operazioni che il sistema implementa;
- il design della GUI;
- la valutazione della implementazione fatta in modo analitico oppure e soprattutto empirico con approccio iterativo incrementale e loop di inspect-adapt come nel 'iterative prototyping design centrato sul utente.
L'applicazione dello UX Prototyping
Ora annoto quello che ho osservato nella pratica e aggiungo i collegamenti che a mio avviso vedo con la teoria.
Nella fase iniziale di ideazione del prodotto l'idea del prodotto/progetto é astratta e nelle teste delle singole persone coinvonte (potenziali clienti e/o investitori, management, stakholder, etc.). In questa situazione un prototipo magari interattivo puo aiutare a mettere tutti sulla stessa pagina, a costruire una idea e una comprensione comune e condivisa, a dettagliarla e validarla. Il prototipo é un supporto che puo aiutare management, commerciali e tecnici a lavorare in modo coordinato.
Questo é l'approccio tradizionale a fasi.
L
'approccio empirico iterativo incrementale del prototyping applicato con cicli di inspect-adapt é quello di gran lunga piu remunerativo.
Tanto piú
- l'applicazione informatica che si vuole realizzare é senza precedenti o
- i device impiegati sono senza precedenti o
- l'utenza raggiunta é nuova o
- l'informatizzazione di quella attivitá é senza precedenti o
- mancano le certezze e l'accordo
- sulla UX che serve
- sulla tecnologia che la implementa
- su come gli utenti la accoglieranno
tanto piu l'approccio iterativo é la scelta giusta.
E´difficile sopravalutare l'importanza dell'approccio iterativo sul design della UX, e il perché é evidente nei principi del software engineering condivisi generalmente e noti giá dal 1995 (Requirement's principles). La portata teorica é stata studiata anche nella ricerca di Peter Wegner (vedi nel link sopra) con riflessi sulla tesi di Church-Turing.
E riguado l'Agile?
Questi a mio parere i principali collegameti che ad oggi vedo tra l'Agile e la UX prototyping.
Trovo che la sintonia del HCI con lo sviluppo software Agile é notevole.
- la UX design mette al centro l'utente e anche l'Agile che mette al centro anche gli altri stakeholder
- la UX design adottia l'approccio empirico iterativo come pure l'Agile
L'approccio empirico nella HCI é insito nelle altre discipline si cui la HCI si fonda (e.s. le scienze cognitive) e nel Agile arriva dall'osservazione delle dinamiche del processo di sviluppo.
I cicli inspect-adapt della UX a mio avviso si coniugano con l'approcio Agile svolgendosi nei cicli frequenti di rilasci incrementali di funzionalitá complete (quindi il prototipo qui é piu un draft) facendo il minimo necessario di UX prototyping up-front.
Quindi in pratica con Scrum come si fa?
Ecco un possibile risposta che si basa sull'esperienza personale cioé é parziale, soggettiva e legata al contenso specifico di applicazioi web. Arricchita dal confronto e l'esperienza nel team Agile con cui sto lavorando.
Una possibilitá é quella di inserie la attivitá di UX prototyping nel plannig:
- nella preparazione delle User Story fatta nel 10% di tenmpo dello sprint dedicato a definire e dettagliare la user story che vengono portate al planning per essere stimate, priorizzate e selezionate per lo Sprint Backlog.
Nel pre-planning l'UX prototyping in quest caso si concentra
- prima nella descrizione del diagramma di interazione (che puo essere fatto anche in stile semplice carta e penna)
- poi nel design degli elementi attivi della GUI (es. bottoni, dropdown, etc).
Durante lo sprint la UX viene realizzata cominciando dal flusso di interazione e dagli elementi attivi a cui attaccare il resto del codice/logica e gli aspetti estetici (colori, font, stili, etc) seguono immediatamente.
Alla accettazione della User Story viene quindi valuta l'implementazione e l'efficacia della UX-
Al rilascio viene raccolto feedback riguardo la UX applicazione in uso che viene usato per mettere nel backlog miglioramenti/modifiche/evoluzioni della UX.
Il prototipo quindi é piu un draft a cui segue immediatamente la realizzazione e il rilascio della funzionalitá completa.
Quando dal feedback derivano richieste di modifica alla UX che richiedono il rifacimento di parte della User Story nonostante il codice abbia una alta qualitá interna (es. basso accoppiamento alta integrabilitá, aderenza ai S.O.L.I.D.) questa é una indicazione che suggerusce di provare a sviluppare la attivitá di UX proptotyping up-front eventualmente con prototipi interattivi. Questa attivitá puo essere svolta all'interno dello sprint come uno spike.
Una misura per giudicarte l'efficacia di questa scelta é che il tempo per fare lo spike e far accettaree ka User Story é inferiore a quello di fare la User Story e poi modificarla per farla accettare o per soddisfare le modifiche alla UX richieste.
Libri consigliati
- Dynamic Prototyping with SketchFlow in Expression Blend di Chris Bernard e Sara Summers suggerito da Nicolò Carandini
- Human-Computer Iinteraction 3rd edition, Alan Dix et. altri
Una Licenza gratuita per provare (*)
(*) La disponibilitá della licenza é nel muto interesse di chi legge il post e vuole esplorare lo UX prototyping e della azienda Justinmind che desidera raccogliere feedback e far conoscere il proprio prodotto. Non solo legato all'azienda e non percepisco compensi ne altri vantaggi in forma gratuita di qualunque tipo.
Visto l'interesse sull'argomento ho ottenuto dalla azienda Justinmind che esponeva il suo nuovo prodotto alla conferenza Agile Spain 2010 la disponibilitá di licenze gratuite della durata di 1 mese per provare il prodotto Justinmind Prototyper e il nuovo servizio di pubblicazione, condivisione e revisione collaborativa dei prototipi on-line.
Chi fornirá a Justinmind dei feedback sul prodotto Justinmind Prototyper e/o il nuovo servizio riceverá in premio una licenza commerciale illimitata.
Segue una descizione del prodotto e i link. Chi desidera la licenza puo scrivermi.
Justinmind Prototyper:
Simulate your interactive wireframes, even with real data, before starting the project development. Demonstrate how the final application will behave to your customers, test users and IT suppliers. Simulation technology helps you cut costs in your projects avoiding dramatic changes at the final stages of your projects.
E' una applicazione desktop, gira su PC e Mac.
Qui un video: http://vimeo.com/channels/justinmind
Qui il link al prodotto: http://www.justinmind.com/wireframe/justinmind_prototyper
Print | posted @ domenica 17 ottobre 2010 23:49