EXPLIQUEZ MOI... ALGO/METHODES 
La programmation en binôme
 
Avec pour objectif de rendre le travail collectif supérieur à la somme des travaux individuels, cette méthode peut être envisagée comme une revue de code permanente... mais peut échouer pour causes relationnelles. (13/03/2007)

 

  Forum

Réagissez dans les forums de JDN Développeurs

La programmation en binôme (ou pair programming en anglais) est une méthode de travail dans laquelle deux développeurs travaillent ensemble sur la même partie de code, en binôme sur un même poste de travail.

L'un est le "pilote" et entre le code, tout en exposant la solution qu'il a en tête. L'autre est le "copilote" et suit le premier avec attention, signalant les erreurs, prenant note de problèmes à résoudre, de tests unitaires à prévoir. Il a une vision du travail avec du recul. Dans l'idéal, ces deux rôles sont échangés fréquemment durant la session de programmation et, dans une équipe travaillant sur un projet, la composition des binômes est aussi à modifier.

Au premier abord on peut penser que cette méthode est deux fois moins productive que si les deux programmeurs travaillaient individuellement. Mais une étude réalisée en 2003 par deux chercheurs américains (Alistair Cockburn et Laurie Williams) a montré que la perte de temps n'était au pire que de 15% (et non de 100%), et que cette méthode produisait 15% moins de bugs que les travaux effectués par les développeurs individuels (voir l'étude).

Le léger surcoût lié à l'adoption de la pratique est largement compensé par les économies faites en évitant les bugs. Il est certes plus cher de localiser les bugs après avoir livré le projet.

Avantages
La méthode est bénéfique pour la motivation et la communication ainsi que pour la qualité du code. Le travail à deux augmente la discipline des programmeurs, et si l'un est interrompu, l'autre reste concentré. Le changement fréquent de la composition des binômes stimule le passage des connaissances sur l'ensemble du code du projet. A deux, on s'oblige à formuler oralement les problèmes, à expliciter les solutions, ce qui évite les raccourcis illisibles à la relecture.

Inconvénients
La programmation en binôme peut présenter des échecs principalement d'ordre relationnel. Par exemple, certaines personnes préfèrent travailler seules. Ou encore, pour un développeur expérimenté, coacher un moins expérimenté peut être une tache ennuyeuse. Enfin, il peut y avoir des conflits entre les styles de programmation. Par ailleurs, il reste difficile de mesurer la différence de productivité entre un binôme et deux personnes travaillant séparément.

L'intérêt de la programmation en binôme est de rendre le travail collectif supérieur à la somme des travaux individuels. L'efficacité de cette méthode dépend du potentiel de cohésion et de motivation contenu dans les relations au sein de l'équipe. Tenter de mettre en place la programmation en binôme en la décrétant obligatoire est un pari absurde. Dans un environnement où il est mal vu de faire des erreurs ou d'avouer une faiblesse, c'est un combat perdu d'avance.

Cette méthode représente néanmoins une véritable stratégie de collaboration, qui peut conférer à l'équipe - à condition que celle-ci ne résiste pas au changement -un rendement insoupçonné.

 
Eliane Consola  JDN Développeurs
 
 
Accueil | Haut de page