Design Sprint » Come applicare il Design Thinking secondo Google

design sprintIl Design Thinking è un approccio allo sviluppo dei prodotti nato tra il 1960 ed il 1970 dal lavoro di Herbert A. Simon e condensato nel libro “The science of the artificial”. In seguito Simon vinse il premio Nobel in economia ed il premio Turing.

Nel 1990 quelle idee furono riprese da Terry Winograd, David Kelley,Larry Leifer presso l’Università di Stanford dando origine a quello che è divenuto l’approccio più conosciuto e attualmente portato avanti dalla Stanford Design School.

In epoca più recente Google Inc. (attualmente Alphabet Inc.) ha adottato una propria metodologia di sviluppo che fonde i principi del Design Thinking con quelli dello sviluppo Agile basato su iterazioni (Sprint) molto brevi (5 giorni).

Questa metodologia si chiama Design Sprint e costituisce un modello molto interessante da un punto di vista operativo perché è molto veloce ed ha alle spalle una casistica molto ampia di prodotti e soluzioni in cui è stato applicato con successo.

Inoltre si tratta di una risorsa open source per responsabili della progettazione, product owner, sviluppatori o chiunque desideri applicarla.

La struttura della metodologia e le modalità di applicazione sono dettagliate nel libro Sprint da Jake Knapp e John Zeratsky.

Panoramica sul Design Sprint

La metodologia si articola in sei fasi:
video design sprint

  1. Comprensione (Understand). Lo scopo è creare una conoscenza condivisa dell’obiettivo del lavoro da svolgere. In questa fase non viene ricercato il massimo livello di dettaglio ma una visione d’assieme. Tecniche utilizzate: brevi meeting (“Lightning Talks”), brainstorming e mind mapping, diagramma di affinità, interviste, mappatura della User Experience, User Stories e casi d’uso.
  2. Definizione (Define). Il team riprende tutto ciò che è stato appreso nella fase precedente per stabilire l’ambito del lavoro da fare in termini di risultati attesi, metriche e indicatori di successo. Tecniche utilizzate: business model Canvas, problem solving, tecniche di creatività.
  3. Bozza (Sketch). Il team genera e condivide una vasta gamma di idee maturate a livello individuale. Utilizzando un brainstorming e il diagramma di affinità il team raggrupperà le idee simili e produrrà una “bozza” della soluzione proposta. Ulteriori tecniche utilizzate: scomposizione del lavoro (Solution Sketch).
  4. Decisione (Decide). Il team di Design Sprint mette a punto il disegno concettuale e la direzione da intraprendere valutando le proposte di ciascun membro. Tecniche impiegate: diagramma di flusso, matrici e alberi decisionali, votazioni.
  5. Prototipo (Prototype). Il team lavora per creare un prototipo sulla base delle linee guida definite nelle fasi precedenti. Obiettivo del prototipo è superare la fase successiva di validazione da parte dell’utente finale. Pertanto l’ottica è quella di realizzare solo un modello e non un prodotto completo e funzionante. Si tratta quindi di qualcosa di sperimentale finalizzato a verificare la validità delle ipotesi di partenza. Tecniche utilizzate: storyboard, kanban board, strumenti di sviluppo, strumenti di prototyping.
  6. Convalida (Validate). E’ il momento della verità in cui il team di Design Sprint svolge una sessione dimostrativa agli utenti del prototipo realizzato. Ciò consentirà di concludere l’iterazione con il prototipo convalidato oppure da migliorare o cambiare. Tecniche utilizzate: analisi degli stakeholder, tecniche di conduzione di una demo, test e revisione dei requisiti, interviste e focus group.

Sebbene sia consigliabile includere in uno Sprint (iterazione) tutte e sei le fasi della metodologia, ci sono certamente situazioni in cui è possibile adattare il metodo alle necessità del caso.

Lo scopo è comunque quello di allineare il team di sviluppo sui passaggi che devono essere svolti per sviluppare il prodotto in modo incrementale. Un metodo deve servire per raggiungere gli obiettivi ma anche per portare disciplina nel modo di lavorare.

Importanza della pianificazione del Design Sprint

Come suggerito dallo sviluppo agile, è bene far precedere ogni iterazione da una pianificazione finalizzata a:

  • Raccogliere dati e informazioni utili per il team
  • Fissare gli obiettivi
  • Identificare la portata della sfida
  • Costituire la squadra che dovrà svolgere il lavoro
  • Definire l’agenda ragionando in termini di timeboxing
  • Predisporre la documentazione di avvio