Un prototipo è una versione funzionante di un prodotto o di una funzionalità, realizzata per rispondere a una domanda prima della costruzione del prodotto finale. I prototipi possono variare da semplici schizzi su carta realizzati a mano, a schermate interattive integrate in un software di progettazione, fino a codice funzionante che interagisce con dati reali. Ciò che li accomuna è lo scopo: un prototipo esiste per essere valutato e, se necessario, scartato o modificato, non per essere commercializzato.
La disciplina fondamentale consiste nel decidere a quale domanda il prototipo debba rispondere, perché questo determina il livello di fedeltà richiesto. Per capire se gli utenti comprendono una struttura di navigazione, è sufficiente una serie di schermate statiche collegate tra loro. Per capire se un'interazione risulta sufficientemente reattiva, è necessario un prototipo codificato con tempi di risposta reali, perché nessun artefatto statico può trasmetterlo. Per capire se una tabella di dati complessa è utilizzabile, sono essenziali volumi di dati realistici, poiché una tabella che funziona con dieci righe potrebbe risultare inutilizzabile con diecimila. Costruire un prototipo con un livello di fedeltà superiore a quello richiesto dalla domanda è una perdita di tempo; costruirne uno con un livello di fedeltà inferiore produce risultati non trasferibili.
I prototipi sono particolarmente utili per le questioni che non possono essere risolte tramite discussione. I team possono discutere all'infinito sulla lunghezza di un flusso, sulla comprensibilità di un concetto o sulla possibilità di scoprire un'interazione, e nessun dibattito, per quanto approfondito, riesce a risolvere la questione perché ognuno ragiona in base al proprio modello mentale. Presentare un prototipo a cinque persone che corrispondono al pubblico di riferimento solitamente risolve la discussione in un giorno e spesso rivela che entrambe le posizioni erano errate per ragioni che nessuno aveva previsto.
Il rischio principale è che un prototipo diventi il prodotto. Un prototipo convincente genera pressioni per la sua commercializzazione, soprattutto in presenza di scadenze ravvicinate, e il codice scritto per rispondere a una domanda raramente è pensato per essere manutenuto: niente gestione degli errori, niente accessibilità, niente casi limite, niente test. Le organizzazioni che promuovono ripetutamente i prototipi in produzione accumulano debito tecnico nel modo meno visibile possibile. Trattare il codice del prototipo come esplicitamente usa e getta, e dichiararlo prima di realizzarlo, è l'unica protezione affidabile.
Un secondo rischio è quello di investire eccessivamente. I prototipi che richiedono settimane per essere realizzati hanno lo stesso peso emotivo del lavoro finito, e i team diventano riluttanti ad abbandonare una direzione per la quale hanno investito notevoli sforzi. Il valore della prototipazione risiede nella possibilità di scartarla a basso costo, il che significa che la velocità è una proprietà funzionale piuttosto che una comodità. Se la realizzazione di un prototipo richiede più tempo rispetto alla funzionalità stessa, la domanda avrebbe dovuto essere affrontata in un altro modo.
È utile distinguere tra prototipi creati per esplorare e prototipi creati per comunicare. Un prototipo esplorativo è grezzo, riservato al team e viene scartato una volta ottenuta la risposta al quesito. Un prototipo comunicativo, invece, viene creato per dimostrare una possibile direzione di sviluppo agli stakeholder o per specificare il comportamento da implementare, e deve essere più completo e rifinito perché verrà interpretato letteralmente. Confondere i due tipi di prototipo causa problemi prevedibili: un lavoro esplorativo mostrato ai dirigenti viene interpretato come un impegno, mentre i prototipi comunicativi, realizzati con la stessa approssimazione di un prototipo esplorativo, lasciano gli sviluppatori a interrogarsi su stati e casi limite che non sono mai stati presi in considerazione. Decidere quale tipo di prototipo si sta realizzando e specificarlo al momento della presentazione previene gran parte di questa confusione.
In pratica, la prototipazione si colloca all'incrocio tra progettazione e realizzazione, e il suo risultato è una decisione piuttosto che un artefatto. In un progettazione del prodotto coinvolgimento, i prototipi vengono utilizzati per convalidare i concetti con utenti reali prima della specifica, mentre in sviluppo del prodotto Vengono inoltre utilizzati per ridurre i rischi legati a presupposti tecnici di fattibilità, prestazioni e integrazione prima di definire un'architettura definitiva. È importante mantenere distinti questi due scopi, poiché un prototipo che risponde a una domanda di usabilità e un prototipo che risponde a una domanda tecnica raramente coincidono.