Comment le duo Lennon/McCartney a inventé le pair programming

Le duo Lennon/McCartney est désormais connu comme un binôme qui s’est formé pour créer quelque chose de plus grand, de plus significatif. Une démarche qui gagne désormais le monde de l'entreprise, et celui du développement applicatif en particulier.

Fin 2019, la réédition du dernier album enregistré par les Beatles « Abbey Road » a fait événement partout dans le monde, et a même pris la tête des charts britanniques. Tout comme le reste de l’œuvre musicale du groupe, la composition de la plupart des morceaux est signée par le duo « Lennon/McCartney ». Même si presque toutes les chansons ont été écrites de manière individuelle à l’époque de la sortie d’Abbey Road, les morceaux plus anciens étaient le fruit d’une étroite collaboration nourrie par leur relation l’un avec l’autre. D’après Cynthia Lennon, John "avait besoin de la persistance et de la minutie de Paul, tandis que Paul s’appuyait sur la pensée latérale et anarchique de John".

La relation entre John Lennon et Paul McCartney permettait de contrôler, de filtrer et d’améliorer le talent brut des deux artistes. Résultat : une polyvalence et une dynamique qui ont alimenté la réussite du groupe. Il suffit de comparer la version démo originale de "Help!" de John Lennon dont les émotions brutes ont été canalisées par Paul McCartney pour produire quelque chose de moins morose et plus punchy dans la version studio finale.

Le partage d’idées, l’intégration de nouveaux concepts et influences, et leur validation commune ont fait de John Lennon et Paul McCartney des pionniers de l’innovation musicale. Le duo "Lennon/McCartney" est désormais connu comme un binôme qui s’est formé pour créer quelque chose de plus grand, de plus significatif. En entreprise, ce phénomène est plus connu sous le terme de "pair programming" et place les notions de compétitivité et collaboration au même plan. Ce concept permet à un binôme d’examiner des fragments d’idées, de résoudre des problèmes épineux et d’entretenir l’inspiration en travaillant ensemble vers un objectif commun.

Dans le monde du développement de logiciels, le pair programming prend la forme de programmation en binôme. A l’aide de deux claviers, deux souris, deux moniteurs mais un seul ordinateur, la programmation en binôme permet à deux développeurs de travailler sur un logiciel unique en simultané. La méthode a pour objectif de produire un logiciel de meilleure qualité, à la maintenance facile, et le tout plus rapidement.

Lors de la programmation en binôme, l’un des développeurs prend le rôle de "conducteur" tandis que l’autre celui de "copilote". Le conducteur, aux commandes de l’accélérateur, du frein et de l’embrayage, saisit activement des lignes de code en mettant à profit ses connaissances du contenu dans l’écriture du programme. Quant au copilote, chargé de lire les indications, il vérifie la vitesse du vent et les voyants moteur et est chargé d’alerter le conducteur des virages imminents et de vérifier l’absence d’erreurs, de rechercher les API, et d’examiner et remettre en question le code en demandant "pourquoi les choses sont faites ainsi ?". Lors d’une session de codage, les rôles doivent être inversés par intermittence pour s’assurer que le travail est constamment actualisé, remis en question et réévalué.

Un conducteur qui écrit du code sous les yeux observateurs du copilote se remettra plus facilement en question. Les valeurs clés d’empathie, de communication et de confiance sont cruciales pour que les utilisateurs finaux apprécient le logiciel et sont donc des composantes implicites du processus de développement logiciel.

Les avantages de la programmation en binôme ne se répercutent pas seulement sur l’utilisateur final. Tout comme John apprenait de Paul et Paul apprenait de John, la collaboration de deux personnes cumulant une multitude d’expériences, d’influences et d’idées uniques peut constituer une expérience éducative pour les deux parties. Travailler en binôme permet le transfert des connaissances, l’éradication des mauvaises habitudes et le développement de nouvelles compétences beaucoup plus rapidement que pour une personne travaillant seule.

Ce travail permet également de diversifier le domaine de compétences d’un programmeur : associez un ingénieur front-end à un ingénieur back-end pendant quelques mois et vous verrez le premier produire des instructions préparées à foison et l’autre travailler sur des optimisations HTML5 en un rien de temps.

Tout comme la composition de morceaux, écrire du code requiert de la créativité. Selon le mythe, l’inspiration survient après des mois de méditation en solitaire, mais il suffit de lire Frankenstein pour comprendre que l’orgueil démesuré d’un processus de création mené par un seul individu se concentre sur le produit final plutôt que sur l’utilisateur final. En réalité, c'est précisément ce profil de "loup solitaire" qui fait de la programmation en binôme la solution idéale. Une aspiration constante à être le meilleur dans son domaine équivaut à surpasser ses pairs, et quel est le meilleur moyen d’y parvenir que de participer au processus créatif en alternance avec eux ?

Trêve d’hypothèses, les recherches effectuées sur l’efficacité de la programmation en binôme parlent d’elle-même. Une étude mesurant l’efficacité de la programmation en binôme parmi 1 200 étudiants en informatique débutants et 300 étudiants en génie logiciel a montré que la programmation en binôme a aidé les étudiants à apprendre les compétences fondamentales sur le plan individuel. Les étudiants qui étaient dans des classes où la programmation en binôme était requise obtenaient en général de meilleures notes aux projets et aux examens. Et surtout, lorsque les étudiants devaient travailler seuls, ceux qui avaient fait de la programmation en binôme étaient plus susceptibles de conserver ou d’améliorer leurs notes que ceux qui avaient travaillé seuls.

Entre 1957 et 1970, le partenariat Lennon/McCartney a permis aux Beatles de devenir le groupe le plus innovant, réactif et dynamique de tous les temps, malgré une profonde transformation des styles musicaux et de la culture. Alors que toutes les entreprises doivent faire leur transformation à la fois digitale et culturelle, peu importe leur secteur ou leur taille, la collaboration est la clé de l’innovation et l’innovation est la clé de la survie.