La barrière de la langue plombe vos projets IT

Hervé Rincent

Hervé Rincent

2 févr. 2021

C'est incroyable le nombre de pièges dans le domaine du développement logiciel.

En particulier, il y en a un dans lequel je tombe encore : la barrière de la langue.

Non, je ne parle pas de la maîtrise de l'Anglais ou du Vietnamien. Je parle du langage de ceux qui vont utiliser le truc qu'on code.

Car chaque métier dispose de son vocabulaire spécifique.

Un “dossier” ne signifie pas la même chose pour un plasturgiste ou une avocate. Une “activité” ne correspond pas à la même chose pour un technicien de maintenance et une maîtresse d'école.

Et même au sein d'une entreprise, le même mot peut révéler des chose différentes.

Par exemple un “client” est en fait :

Lorsqu'on construit un logiciel, il y a donc une phase d'appropriation de ce langagespécifique. C’est nécessaire pour bien comprendre le métier avant de pouvoir le coder.

Sauf que :

Le poids des mots, le choc des bugs

Les erreurs de conception naissent de la mauvaise compréhension du besoin. Et cette incompréhension prend naissance dans le flottement du vocabulaire. On croit parler de la même chose, mais pas du tout.

Voila mon mantra désormais :

TOUT PROJET TECH COMMENCE PAR UN THESAURUS.

Non, un thésaurus n'est pas un animal préhistorique cousin du diplodocus.

Reprenons la définition donnée par Wikipédia :

Un thésaurus ou dictionnaire analogique est un ouvrage de référence dans lequel les mots sont organisés par champ lexical, où l’on peut trouver des synonymes et antonymes de mots. Il est destiné aux personnes qui écrivent, pour aider à trouver le meilleur mot pour exprimer une idée.

Ce thésaurus devrait être le premier livrable du projet. Il oblige à se mettre d'accord sur les termes et leurs significations pour le métier qui utilisera le logiciel.

Une fois que l'on s'est accordé sur ce vocabulaire, on peut alors discuter des fonctionnalités attendues.

Mais s'ouvre alors le second piège : la traduction dans le code.

Do you speak Javascript ?

L'un des problèmes les plus compliqués dans le développement logiciel est de nommer les choses. En effet, quand on code, on doit tout le temps attribuer des noms à des variables, des fonctions ou des modules.

Et là, c'est la fête.

L'imagination débordante des développeurs peut enfin se débrider. Ca fuzze de noms exotiques, en anglais, en français, dans un mélange des deux parfois.

A la fin, ça donne ça :

Pouvez-vous deviner à quoi sert ce bout de code ?

Non ?

Moi non plus !

A sa lecture, on ne comprend absolument pas l'intention du développeur.

Mais est-ce important de le savoir ? Car après tout, il y aura des tests. Le principal est que ça fonctionne sans bug.

Et bien c'est pourtant à ce moment précis que l'on torpille le projet. Au fur et à mesure, on construit une machine infernale qui sera impénétrable pour tout nouvel arrivant dans le projet.

Même celui qui est à l'origine du code aura le plus grand mal à y revenir quelques mois plus tard.

Ah si seulement on avait eu un thésaurus pour nous guider dans le choix des noms ! On aurait pu écrire le même code, comme ça par exemple :

Et là, vous deviner ce que fait le code ?

Bien sûr.

En utilisant les termes du thésaurus, on peut exprimer dans le code l'intention du métier. Sans ajouter d'étape nuisible de traduction.

Les bénéfices sont perceptibles :

Pour y parvenir, ça demande de décloisonner les codeurs et de les mettre en contact avec le métier pour s'accorder sur un langage commun et non ambigu. Ca demande un peu d'énergie, pour que chacun contribue à la construction du thésaurus et à sa mise à jour lorsque de nouvelles fonctionnalités doivent être ajoutées.

Mais sur le long terme, ce vocabulaire commun utilisé partout (y compris dans le code) offre un moyen efficace de conserver la maîtrise de son projet.


Continuer la lecture

Les estimations c'est du bidon

9 févr. 2021

4 min read

Les estimations c'est du bidon

Lire l'article
Transformer les mots en chiffres

26 janv. 2021

5 min read

Transformer les mots en chiffres

Lire l'article
Inscription à la newsletter

Recevez chaque semaine un article pour réfléchir à votre prochain projet tech/data

gratuit, sans spam, désinscription en 1 clic

Merci ! Regardez dans botre boite mail. Un lien de confirmation n'attend plus que votre clic.
Arghh il semble compliqué de vous ajouter à la liste de diffusion. Et si vous m'envoyiez un mail directement à contact@camilab.co ?