Storia dell'usabilità del software

Daniele Ziggiotto

Il concetto di usabilità viene sviluppato all'interno dell'ergonomia tradizionale ma, fin dal suo sorgere, ha avuto forti rapporti con l'ergonomia cognitiva e, più in particolare, con gli studi volti a migliorare l'usabilità dei prodotti informatici, in particolare il software.

La storia del concetto di usabilità del software, così come si ricava dalle fonti utilizzate (Mantovani 1995, Carroll 1996, Nyce e Lowgren 1995) può essere divisa in quattro periodi principali:

1) Anni Settanta: l'usabilità assente.

A partire dai primi anni Settanta, periodo in cui nacquero i primi strumenti informatici, i prodotti software venivano utilizzati dai loro stessi progettisti o da chi fosse in possesso di cultura e competenze simili. L'usabilità, quindi, non emerse come problema sia perché progettista ed utente coincidevano, sia perché l'attenzione era rivolta più al mezzo (il computer) che allo scopo (coadiuvare l'attività delle persone); in questo caso, modello del progettista e modello dell'utente erano uguali. In quegli anni, però, nacque la Human Computer Interaction (HCI), una scienza fondata sul design che cercava di capire ed aiutare le persone ad interagire con e per mezzo della tecnologia. In questo periodo, l'affermazione secondo cui i sistemi dovevano essere progettati tenendo conto delle esigenze, delle abilità e dei desideri degli utenti finali non veniva presa molto sul serio. La serie di studi che costituiscono la pietra miliare della fondazione dell'HCI venne allora definita Psicologia del Software. Obiettivo di questa disciplina era quello di provare l'utilità di un approccio comportamentale alla comprensione del design del software, della programmazione e dell'uso dei sistemi interattivi, e di motivare gli sviluppatori di sistema a tenere in considerazione le caratteristiche degli esseri umani. La psicologia del software si basava su due assiomi fondamentali. Il primo consisteva nell'accettare la validità di un nuovo modello di sviluppo del software, detto a cascata perché introduceva la scomposizione in fasi del processo di sviluppo e una valutazione di usabilità ad ogni stadio. Il secondo assioma riguarda il ruolo duplice della psicologia nella produzione del software: quello di produrre una descrizione generale dell'interazione degli esseri umani con il computer che fosse riassumibile in linee guida per gli sviluppatori e quello di verificare direttamente l'usabilità dei sistemi e del software. La psicologia del software inaugurò una serie di tecniche riguardanti quella che oggi chiamiamo usabilità. I ricercatori dello Xerox Parc, attraverso l'esecuzione di un notevole numero di studi sperimentali, giunsero a due risultati fondamentali: il modello dell'elaboratore umano, un rivoluzionario adeguamento delle teorie cognitiviste al dominio della HCI e una famiglia di modelli di analisi del compito conosciuti con il nome di GOMS (Goals, Operator, Methods, Selection rules). Qui l'utente è rappresentato come agente cognitivo determinabile aprioristicamente, le cui funzioni sono operazionabili: per fare questo, il dominio della psicologia è ridotto alle azioni caratterizzate da un tempo di esecuzione compreso fra il decimo di secondo e il minuto. Motivo per cui questo approccio è anche detto "riduzionistico", e si occupa di interazioni semplici, nelle quali siano coinvolti solamente processi cognitivi elementari.

2) Anni Ottanta: i laboratori di usabilità.

Il modello a cascata mostrò presto il fianco alle critiche, perché irrealizzabile e poco efficace: esso era caratterizzato da tempi di sviluppo del prodotto eccessivamente lunghi e da costi elevati e si rivelò utile solo per progetti su larga scala e a lungo termine. L'impostazione di tipo sperimentale, inoltre, pose ben presto problemi di carattere metodologico (p.e. l'utilizzo di studenti universitari in luogo dei programmatori o lo studio di aspetti secondari) che finirono per dimostrarsi non validi e poco rappresentativi. Anche la dualità dei ruoli affidati alla psicologia divenne presto un problema e si risolse in una divisione dei compiti: da una parte i ricercatori universitari svilupparono delle descrizioni generali degli utenti e le organizzarono in linee guida generali; dall'altra, gli esperti di fattori umani che lavoravano nelle aziende tentarono di tradurre le linee guida in progetti specifici. Questa impostazione non ebbe successo, anche a causa delle difficoltà incontrate cercando di introdurre la psicologia del software all'interno delle aziende. All'inizio degli anni Ottanta, quindi, due erano i problemi principali: descrivere in maniera migliore il lavoro di progettazione e sviluppo e specificare più compiutamente il ruolo che la psicologia e le scienze sociali dovevano svolgere all'interno dell'HCI.

In questa fase, che corrisponde alla prima diffusione delle tecnologie informatiche sia negli uffici che nelle famiglie, gli utenti non avevano più competenze comuni con i progettisti. L'usabilità cominciava ad essere un problema e si verificarono i primi episodi di rifiuto della nuova tecnologia, causati sia dagli alti costi per la formazione, sia dai mancati successi di molte esperienze di automazione di uffici. Si impose l'urgenza di avvicinare i due mondi, quello del progettista e quello dell'utente e l'usabilità, a partire dalla seconda metà degli anni '80, divenne l'obiettivo principale della HCI. Per andare incontro a queste nuove esigenze, da un lato vennero introdotte nella progettazione linee guida sul fattore umano, dall'altro vennero allestiti i primi laboratori di usabilità. Obiettivo principale di un laboratorio di usabilità era quello di testare i prodotti con utenti potenziali, prima del lancio commerciale. Lo studio dell'usabilità assunse un carattere prettamente empirico: promosse l'uso di prototipi, la partecipazione degli utenti alla fase di progettazione, enfatizzò l'uso di metafore per presentare le nuove funzionalità offerte dal sistema. Questi studi diedero l'impulso alla creazione di linee guida sulla base delle quali la progettazione di un'interfaccia poteva garantire al prodotto finale i requisiti di usabilità.

Il metodo utilizzato, dopo l'abbandono di quello a cascata, veniva definito design iterativo, e consisteva nella realizzazione di prototipi sui quali venivano condotti test di usabilità, che a loro volta indicavano le modifiche da effettuare per migliorare il progetto. Questo nuovo approccio divenne ben presto largamente accettato, e in molti si convinsero della necessità di progettare mediante l'utilizzo di prototipi; aumentò la partecipazione degli utenti alla progettazione e il metodo della creazione rapida di prototipi divenne, di fatto, uno standard. in considerazione di questo approccio pratico alla soluzione dei problemi, si cominciò a parlare di Ingegneria dell'Usabilità.

3) Fine anni Ottanta, inizio anni Novanta.

In questo periodo, l'HCI si era ormai integrata all'interno della Computer Science. Ingegneria dell'Usabilità divenne la bandiera sotto la quale si riunirono diversi approcci metodologici all'usabilità nel corso degli anni Ottanta. Essa introdusse tre nozioni chiave:

- venne proposto che la progettazione iterativa venisse condotta inseguendo obiettivi pratici definiti e misurabili, detti specifiche di usabilità

- si cercò di ampliare il campo d'azione degli studi empirici e delle tecniche di design cooperativo, per arrivare a definire un nuovo approccio, detto anche design contestuale, che tenesse conto sempre più dei reali bisogni dell'utente e del contesto reale in cui il prodotto veniva utilizzato, data la sterilità dei risultati ottenuti in laboratorio in condizioni decontestualizzate

- la terza nozione chiave dell'ingegneria dell'usabilità divenne il rapporto costo/ricavo; infatti, uno dei problemi maggiori dei metodi di progettazione iterativa consisteva appunto negli alti costi che i vari cicli di riprogettazione richiedevano.

Il problema del contenimento dei costi coinvolse anche le metodologie di valutazione dell'usabilità, portando ad una eccessiva semplificazione dei metodi esistenti: i modelli derivati dal GOMS si ridussero a banali registratori di operazioni e il metodo thinking aloud (pensare a voce alta), considerato uno standard, veniva utilizzato in una sua versione impoverita. Inoltre, la tensione provocata dallo scontro fra l'approccio ingegneristico al problema dell'usabilità, che presupponeva che i problemi potessero essere risolti, grazie alle linee guida, prima ancora che si presentassero, e la realtà della progettazione di sistemi complessi, che risentivano della variabilità dei contesti d'uso, dei bisogni e degli scopi degli utenti, portò a considerare con maggiore attenzione il problema del contesto di utilizzo del prodotto software.

4) Secondi anni Novanta: il participatory design (design partecipativo).

L'idea di base di questo approccio è che anche il miglior specialista di usabilità non può riuscire a rendere conto delle conoscenze situate relative alle pratiche, alla cultura del lavoro, all'uso delle tecnologie nei diversi contesti lavorativi. Si passa perciò dal diretto coinvolgimento degli specialisti al diretto coinvolgimento degli utenti. L'utente partecipa a tutte le fasi definitorie del processo assumendo il ruolo di corresponsabile, insieme con il progettista, del prodotto finito. La produzione del software non è più un processo lineare, ma un processo iterativo in cui si perviene al risultato finale attraverso aggiustamenti successivi guidati dalla continua verifica delle esigenze e delle necessità dell'utente finale. In questi ultimi anni, inoltre, il concetto di usabilità sta subendo delle trasformazioni dovute all'ingresso nella discussione sull' HCI di figure nuove, provenienti dall'antropologia e dalle scienze sociologiche, che spingono l'attenzione verso orizzonti più ampi, ai confini con l'etnografia. Sono emersi problemi nuovi, legati non più all'aspetto tecnico ma alle implicazioni di carattere sociale, alle relazioni di potere tra utilizzatori di status diverso e al pericolo che l'esasperazione dell'usabilità possa portare ad un impoverimento dei compiti e delle qualifiche richieste ai lavoratori. Ciò implica un mutamento della definizione di utente da fattore umano (tradizionalmente inteso come agente passivo e spersonalizzato), ad attore umano, vale a dire un individuo attivo, capace di controllo e scelta. L'esigenza diventa, perciò, quella di abbandonare la ricerca di tecniche e linee guida valide per tutti, in qualsiasi occasione, e di accettare di confrontarsi con la complessità che deriva dalla progettazione di strumenti dedicati a persone diverse tra loro, ognuna impegnata nei propri scopi e immersa nel proprio ambiente.