Parlons un peu de pair programming (ou binômage / programmation en binôme) ! Cette technique où deux développeurs travaillent ensemble sur un même ordinateur, c’est comme une sorte de chorégraphie à deux, où l’un est le pilote et l’autre le copilote. C’est comme si Batman avait besoin de Robin pour écrire du code.
Il y a de nombreux avantages à cette technique, même si cela peut sembler un peu curieux de travailler si étroitement avec quelqu’un d’autre, dans un métier qui a la réputation de se pratiquer en solitaire.
Comment se déroule une séance de programmation en binôme ?
Deux développeurs peuvent décider de faire une séance de pair programming ponctuellement pour résoudre un bug ou développer une fonctionnalité, ou bien régulièrement en se bloquant par exemple une demi-journée chaque semaine.
Le pilote va être celui qui tient le clavier et la souris. Il sera le seul à communiquer avec la machine. Le copilote va être à côté de lui sans toucher au code. Les deux binômes vont alterner les rôles plusieurs fois au cours d’une même séance.
Cet exercice est aussi stimulant pour le pilote que pour son copilote. Pendant que le pilote exécute la tâche de façon presque mécanique, le copilote prend du recul et apporte sa réflexion dans la création du code. Le copilote exprime une intention ou des indications, pendant que le pilote implémente une solution concrète à base de lignes de code.
Contrairement à ce qu’on pourrait imaginer, ce n’est pas de tout repos pour le copilote. La programmation en binôme est un exercice exigeant et éprouvant. C’est presque un art de la collaboration qui demande de l’entraînement.
Seul on va plus vite, ensemble on va plus loin
Tout d’abord, le pair programming permet d’améliorer la qualité du code. Avec quatre yeux sur l’éditeur, il y a moins de risques d’erreurs et les problèmes sont identifiés rapidement. Cela signifie que l’équipe passe moins de temps à déboguer, et plus de temps à écrire un programme de qualité.
Ensuite, la programmation en binôme est un partage de connaissances : les deux partenaires ont vécu les mêmes difficultés, ont trouvé les solutions ensemble, et ont acquis la même expérience technique. Ils progressent non seulement à titre individuel, mais surtout collectivement sur le projet.
En parlant de compréhension partagée, le pair programming peut également réduire le temps de montée en puissance pour les nouveaux membres. Un nouvel arrivant dans l’équipe peut comprendre le code source plus vite et devenir productif plus rapidement que s’il était livré à lui-même.
Mais ce n’est pas tout ! Le binômage accroit la vitesse de développement du projet entier. Dès qu’il y a un blocage, le binôme peut intervenir tout de suite et faire avancer le projet sans perdre de temps. Et puis c’est aussi un très bon moyen de se motiver : pas question d’aller scroller sur Instagram quand votre binôme est à côté.
Enfin, le travail en duo vous force à améliorer vos compétences en communication. Rien d’étonnant : travailler étroitement avec quelqu’un permet de construire des relations plus solides. Cela aboutit naturellement à une équipe soudée à long terme. Chaque membre connait les forces et les faiblesses de l’autre.
Et il y a encore un avantage de taille : le pair programming remplace les revues de code traditionnelles. Le copilote examine le code pendant qu’il est écrit, ce qui permet des commentaires immédiats et plus approfondis. Le binôme se concentre sur l’écriture d’un code de qualité plutôt que sur la correction d’erreurs après coup.
La communication, la clé de la programmation en binôme
Travailler en binôme, c’est comme vivre une relation amoureuse, avec ses hauts et ses bas. Le pair programming est un investissement en temps et en énergie.
D’abord, suivre les idées d’une autre personne n’est pas toujours naturel quand on a le sentiment d’être expert dans son métier. N’oublions pas que, comme dans toute relation, il peut y avoir des malentendus et des divergences d’opinion qui peuvent entraîner des frictions.
D’autre part le binômage peut donner lieu à un sentiment de perte d’autonomie, surtout pour les développeurs qui ont l’habitude d’exercer leurs talents en solitaire. En travaillant avec un partenaire, il est nécessaire de se mettre d’accord sur les décisions et d’accepter les compromis. L’exercice est parfois difficile quand on fait ce métier pour sa liberté créative.
Vous l’aurez donc deviné, la communication est la clé pour que cela fonctionne. Alors, l’important est de trouver un partenaire compatible et de toujours communiquer avec bienveillance.
Une question d'échange de bons procédés
La programmation en binôme demande de la pratique, mais elle vaut la peine pour une multitude de raisons. Surtout pour l’employeur ou le client. Des études ont d’ailleurs montré que les programmeurs qui travaillent en binôme ont davantage confiance en eux, sont plus productifs, et surtout plus motivés dans leur travail.
La conclusion est finalement simple. Vous êtes manager et votre mission est d’avoir une équipe soudée et productive, ou bien vous êtes développeur et vous êtes fatigué de « traiter des tickets Jira à longueur de journée » : il y a des chances que le pair programming vous plaise.
Chez 5 DEGRES nous recrutons des développeurs talentueux de tous les niveaux et dans de nombreux langages. Qui sait, vous pourriez trouver chez nous votre prochain Robin de la programmation… ou le devenir ?
Arthur Pietruch
Consultatn développement Web & Practice Leader Product Development