Cosa è un prototipo
protòtipo s. m. [dal gr. πρωτότυπος, comp. di πρωτο- «proto-» e τύπος: v. tipo]. - 1. Primo esemplare, modello originale di una serie di realizzazioni successive (spec. con riferimento a congegni e macchine), costruito, per lo più artigianalmente, nella sua grandezza normale e suscettibile di collaudi e perfezionamenti, su cui è basata poi la costruzione in serie. (Treccani.it) link
Un prototipo è una rappresentazione visuale di un sistema, si inserisce in diverse fasi nel ciclo di vita del software, a partire dalla quantificazione delle risorse arrivando alla progettazione e al testing. La prototipizzazione dell' interfaccia utente contribuisce a ridurre le incomprensioni e gli errori di analisi aumentando di conseguenza la qualità del prodotto finale.
Classificazione dei prototipi
I prototipi vengono generalmente classificati in diverse categorie, spesso in base al livello di fedeltà rispetto al prodotto finale: bassa (low-fidelity prototype), sono disegni e bozzetti realizzati su carta o con appositi programmi grafici; a media e alta (high-fidelity prototype), prototipi interattivi che si avvicinano molto al risultato finale. I prototipi vengono anche suddivisi per la quantità di funzionalità che rappresentano. Si dicono orizzontali quando rappresentano un ampio spettro, se non completo, di funzionalità; mentre sono verticali quando le funzionalità vengono rappresentate in una minima parte (horizontal and vertical prototypes).
In realtà, nel ciclo di sviluppo di un'applicazione ci sono diverse fasi che richiedono diversi tipi di prototipi classificati il più possibile con criteri oggettivi: definirò quindi i prototipi con tre tipologie non solo in base alla fedeltà e alle funzionalità, ma alla loro interattività e alla tecnlogia utitlizzata.
Prototipo concettuale:
È un prototipo a bassa fedeltà, con un ampio spettro di funzionalità, senza interattività. Serve a dare una rappresentazione di massima di quella che sarà la user interface del progetto, viene realizzato con tecnologie differenti da quelle definitive. Non richiede particolari competenze se non un minimo di esperienza con gli strumenti utilizzati. Viene definito anche come Mock-Up e può essere realizzato su carta a mano, con stumenti di editing grafici o con programmi appositamente sviluppati, che producono un file immagine o un documento PDF.
Prototipo funzionale:
È un prototipo a media fedeltà, con un ampio spettro di funzionalità, interattivo. Punto chiave del Prototipo funzionale è la verifica dell'usabilità dell'interfaccia utente. Per ridurre distorsioni nelle funionalità viene realizzato con la stessa tecnologia del prodotto finale. L'eventuale codice o markup deve essere scritto con il solo fine di rappresentare la funzionalità e non deve essere riutilizzato. Può essere utilizzato in fase di analisi ottimizzando le tempistiche di progetto e di approvazione. In caso che la tecnlogia utlizzata sia Windows Presentation Fundation, indipendentemente se un progetto Web Silverlight o Windows WPF, può essere con successo utlizzato Expression Blend con SketchFlow. SketchFlow permette di realizzare velocemente prototipi interattivi e ricevere con un apposito tool liberamente distribuible il feedback testuale e visivo del cliente. Per lavorare con SketchFlow non è necessario avere conoscenze sul linguaggio .NET o avere particolari doti grafiche e il prototipizzatore può concentrare il suo lavoro sulla usability dell'interfaccia.
Prototipo funzionante:
È un prototipo ad alta fedeltà, interattivo ma pensato per verificare il funzionamento di specifiche funzionalità. Viene realizzato per testare la logica di business per la parte di interfaccia utente, come la validazione dell'input e i relativi messaggi di errore. Spesso viene utlizzato con un Backend fittizio appositamente studiato per la parte di testing. Il codice funzionante può (e dovrebbe) essere riutilizato nel prodotto finale.
Conclusioni
Il processo di prototipazione oggi ha un ruolo sempre più importante nella progettazione delle applicazioni moderne, il soddisfacimento delle aspettative è la chiave del successo di un software e l'usabilità, facilità d'uso ed ergonomia assumono un aspetto che non può più essere trascurato.