Que pensez-vous de la relecture de code par une seule personne

Bonjour,

Dans une phase de migration de process, la relecture de code a été intégrée dans une équipe de 6 développeurs back et cette tâche a été affecté à une seule personne, le lead dev.
Je trouve l’idée géniale, l’ayant déjà expérimenté et connaissant ces multiples avantages. Je l’ai appliqué dans un contexte de relecture par des pairs (De niveau d’expériences assez variés)

Je suis assez réfractaire à l’idée de l’affecter à une seule personne de l’équipe, j’aimerai donc avoir vos points de vue ou des retours d’expériences.

1 « J'aime »

Nous avons un process de review de code au sein de notre équipe, cependant l’ensemble des développeurs sont mis à contribution pour les reviews.

L’avantage de partager les reviews est l’auto-creation de backup au sein de l’équipe. Par le mot backup j’entends quelqu’un qui peut reprendre tes sujets en cas d’absence de ta part. Pour nos managers/execs cet aspect est une plus value essentielle.

D’autant que les codes reviews prennent du temps, la focaliser sur une personne pourrait vite surcharger celle-ci et la qualité des reviews pourront se faire sentir. Le lead dev devient un SPOF :)

8 « J'aime »

Je plussoie tout les points soulevés par kakawait :)

Bonjour,

Je pense que ça dépend des projets et notamment leur taille. Si c’est un projet de faible durée (entre une semaine et un mois), n’avoir qu’un seul collaborateur en code-review ne me choque pas. Par contre, pour des projets plus complexes, c’est pour moi une mauvaise pratique (cf. @kakawait).

6 développeurs back end, ça doit déjà être un projet d’envergure ! Ça va être chaud quand le lead dev sera en vacances, ou malade, ou parti ailleurs…

D’accord avec la plupart des avis qui ont été émis jusqu’à présent. En outre, le fait d’effectuer la review de code des autres développeurs est aussi un bon moyen pour les nouveaux membres de l’équipe d’intégrer les conventions de code, et d’apprendre des développeurs qui ont plus d’expérience (d’une façon générale, et sur le projet en particulier). Ce qui n’empêche pas d’avoir un lead dev qui fait des revues plus approfondies (avec un focus peut-être plus important sur l’archi, le testing, etc) et dont la revue de code est l’une des missions principales.

2 « J'aime »

Je rebondit sur ce que dit @pabuisson, en plus du process de review mis en place dans notre équipe (quasi-obligatoire) nous avons aussi un process de super-review qui est décrit par @pabuisson pour des features plus conséquences. Les super-reviews sont optionnelles et plutôt rare mais ca permet d’avoir un avis d’un expert/lead dev sur des tâches sensibles.

Je vis actuellement le cas de la revue par une seule personne. C’est une mauvaise pratique. D’une part ça créé un goulot d’étranglement : le processus va être ralenti dans son ensemble par le fait que tout doit passer par un point unique. Comme une autoroute qui aurait une seule voie au péage. Même si le trafic n’est pas très important, ça va créer des ralentissements au niveau du péage et donc une perte de temps au final.

D’autre part, le pauvre lead dev va se farcir tout le code à relire. Il faut reconnaître que relire du code ce n’est pas le plus passionnant et il risque de vite se trouver lassé de devoir mettre en pause une fonctionnalité en cours de dev pour aller lire un pavé de code. Ce qui va accentuer le côté goulot d’étranglement et pourrait créer un ressenti de la part de l’équipe.

Un avantage du code review par les pairs, qui n’a pas encore été pointé je crois : cela aide à créer une responsabilité partagée du produit. Si tout le monde a la a responsabilité de produire une bonne architecture et de valider celle des autres, tout le monde est impliqué dans le fait d’avoir un produit bien conçu, même les débutants. Il est trop facile sinon de faire vite pour finir sa fonctionnalité en sachant qu’on est sécurisé car c’est la responsabilité du lead dev de dire s’il y voit un problème.

1 « J'aime »
Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s