Random Code Review

Mon équipe m’invite parfois à des Random Code Review. L’idée est que quelqu’un m’invite et je lui présente un morceau de code choisi au hasard parmi ceux que j’ai développés (ou il choisit lui même un de mes développements, ce qui crée le hasard pour moi 🙂 ), et le principe est que je dois lui expliquer mon cheminement de pensée. Cela peut peut-être sembler étonnant, mais c’est très instructif pour moi.

En apprendre sur son propre travail

En lui faisant la narration des fonctionnalités que j’ai développées, j’en apprends moi même sur mes développements. Ok, parfois, mon manager va trouver rapidement quelque chose que je n’avais pas vu. Mais je ne parle pas de ça. En fait, je découvre tout seul des choses que je pourrais améliorer en expliquant comment j’ai procédé pour développer tel composant, comment j’ai choisi de mettre tel bout de code dans telle classe…

En en discutant avec des collègues, l’un d’entre eux m’a montré qu’il existait des études sérieuses expliquant ce phénomène : Dat « Rubber Duck Debugging » ouh yeah!

A noter que dans la version française de l’article, il vous est expliqué que c’est pratique car la patience du canard semble sans limite (Avis à ceux dont le manager a la patience d’un enfant hyperactif, ou qui sont entourés de collègues antipathiques (oui il m’arrive de lire des témoignages dans des forums et je suis désolé pour vous 😦 ))

Rubber_duck_assisting_with_debugging

Un canard en train de débugger

Disposer d’un autre regard

En montrant mon code à une nouvelle personne, je peux profiter de son avis d’expert technique. Cela va de soi, mais je le dis quand même! Par contre, on va profiter d’autre chose:

Le regard extérieur

Madré dé padré dé Dios! Qu’est ce qué tou vé dire par la? C’est très simple. On vante tous les mérites du travail en équipe, du Pair Programming, de la collaboration en somme… Il est vrai qu’en plus, ça augmente considérablement la motivation (voir les articles qui traitent du sujet).

Mais l’avantage du random Code Review, c’est qu’il est déclenché par une personne qui n’a pas participé directement à la conception du projet. Et en cela, pas de biais cognitif! Je rassure tout de suite ceux qui font de l’hypertension au moindre bug en confirmant: il faut que d’autres personnes aient ce fameux oeil extérieur sinon ce n’est pas suffisant. La random Code Review couvrant peu de sujets par rapport à la quantité de code qui est produite.

Eye of Sauron

En quoi ça aide le côté « Random »?

Pour ceux qui avaient déjà lu l’article sur les Big Code Review (sinon suivez le lien 🙂 ), nous faisons des Code Review en groupe, où des développeurs ont choisi du code à montrer à l’assistance. Ici, la différence est que le code revu n’est pas choisi par le développeur qui l’a codé mais au hasard ou par une autre personne. La situation est potentiellement plus inconfortable donc (le mot est un peu fort) quoique le fait de faire la review avec une seule autre personne ne peut pas vous conduire à des séances d’humiliation collective (dans le cas où votre ambiance d’équipe ne serait pas aussi awesome que la nôtre, mais que vous voulez quand même mettre en place ces Random Code Review 😉 ).

Le côté Random fait grandir encore plus

Du coup, en ayant la chance (notez la manière de voir la vie 🙂 ) de ne pas avoir pu préparer sa Code Review, et donc d’être en total free style wesh, la progression est renforcée: on progresse techniquement, on gagne en assurance, on apprend à gérer des situations non préparées à l’avance, et à mon avis, on progresse encore plus. Car j’ai la sensation qu’en préparant, on s’enferme dans un schéma de pensée qui nous « ferme » aux remarques que nous fait le fameux oeil extérieur.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s