Programmation en binôme : quels possibles avantages ?
Le partage de connaissances est l'avantage le plus évident à sortir du lot. Le fait que deux personnes travaillent sur un morceau de code permet à l'équipe de diffuser des connaissances sur la technologie et le domaine au quotidien et d'éviter les silos de connaissances. De plus, lorsque deux esprits comprennent et discutent d'un problème, nous augmentons les chances de trouver une bonne solution. Des expériences et des perspectives différentes conduiront à l'examen d'un plus grand nombre d'alternatives.
La programmation en binôme oblige les intervenants à discuter des approches et des solutions, au lieu d'y réfléchir uniquement dans leur tête. Dire et expliquer les choses à haute voix nous pousse à nous poser la question de savoir si nous avons vraiment la bonne compréhension, ou si nous avons vraiment une bonne solution. Cela ne s'applique pas seulement au code et à la conception technique, mais aussi à l'histoire de l'utilisateur et à la valeur qu'elle apporte.
Le fait d'être est susceptible de plus imposer une démarche structurée. En effet, chacun doit communiquer de facon explicite sur le pourquoi de chaque acte et sur la direction prise. En solo, l'on peut se laisser distraire beaucoup plus facilement, par exemple en essayant rapidement une approche différente sans y réfléchir, pour ensuite ressortir du terrier des heures plus tard. Le binôme peut empêcher cela d'arriver et aider à rester concentré sur ce qui est important pour terminer une tâche.
En binôme, 4 yeux veillent sur les petits et les grands détails au fur et à mesure. Ainsi, plus d'erreurs sont susceptibles de passer au détecteur en chemin plutôt qu'après avoir terminé. Il pourrait être plus aisé d'améliorer ou de procéder à des modifications du code avec quelqu'un à ses côtés, car ce peut être l'occasion de discuter à nouveau des approches.
La programmation en binôme peut permettre de s'assurer que chaque ligne de code a été touchée ou vue par au moins deux personnes. Cela augmente les chances que n'importe quel membre de l'équipe se sente à l'aise pour modifier le code presque partout. Cela rend également la base de code plus cohérente qu'elle ne le serait avec un seul codeur.
Quid des possibles inconvénients ?
Lorsque l'on travaille en solo, il est possible de faire des pauses quand on le souhaite et l'esprit peut aller vadrouiller un peu quand il en a besoin. Le travail en binôme par contre oblige à rester concentré pendant des périodes potentiellement plus longues et à trouver un terrain d'entente avec le rythme et la façon de penser de l'autre personne. Cette concentration accrue est l'un des avantages du jumelage, mais elle peut aussi le rendre assez intense et épuisant.
La programmation en binôme impose de communiquer constamment et cela exige de l'empathie et des compétences interpersonnelles. Les intervenants peuvent exhiber des différences de techniques, de connaissances, de compétences, d'extraversion, de personnalités ou d'approches de la résolution de problèmes. Certaines combinaisons de ces éléments peuvent ne pas s'accorder et vous donner un départ difficile.
La multiplication des réunions est l’un des facteurs que les acteurs de la filière du développement pointent du doigt comme une pierre d’achoppement dans l’exercice de leur métier. Lorsqu'une équipe pratique la programmation en binôme, l'effet d'un trop grand nombre de réunions peut encore s'aggraver. Si chacune des personnes travaillant en binôme a des réunions à des moments différents, les interruptions sont multipliées.
Lorsque deux personnes ayant des niveaux d'expertise différents travaillent en binôme sur un sujet, cela peut conduire à une absence de contribution d’une des parties voire même à un désengagement total. Résultat : pas de montée en compétence du tiers qui fait profil bas face à l’aura de son vis-à-vis.
Et vous ?
Ces différents aspects cadrent-ils avec la réalité dont vous êtes au fait ? Quels sont ceux qui manquent à l’appel selon vous ?
Pour ou contre la programmation en binôme ?
Quel est votre regard sur l’approche en tant que manager ?
Avez-vous déjà travaillé sur des projets de programmation en binôme ? Partagez votre expérience