Vous êtes il déjà arrivé de rester bloqué sur une problématique durant des heures voir peut-être des jours ? D’aller voir un expert (collègue, professeur, …) dans le domaine pour lui demander conseil et finalement de trouver vous-même la réponse en expliquant le contexte sans avoir eu besoin du retour de votre interlocuteur ?
J’ai peut être la solution miracle pour vous : le canard en plastique !
Moi ? Me payer votre tête ? Je n’oserais pas voyons !
Malgré ce que le nom de cette méthode laisse prétendre, c’est on ne peut plus sérieux. Et même si cette dernière peut paraître trop simple, c’est souvent les outils les plus simples qui marchent le mieux !
Ce n’est pas la première fois que je dis ça dans mes articles, je radote un peu mais c’est sûrement parce que je suis convaincu qu’un bon développeur doit savoir vulgariser. Cette méthode reprend un peu ce concept en le détournant dans un autre but, celui de la prise de recul.
Bon et du coup c’est quoi ?
L’idée c’est d’expliquer son code ou sa problématique à un interlocuteur. Le truc subtil, c’est que l’interlocuteur importe tellement peu dans ce processus au point qu’il peut être remplacé par un objet inanimé comme un canard en plastique qui nous accompagne au bord de notre bureau, d’où le nom de la méthode.
Cette méthode qui peut sembler absurde dans un premier temps, se révèle être d’une efficacité impressionnante. En effet, le fait d’expliquer à haute voix notre problématique, ce que notre code devrait faire et ce qu’il fait au final, change la façon dont on le perçoit. On se force à mettre des mots concrets sur des idées abstraites. Par le simple fait de sortir de notre état tête-baissée-les-yeux-dans-le-code pour prendre du recul et avoir une vision plus globale, on se rend compte plus facilement des possibles incohérences, erreurs d’interprétation ou omissions.
Le fait de mettre des mots simples sur ce que l’on est en train de faire peut mettre en évidence la clé de la résolution de notre problème rien qu’en s’écoutant parler.
Au final, le principal bénéfice de cette méthode est le fait d’affiner l’analyse du problème énoncé. Répéter en changeant les termes utilisés amène souvent à une meilleure compréhension et par conséquent une évolution de la perception que l’on peut avoir sur le sujet.
Ce n’est pas tant le canard en plastique qui est important dans cette méthode. On pourrait tout autant expliquer son problème de programmation à un collègue ou à quelqu’un qui ne connaît rien à l’informatique, mais le choix de l’objet inanimé trouve son importance dans le fait que sa capacité d’écoute est sans limite et sans contrainte de patience.
La prise de recul est la clé
Si on reprend la question en préambule de l’article, il vous est sûrement déjà arrivé de bloquer sur tâche et de revenir le lendemain et trouver quasiment tout de suite une solution sur un problème sur lequel vous aviez buché la vieille. Comme on dit la nuit porte conseil. Pour moi c’est essentiellement le fait de sortir du contexte, et pouvoir s’y replonger la tête froide qui joue une bonne part du travail dans ce contexte. Et c’est en partie ce qu’exploite la méthode du canard, mais le jour-même, en se forçant à prendre maintenant le recul que l’on prend naturellement en une nuit.
Quand on comprend vraiment l’idée de base on en comprend l’efficacité, du fait que celle-ci n’est pas liée au monde du développement mais peut s’adapter à toute situation du quotidien et vous vous en êtes sûrement déjà servi sans même vraiment vous en rendre compte.
“Oh non j’ai perdu mes clés !” “Alors attends, revenons en arrière et remontons le cours de ma journée. J’ai d’abord été ici, puis j’ai fait ceci, …”
Le terme anglais pour décrire ce phénomène est le “tunnel vision”, dans la langue de Voltaire, on parlerait de “porter des oeillères”. Forcez-vous à enlever vos oeillères quand vous bloquez et vous trouverez souvent une solution à vos problèmes les plus bloquants, réalisant par la même qu’ils sont au fond assez triviaux.