Bonjour, Habr! Nous avons trouvé un article très cool dans
Designing Digital Products with Mental Models sur un blog de collègues des États-Unis, l'avons traduit et publié ici. L'auteur de l'article est le designer
Tim Scheiner . Nous vous recommandons de le lire à toutes les personnes impliquées dans le développement de produits numériques.
La meilleure façon de parvenir à une compréhension mutuelle dans l'équipe de projet.
La traduction est difficile
Une fois, voyageant en Inde, j'ai acheté un livre bon marché - Crime and Punishment de Dostoïevski en anglais. J'avais hâte de lire ce chef-d'œuvre avec plaisir, mais au final je l'ai vaincu avec beaucoup de difficulté. Au lieu de plaisir, j'étais perplexe: pourquoi est-il si admiré? Comme il s'est avéré plus tard, le texte que j'ai lu était loin de la source d'origine. Je ne l'ai découvert que lorsque je suis arrivé à Bangkok, où j'ai essayé de vendre le livre que j'avais lu à un marchand de livres d'occasion. Il a dit qu'il n'en avait pas besoin, car la traduction était terrible.
Ce cas suggère que la traduction n'est pas une tâche facile. Ce n'est pas seulement difficile de bien le faire - c'est seulement un expert qui peut déterminer que c'est mal fait. Lors du développement de produits numériques qui automatisent les opérations humaines, vous devez gérer la traduction de la manière la plus complexe. Tout d'abord, vous devez traduire les résultats analogues de l'observation humaine sous forme numérique qu'un ordinateur peut interpréter. Deuxièmement, vous devez décrire les conversions analogique-numérique avec des mots qui signifient la même chose pour les ingénieurs, les concepteurs et les chefs de produit de votre équipe, et ils utilisent tous une terminologie différente pour formuler des idées. L'histoire avec Dostoïevski montre qu'il n'est pas si facile de garder le sens même lorsque l'on passe à un niveau, mais il y en a deux lors du développement de produits numériques de tels niveaux.
La solution est de construire ensemble des modèles
Mon approche des difficultés de traduction lors du développement de produits numériques consiste à minimiser d'abord la quantité d'informations à traduire. Pour ce faire, au tout début, les membres de l'équipe doivent construire cinq modèles mentaux ensemble.
- Modèle utilisateur: à qui est-il destiné?
- Modèle de valeur: pourquoi est-il utile?
- Modèle d'interaction: comment l'utiliser?
- Modèle objet: comment est-il organisé?
- Modèle de données: comment gérer l'état de tout cela?
J'appelle ce circuit «Digital Machine» et le présente comme ceci:

Ces cinq modèles existent toujours en tant qu'hypothèses inconscientes dans l'esprit des participants au projet. Ces hypothèses sont la principale source de confusion, de sorte que le schéma proposé aide les gens à trouver un langage commun et à échanger efficacement des informations, en discutant des idées qui se sont développées dans leur tête.
Mon approche fonctionne car le logiciel est vraiment une machine numérique.
Bien qu'il se compose de bits, pas de boulons, et soit incarné dans du code plutôt qu'en acier, les sensations de son utilisation (c'est-à-dire la convivialité) - en tout cas, quand tout est pensé comme il se doit - proviennent de la même source que n'importe quelle machine: la relation de l'opérateur avec l'appareil, où de simples informations d'introduction sont converties en résultats utiles pour résoudre des problèmes importants.
En dessinant une analogie avec une machine lors du développement d'un produit numérique, on peut s'appuyer sur la même logique visuelle et spatiale qui s'applique aux objets physiques.Cela signifie que bien qu'il soit impossible de voir ou de toucher la structure interne d'un produit numérique, en tirant une analogie avec une machine au cours de son développement, nous pouvons compter sur la même logique visuelle et spatiale qui s'applique aux objets physiques. Et puisque la pensée spatiale et figurative sont des capacités non verbales, ces modèles construits ensemble sont facilement perçus par les participants avec des points de vue différents.
Maintenant que nous avons compris pourquoi le circuit de la machine numérique est nécessaire, nous allons nous attarder sur chaque modèle plus en détail.
Modèle utilisateur
Le modèle utilisateur décrit qui utilise la machine numérique. Il s'agit d'un modèle de comportement humain - il définit des objectifs, des actions et des émotions. Pour tout projet, il s'agit d'un personnage fictif avec certaines caractéristiques:

Thomas est comme une vraie personne, mais il ne l'est pas. Vous percevez les héros de l'émission de télévision populaire comme des personnes vivantes, mais en réalité ce ne sont que des acteurs qui jouent leur rôle. Pour une équipe de développement, un utilisateur fictif est une personne spécifique: tout le monde le connaît de face et de nom, à moins qu'il ne participe aux réunions. L'astuce est que lorsque vous utilisez une photo et un nom, le modèle prend vie et fait son travail grâce à la tendance naturelle des gens à l'empathie.
C'est l'empathie qui nous aide à prédire avec précision le comportement des autres afin de communiquer et de travailler avec notre propre espèce. Par exemple, si aujourd'hui nous convenions que la couleur préférée de Thomas est l'orange, bien sûr, demain ce sera aussi l'orange. En continuant à discuter de Thomas, nous arriverons à une compréhension commune de ses préférences et de ses besoins: non seulement la couleur qu'il aime, mais aussi ce qu'il attend de la machine numérique que nous développons pour lui. Cette compréhension commune devient le critère que nous utilisons - souvent inconsciemment - pour déterminer la valeur de l'ajout ou de la suppression de certaines fonctions.
Modèle de valeur
Un produit numérique - comme un être humain - n'a qu'une seule chance de faire bonne impression. Le modèle de valeur détermine comment cette impression doit être de votre point de vue.
Elle dit à l'utilisateur:
- Quel est ce produit?
- Comment cela va-t-il me faciliter la vie (plus intéressant, plus efficace, etc.)?
- Pourquoi devrais-je acheter / préférer / utiliser ce produit particulier, quelle est sa particularité?
La première question est de quel type de produit s'agit-il? - sert de filtre pour l'utilisateur au plus haut niveau. Thomas est un homme très occupé, il classera donc très rapidement et pour la plupart intuitivement votre voiture dans une certaine catégorie. Après cela, toutes les autres impressions de votre produit dépendent de leurs attentes par rapport à cette catégorie. Tout d'abord, il déterminera si vous avez créé un outil d'enregistrement, un programme d'édition d'image, un jouet pour passer le temps à l'arrêt de bus, un messager pour communiquer avec des amis ou un système d'analyse de données. Si Thomas s'intéresse à la catégorie appropriée, il étudiera le reste de votre modèle de valeur; sinon, il ne perdra pas de temps.
Le modèle de valeur peut être représenté par l'instruction suivante:
[Nom du produit] est une catégorie d'expérience utilisateur,
ce qui m'apporte tels et tels avantages (et mieux que des solutions alternatives pour telle ou telle raison).
La dernière partie est placée entre crochets, car il n'est pas toujours possible de décrire les raisons avec une simple phrase. Il est très important de définir ces caractéristiques distinctives, mais souvent le meilleur moyen de les transmettre à l'utilisateur passe implicitement par le modèle d'interaction.
Le paradoxe est que le modèle de valeur est le plus facile à comprendre et le plus difficile à décrire. La partie la plus difficile est de trouver un langage qui définit la valeur pour l'individu, pas pour l'organisation qui crée l'expérience utilisateur. Il est important pour une personne que l'accomplissement d'une tâche ou d'une organisation soit simplifié - qu'elle gagne un revenu ou atteigne un objectif stratégique. La valeur pour une personne est principale et la valeur pour une organisation est dérivée: l'organisation reçoit de la valeur en récompense de la création de valeur pour une personne.
La partie la plus difficile est de trouver un langage qui définit la valeur pour l'individu, pas pour l'organisation qui crée l'expérience utilisateur.Pour résoudre ce problème, vous devez suivre deux étapes importantes. Premièrement, placez mentalement une machine numérique dans un modèle commercial plus large, où notre produit n'est qu'un élément de la proposition de valeur globale de l'organisation pour le consommateur. Deuxièmement, afin de créer un modèle de valeur convaincant, vous devez le construire ensemble en appliquant des méthodes de développement axées sur l'homme - et en attirant directement des personnes similaires à l'utilisateur cible.
Modèle d'interaction
Le modèle d'interaction détermine comment une personne modifie l'état d'une machine numérique. Ce modèle peut être représenté comme un dialogue entre deux composantes du circuit de la machine numérique - humaine et algorithmique. Dans cette boîte de dialogue:
- action de l'opérateur pour changer l'état de la machine -
- c'est l'entrée de l'algorithme,
- qui en réponse produit un résultat,
- perçu par l'opérateur comme un signal de retour
- que la voiture a changé d'état.

Étant donné que l'utilisateur interagit avec la machine numérique pour effectuer une tâche spécifique et que cette interaction change l'état de la machine numérique, nous pouvons dire que le but du modèle d'interaction est de changer l'état de la machine numérique.
Une telle compréhension théorique du modèle d'interaction est nécessaire pour le relier au modèle objet et au modèle de données, qui seront discutés ci-dessous, mais ce n'est pas la meilleure approche de sa conception. Dans ce cas, il est préférable de présenter le modèle d'interaction comme une histoire.
Voici un exemple d'une telle histoire pour acheter un livre sur Amazon.
1. Allez sur amazon.com.
2. Trouvez un livre.
3. Affichez les informations détaillées du livre.
4. Mettez le livre dans le panier.
5. Passez une commande.

À chaque étape, j'interagis avec le système, saisissant du texte, sélectionnant un produit dans la liste ou appuyant sur un bouton pour effectuer une action. Le système répond en émettant des signaux de rétroaction visuels qui confirment qu'il a reçu une entrée de ma part. À chaque étape de l'histoire, l'état du système change. Au final, un changement global s'opère: j'ai acheté un livre - le système a terminé sa tâche!
Un autre nom pour une histoire qui décrit comment une personne atteint un objectif est le flux de travail. L'idée qu'un workflow est une histoire fonctionne comme une heuristique: si le modèle d'interaction ne peut pas être décrit comme une histoire plausible simple, vous n'avez pas fini de concevoir.
Une autre pensée importante est que le modèle d'interaction est toujours une structure hiérarchique complexe. Vous pouvez illustrer cela en développant l'exemple ci-dessus.
1. Allez sur amazon.com.
2. Trouvez un livre.
2.1. Utilisez la boîte de dialogue Rechercher.
2.1.1. Placez le curseur dans la boîte de dialogue Rechercher.
2.1.2. Tapez le texte.
2.1.3. Affichez les options dans la liste déroulante des correspondances partielles.
2.1.3.1. Choisissez l'une des options disponibles.
2.1.3.2. Parcourez la liste des résultats de recherche.
2.1.4. Ignorez les options de la liste déroulante des correspondances partielles, cliquez sur le bouton Retour.
2.2. Parcourez la liste des résultats de recherche.
2.3. Cliquez sur le titre du livre.
3. Affichez les informations détaillées du livre.
4. Mettez le livre dans le panier.
5. Passez une commande.
Nous voyons que lorsque des détails supplémentaires sont ajoutés, le modèle d'interaction décrit de plus en plus clairement comment le logiciel fini doit se comporter.
En présentant ce modèle comme un ensemble d'histoires liées hiérarchiquement, nous pouvons classer ces histoires et déterminer celles qui sont nécessaires pour le flux de travail et celles qui sont utiles, mais pas obligatoires.
Étant donné que le modèle d'interaction raconte l'histoire de ce que l'utilisateur fait avec le logiciel, il est plus facile pour les participants au projet de discuter de ce modèle particulier, ce qui les aide à comprendre. Le danger est - et c'est le problème de la plupart des projets de développement logiciel - que l'équipe se concentre trop tôt et de façon imprudente sur le modèle d'interaction, sans décrire correctement les autres modèles dont elle dépend.
Modèle d'objet
Jusqu'à présent, nous avons parlé des composants d'une machine numérique qui sont associés à l'utilisateur et de son expérience avec le produit. Le modèle objet et le modèle de données nous permettent de discuter du côté technique des choses.
Bien que tous les modèles d'une machine numérique soient importants, le modèle objet est le plus important car il définit les «détails» de la machine et leur relation. Illustrons cela par un exemple. Disons que nous avons décidé de créer un jeu de simulation pour faire du vélo. Lors de la conception d'un modèle d'objet, nous devons d'abord imaginer un vélo. Il est clair que bien que nous puissions afficher tous les détails d'un vélo, nous n'avons besoin que de ceux qui interagissent avec le cycliste et la route.
Une manière pratique d'effectuer une telle analyse d'un objet est de présenter le modèle d'interaction sous forme d'histoire et d'identifier les noms significatifs:
Lorsqu'un cycliste fait du vélo , il s'assoit sur le siège avec les pieds sur les pédales et tient le guidon avec ses mains. Il contrôle le vélo en contrôlant l' angle de rotation et l' angle de braquage dans une certaine plage , afin de ne pas tomber sous l'influence de la gravité et de se rendre du point de départ à la destination , c'est-à-dire de faire un voyage .Cela peut être représenté comme suit:

Ou sous une forme plus compacte:
voyage
> véhicule
> cycliste
> vélo
> volant
> tourner
> angle d'inclinaison
> position
> point de départ
> destination
Cette représentation révèle à la fois les objets du modèle et leur interaction. La structure hiérarchique que nous avons déjà découverte dans le modèle d'interaction apparaît naturellement ici, puisque les deux modèles sont interconnectés. Plus l'histoire est détaillée dans le modèle d'interaction, plus la granularité et la précision de la description des objets entrant dans des relations sont élevées. L'inverse est également vrai: si nous divisons des objets en sous-objets, l'histoire de leur interaction devient plus détaillée.
La représentation schématique d'un modèle d'objet est extrêmement utile, mais notre machine numérique n'a pas la touche finale: un mécanisme de collecte de données d'état. Ce problème est résolu par le modèle de données.
Modèle de données
Le modèle de données est construit sur la base d'un principe simple - une paire nom / valeur. Cela signifie que lors de la présentation des données, chaque paramètre reçoit un nom et une valeur spécifique est affectée. Le plus souvent, la valeur est exprimée par un nombre, mais elle peut également être du texte.
Il est d'usage d'écrire d'abord le nom, puis la valeur, par exemple:
x = 3
π = 3,14
couleur = vert
ville = San Francisco
Les paires nom / valeur nous permettent de capturer des données d'état. En appliquant ce principe dans notre exemple avec un vélo, nous pouvons écrire:
position: {
latitude: '37: 78 ',
Longitude: '-122: 42'
}
Les paires qui décrivent l'état d'un objet sont souvent appelées propriétés de l'objet. En poursuivant dans la même veine, vous pouvez écrire:
voyage = {
véhicule: {
cycliste: {
nom: «Thomas»
},
vélo: {
volant: {
tourner: '12',
angle d'inclinaison: '3'
}
},
position_courante: {
latitude: '37 .78 ',
Longitude: '-122,42'
},
},
point de départ: {
nom: «San Francisco»,
position: {
latitude: '37 .78 ',
Longitude: '-122,42'
},
destination: {
nom: «Los Angeles»,
position: {
latitude: '34 .05 ',
Longitude: '-118.42'
}
}
}
Ceci est le modèle de données pour notre jeu. En fixant individuellement l'état de tous les objets de notre machine, il capture ainsi l'état de la machine dans son ensemble.
Maintenant, nous voyons: pour que l'utilisateur ait l'impression de contrôler la vitesse et la direction du vélo, nous devons traduire les données qu'il entre dans le contrôleur de jeu en valeurs numériques et les utiliser pour mettre à jour le modèle de données, puis traduire ces changements d'état en informations visuelles, afin qu'il puisse recevoir un signal de retour.

Ainsi, tout le travail de développement et d'implémentation que je réalise avec mon équipe se résume à donner à l'utilisateur la possibilité de modifier plusieurs paramètres numériques. Comprendre cela clarifie la situation et en même temps fait baisser l'arrogance.
Pour résumer
Une «machine numérique» est un diagramme qui décrit un produit numérique comme une collection de cinq modèles.
- Modèle utilisateur: à qui est-il destiné?
- Modèle de valeur: pourquoi est-il utile?
- Modèle d'interaction: comment l'utiliser?
- Modèle objet: comment est-il organisé?
- Modèle de données: comment gérer l'état de tout cela?
Ce programme aide les participants au projet à faire face au processus complexe de traduction des besoins humains en un produit utile sous trois aspects.
- Les règles de communication fixées par les modèles de la machine numérique révèlent des hypothèses et des hypothèses inconscientes et permettent d'apprécier le degré d'accord des participants au projet.
- Le processus de conception devient plus flexible, car il vous permet de travailler sur chaque modèle pendant un certain temps, puis de les réassembler ensemble et de les évaluer en tant que système intégré.
- Ensemble, construisant des modèles d'une machine numérique, les participants au projet utilisent leurs capacités de réflexion imaginative et spatiale, ce qui les aide à parvenir à une compréhension commune du fonctionnement du produit.
Si vous arrivez à ces lignes, vous avez appris une sérieuse théorie du design. Cependant, pour moi, l'application d'une telle approche n'est en aucun cas une théorie - j'utilise quotidiennement ce schéma avec succès dans mon travail. Je parle constamment à mon équipe des modèles, je les dessine au tableau, je les inclue dans les présentations et je fais de mon mieux pour permettre à chaque participant au projet de discuter plus facilement des modèles. Bien que cela provoque initialement une certaine gêne dans la nouvelle équipe, l'efficacité de la communication augmente considérablement, et j'étais très heureux quand l'un des anciens patrons m'a dit: «Probablement, tôt ou tard, nous arriverions à un consensus sur nos modèles mentaux, mais grâce à cela que vous en parliez tout le temps, c'est arrivé beaucoup plus vite. "
Merci à Ian Shen et Raymond Sutejo de m'avoir aidé à rendre mes idées sur les modèles lisibles. Merci également à mes anciens étudiants du California College of the Arts qui m'ont posé des questions difficiles. À la recherche de réponses, j'ai développé le schéma de la machine numérique.Littérature
Ce n'est pas moi qui ai inventé la machine numérique et les modèles qui la composent. Mon mérite (ou ma faute) réside uniquement dans le fait que j'ai décrit ce concept dans un article et fourni des illustrations. Pour ceux qui souhaitent se familiariser plus en détail avec la machine numérique et ses composants, je citerai plusieurs sources.
Voiture numérique
— — , . 1945 The Atlantic « » (
As We May Think ). , , , . 1948 «
» (The Mathematical Theory of Communication), , . , «
"(Introduction à la cybernétique) par William Ross Ashby - bien que ce ne soit pas la lecture la plus facile, elle donne la meilleure définition - rigoureuse et en même temps abordable - d'une machine numérique."Je vous conseille de porter une attention particulière au livre Conceptual Models: Core to Good Design de Jeff Johnson et Austin Henderson, qui a été publié en 2011 - c'est elle qui m'a inspiré pour créer le schéma de la machine numérique. Les auteurs décrivent l'approche absolument correcte, mais j'ai décidé qu'à des fins de formation, d'échange d'informations et de mise en œuvre, il est plus facile de fonctionner avec un système modulaire de modèles.Modèles, informations générales
Les premiers modèles qui ont servi à simplifier la compréhension du monde sont apparus lorsqu'un homme ancien a peint une image sur le mur de la grotte. Une interprétation plus moderne de ce concept, principalement en relation avec le design, est contenue dans le livre de Hugh Dubberly Model of Models , publié en 2009.Modèle utilisateur
Le modèle utilisateur a longtemps été utilisé avec succès dans la pratique de la conception de produits, environnements, systèmes et services numériques interactifs. Le meilleur livre sur le sujet - « Alan Cooper sur l'interface. Interaction Design Fundamentals »(À propos de Face 3: The Essentials of Interface Design). L'article de Frank Long à l' aide de Personas dans la conception de produits décrit une expérience ingénieuse qui montre les conditions dans lesquelles les portraits collectifs d'utilisateurs renforcent l'empathie et augmentent ainsi l'efficacité de la conception.Modèle de valeur
, «
- » (Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers), 2010 .
2011 IDEO
Human-Centered Design Toolkit: An Open-Source Toolkit To Inspire New Solutions in the Developing World , , .
Décrire l'interaction sous la forme d'une histoire convaincante avec d'autres participants au projet est une tâche très difficile. Une grande aide dans ce travail sera le livre de « User Stories » de Jeff Patton . L'art du développement logiciel agile »(User Story Mapping: Discover the Whole Story, Build the Right Product), publié en 2014.Il est utile de se familiariser avec l'article de Hugh Dubberly What is Interaction , qui décrit différentes options pour le modèle d'interaction.Modèle d'objet
La construction de tels modèles est mieux couverte dans l'article de Sofia Wojciechowski UX orienté objet .25 juillet 2017Article d'origine