GitLab Commit is coming up on August 3-4. Learn how to innovate together using GitLab, the DevOps platform. Register for free: gitlabcommitvirtual2021.com

Unverified Commit 2fd117d3 authored by Cyrille Chopelet's avatar Cyrille Chopelet
Browse files

[Blog] Write post about metaphor for dev

parent 9ad6e91b
# About Vincent Déniel's drawings
This directory contains [Vincent Déniel's drawings](https://vincentdnl.com/drawings/).
They are in this directory only so that your browsers won't have to open connections to a third-party site.
These drawings are licensed under a [Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) license](https://creativecommons.org/licenses/by-nc/4.0/).
---
date: 2021-02-08T07:00:00+01:00
title: Utilisez des métaphore pour échanger avec une population non technique
#subtitle: A witty line as a subtitle
slug: metaphore-projet-developpement-informatique
description: |-
Échanger avec les clients fait partie de notre travail, mais comprendre ce que nous faisons ne fait pas partie du leur.
Parfois, une image peut grandement faciliter la compréhension mutuelle.
author: chop
categories:
- software-creation
tags:
- management
---
Il y [une iamge que j'aime beaucoup][metaphor] pour parler du développement logiciel : la construction d'une maison.
Comme toute métaphore, elle a ses limites, mais elle aide les personnes qui n'ont pas un passif technique de comprendre ce que leurs demandes représentent pour nous, en les comparant à quelque chose qu'ils peuvent comprendre.
<!--more-->
## Construire un projet informatique est comme construire une maison
L'image est simple, vraiment : votre projet est une maison (ou un immeuble pour les plus importants).
L'idée n'est pas de moi !
Il y a dix ans, mon chef de projet rénovait une maison qu'il avait achetée et ces comparaisons lui venaient naturellement.
Une fois, un client voulait discuter une fonctionnalité et il répondit : « On ne peut pas faire ça maintenant. Ce serait comme poser une fenêtre, mais nous n'avons pas encore les murs. »
Ça, le client le comprit.
Nous aurions pu passer du temps à expliquer qu'un canal de communication ne peut fonctionner que si le moteur qui fournit les données à communiquer est déjà présent, mais percevez-vous à quel point ce discours peut paraître abstrait à quelqu'un qui ne travaille pas dans notre domaine ?
Mettez-vous à la place du client : il ne connaît rient au code ou à la technologie derrière leur projet, et ils font appel à nous pour ne pas avoir à s'en soucier.
Ils posent des questions et nous répondons avec un charabia technique.
Nous tapons des mots aléatoires et des caractères ésotériques sur un écran et, quelques semaines ou mois plus tard, nous livrons une nouvelle fonctionnalité ou application.
Cela pourrait aussi bien être de la magie démonique !
Mais tout le monde sait que la construction ou la rénovation d'une maison implique de poser des briques, de les cimenter correctement, de ne pas négliger les fondations, la plomberie, l'électricité…
Utiliser une image permet d'expliquer ce que nous faisons en donnant quelque chose que notre interlocuteur peut comprendre.
## Quelques illustrations de Vincent Déniel
Il y a quelques mois, j'ai découvert les [dessins][techdrawings] de [Vincent Déniel][vincentdnl].
Je les adore parce qu'ils représentent assez précisément, avec un humour que j'apprécie, ce que nous vivons tous les jours.
En prime, il a utilisé cette métaphore dans plusieurs de ses dessins.
Voici une sélection de mes préférés.
N'hésitez pas à parcourir [son site][techdrawings] pour plus.
### La merveilleuse explication de la dette technique
{{< figure src="/img/vincentdnl/technical-debt.png" link="https://vincentdnl.com/drawings/technical-debt" caption="« Je ne comprends pas pourquoi c'est si long d'ajouter une nouvelle fenêtre. »" alt="Un client face à une maison en ruines se plaint du temps requis pour l'ajout d'une fenêtre" >}}
La dette technique est un investissement pour gagner du temps à un instant _T_, mais comme toute dette, les intérêts s'accumulent.
Vous feriez bien de les rembourser dès que vous le pouvez pour ne pas avoir à tout payer en une fois.
### Une revisite du célèbre « Je veux un site comme Facebook en trois semaines »
{{< figure src="/img/vincentdnl/a-simple-website.png" link="https://vincentdnl.com/drawings/a-simple-website" caption="« Je veux un simple immeuble comme celui-ci. Vous pouvez le faire tout seul en trois semaines, pas vrai ? »" alt="Un client demande la construction d'un gratte-ciel en trois semaines" >}}
### Le mythe du développeur full-stack
{{< figure src="/img/vincentdnl/full-stack-developer.png" link="https://vincentdnl.com/drawings/full-stack-developer" caption="« J'ai besoin que tu répares le toit, fasses de la plomberie, peignes la maison, répares l'électricité et pose les tuiles. »" alt="Un manager demande à un homme suréquipé de réparer le toit, faire de la plomberie, peindre la maison…" >}}
### Autres dessins exploitant cette métaphore
Vincent a plusieurs autres dessins dans la même veine :
- [Ce n'est pas parce qu'on a les écrans que ça fonctionne](https://vincentdnl.com/drawings/demo-day)
- [Construisez les choses avant de les rendre jolies](https://vincentdnl.com/drawings/priorities)
- [En allant vite maintenant, on risque les mauvaises surprises](https://vincentdnl.com/drawings/testing-tdd)
- [Faites confiance aux spécialistes pour le choix de leurs outils](https://vincentdnl.com/drawings/questioning)
- [Faites attention lorsque vous découpez votre monolithe en microservices](https://vincentdnl.com/drawings/breaking-the-monolith)
## Trouvez des images avec lesquelles vous serez à l'aide
Bien entendu, la construction de maison n'est qu'une image parmi d'autres.
Vous devriez trouver un domaine qui vous parle.
J'ai parfois utilisé la voiture : le tableau de bord et les commandes sont une très bonne illustration d'une interface qui communique avec un moteur, le _back end_.
Et vous, utilisez-vous des métaphores pour expliquer votre travail ?
Envie d'en partager dans les commentaires ?
[metaphor]: {{< relref path="/stories/2019/11/29-wc-metaphore" >}}
[vincentdnl]: https://twitter.com/vincentdnl/
[techdrawings]: https://vincentdnl.com/drawings/
---
date: 2021-02-08T07:00:00+01:00
title: Use Metaphors when Speaking with Non-Technical People
#subtitle: A witty line as a subtitle
slug: metaphor-software-development-project
description: |-
Exchanging with clients is part of our normal jobs, but it's not part of the client's to understand what we do.
Sometimes, an image can help go a long way facilitating mutual comprehension.
author: chop
categories:
- software-creation
tags:
- management
---
There's [an image I like][metaphor] when I speak about software development: the construction of a house.
Like any metaphor, it has limits, but it helps non-technical people understand what their requests mean to us by comparing them with something they can understand.
<!--more-->
## Building a Software Project Is Like Building a House
It's quite simple, really: your software project is a house (or maybe a building if it's a big one).
The idea is not mine!
Ten years ago, my project manager was renovating the house he built and such comparisons came to him naturally.
Once, the client wanted to discuss a feature and he answered, "We can't do that now. That'd be like adding a window, but we don't even have the walls up yet."
That, the client understood.
We could have spent time explaining that communication channels couldn't work until there was an engine that provides actual data, but can you see how that can be confusing to someone who doesn't work in the field?
Put yourself in your client's shoes: they don't know a thing about the code or technology behind their project, and they hire us so that they don't have to.
They ask questions and we answer with gibberish.
We seem to type random words on a screen and, a few weeks or months later, we deliver a new feature or application.
Might as well be a feat of demonic magic!
But everybody knows that building or maintaining a house requires to lay down bricks, cementing them properly, not neglecting the foundations, pipes, electricity…
Using a metaphor can help us explain what we do by giving them something they can relate to.
## Some Example Illustrations by Vincent Déniel
A few months back, I discovered [Vincent Déniel][vincentdnl]'s [drawings][techdrawings], which I love because they describe quite accurately, with a dry humour, what we live everyday.
What's more, he's used this metaphor in several of his drawings.
Here's a selection of my favorites.
Don't hesitate to browse [his gallery][techdrawings] for more.
### The Wonderful Explanation of the Technical Debt
[![A client in front of a broken house complains about the time required to add a window](/img/vincentdnl/technical-debt.png)](https://vincentdnl.com/drawings/technical-debt)
Technical debt is an investment you made at one time to save some time, but like any debt, interests build up, so you'd better reimburse it as fast as you can.
### Revisiting "I Want a Facebook-Like Site in Three Weeks"
[![A client asks to build a skyscraper in three weeks](/img/vincentdnl/a-simple-website.png)](https://vincentdnl.com/drawings/a-simple-website)
### The Myth of the Full-Stack Developer
[![A manager asks a superequipped man to fix the roof, do plumbing, paint the house…](/img/vincentdnl/full-stack-developer.png)](https://vincentdnl.com/drawings/full-stack-developer)
### Other House-Building-Related Drawings
There are several other drawings in the same style:
- [It's not because we see the app that it works](https://vincentdnl.com/drawings/demo-day)
- [You should build things before making them look good](https://vincentdnl.com/drawings/priorities)
- [Going fast may now not pay in the end](https://vincentdnl.com/drawings/testing-tdd)
- [Let the specialists use the tool they think is appropriate](https://vincentdnl.com/drawings/questioning)
- [Be careful how you break your monolith into microservices](https://vincentdnl.com/drawings/breaking-the-monolith)
## Find Metaphors You'll Be at Ease With
Of course, the house building is only one possible metaphor.
You should find something you're at ease with.
I sometimes used a car as an image, the dashboard and commands being the interface the engine, the back end.
Do you use metaphors, too?
Care to share in the comments?
[metaphor]: {{< relref path="/stories/2019/11/29-wc-metaphore" >}}
[vincentdnl]: https://twitter.com/vincentdnl/
[techdrawings]: https://vincentdnl.com/drawings/
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment