Le pair programming : chez Menlo on ne travaille jamais seul

Écrit par Sarah Spitz, le 24 janvier 2020

Comment tout a commencé ?

Menlo a été fondé par Rich Sheridan et James Goebel. Les deux co-fondateurs avaient travaillé ensemble en tant que binôme et adoraient cette manière de travailler. Alors naturellement quand ils fondent Menlo en 2001, ils décident d’aller encore plus loin et de systématiser ce fonctionnement au niveau de toute l’entreprise. Aujourd’hui, ce sont environ 60 employés, appelés Menlonian, qui travaillent en binôme d’un bout à l’autre de Menlo.

Alors comment ça marche ? Une journée ordinaire chez Menlo

Imaginons que vous venez d’être embauché(e) par Menlo (leur processus de recrutement est d’ailleurs lui aussi assez original, on écrit à ce sujet très vite). Vous arrivez un lundi, disons vers 8h. Vous commencez par vous diriger vers le planning général pour voir sur quel projet vous allez travailler et qui sera votre binôme pour la semaine. Ce planning a été élaboré par le chef de projet, et les volontaires souhaitant participer à sa préparation le vendredi précédent. Construit tous les vendredis après-midi, il est envoyé à tous par e-mail dès sa finalisation, et tout le monde est invité à participer à sa construction s’il le souhaite.

Comme vous êtes nouveau(-elle), il y a de grandes chances pour que quelqu’un vienne vous voir et se présente comme votre binôme de la semaine. Il vous montre l’îlot (appelé « pod ») d’où vous travaillerez ensemble. Un « pod » est un regroupement de tables suffisamment proches les unes des autres pour que vous soyez à portée d’oreille des autres tables, et donc binômes, de votre îlot. Cela permet de créer une communication spontanée entre les binômes travaillant sur un même projet, mais aussi sur différents projets pour le même client.

Vous vous asseyez avec votre partenaire au même bureau sur lequel repose un unique écran d’ordinateur, un clavier, une souris. Pas de panique, le service informatique ne vous a pas oublié, voilà comment ça marche : pendant que l’un code, l’autre se charge de suivre la stratégie et l’avancement de la programmation pour atteindre le livrable attendu… Il y a plein de manières de rendre ce fonctionnement interactif. Par exemple certains binômes utilisent la « méthode ping-pong » : A(lbert) écrit le test pendant que B(éatrice) code. Ensuite ils inversent, pour que ça ne soit pas la même personne qui saisisse le code toute la journée pendant que l’autre contemple passivement l’écran. Il n’y a pas vraiment de règle ou de standard, l’idée c’est que les deux partenaires soient actifs et en collaboration.

It’s a natural flow that kind of works out between you and your partner - Nathan, developer at Menlo

Qu’est-ce qui passe si un matin vous êtes coincé dans les bouchons et arrivez tard ? Même dans ce cas, votre partenaire ne commence pas sans vous. Il/elle trouvera des choses à faire jusqu’à votre arrivée : des petites tâches IT à faire ici et là, un peu de compta, la mise à jour des feuilles de temps, le nettoyage de la cuisine commune…

Et si vous êtes malade quelques jours ? Dans ce cas votre binôme voit avec le chef de projet comment aider sur d’autres projets en attendant que vous soyez à nouveau sur pied.

Les développeurs ne programment pas seulement en binôme, ils font aussi toutes les autres tâches en paire avec les employés des autres départements. Et les autres départements travaillent également en binôme : les designers, les responsables qualité… Même les chefs de projet, qui travaillent généralement seuls, peuvent se regrouper par 2 pour travailler sur certaines tâches ensemble.

Cela implique une organisation adaptée au respect rigoureux de la méthode agile et du rôle de chef de projet dans l’ensemble de l’entreprise.

Laissez-moi deviner votre prochaine question : comment les responsables de projet s’assurent que le savoir développé par un binôme pendant une semaine sur un certain projet ne se volatilise pas quand un nouveau binôme prend la suite ? C’est là que le chef de projet prend toute sa valeur. Pendant les réunions du vendredi au moment de l’élaboration du planning pour la semaine suivante, ils peuvent par exemple conserver l’un des deux membres du binôme, disons A(lbert) qui a travaillé sur le projet avec B(éatrice), et l’appairer avec un nouveau partenaire C(lovis) pour la semaine suivante. De cette manière, A(lbert) peut lui expliquer le contexte, les tâches réalisées et suivre l’avancement du développement pour assurer la cohérence du travail réalisé d’une semaine sur l’autre.

Quant au pilotage des tâches opérationnelles, c’est la méthode agile qui est utilisée. Avec une moyenne de 32 heures de travail par semaine, des stands-ups meetings de 15 minutes sont organisés à travers toute l’entreprise. Quand la cloche sonne, tous les employés se rassemblent pour leurs stand-up meetings respectifs. Vous donnez votre nom, le projet sur lequel vous travaillez, la tâche que vous êtes en train de réaliser et c’est l’occasion de demander de l’aide supplémentaire si besoin. Naturellement, les projets sont séquencés en sprints hebdomadaires.

Prenons par exemple un projet d’une durée d’un mois. Un binôme lance le projet et le décompose en user stories. Ce découpage doit être validé par le client au travers d’un Work Authorization Board (autorisation de travail), de même que les ajustements nécessaires qui émergeront lors des rétrospectives hebdomadaires et seront prévus lors des sprint plannings.

Les avantages pour Menlo

L’un des principaux bénéfices de ce fonctionnement très particulier, c’est le transfert de connaissance (et par extension, de compétences). Prenons par exemple un nouveau projet qui doit produire une application IOS pour un client : les développeurs travaillant sur ce projet devront utiliser le langage Swift. Les chefs de projet identifient alors un groupe de développeurs qui possèdent déjà cette compétence, et les mettent en binôme avec des développeurs novices sur ce langage. Au fil des rotations sur le projet, la connaissance de ce langage se diffuse. Petit bonus, cela permet aussi de limiter les risques opérationnels liés à la concentration de compétences sur une seule personne.

Ça permet aussi d’économiser du temps : si A(lbert) a travaillé sur le projet la semaine passée, il n’y a pas besoin de créer une documentation exhaustive reprenant ce qui a été fait. A(lbert) transmet simplement les informations nécessaires pour faire avancer le projet à son nouveau partenaire.

Le travail en binôme permet également à l’entreprise d’être plus agile. Il est plus facile de faire grandir un projet en divisant un premier binôme (A et B) en deux binômes (A et C, B et D) en fonction des besoins du client, par exemple pour accélérer la livraison d’un produit.

Les avantages pour les employés

Le fonctionnement en binôme est également utilisé pour transmettre et diffuser les connaissances et l’expérience, en associant un(e) ancien(ne) de l’entreprise avec un(e) nouvel(le) arrivant(e).

it was very refreshing, you don’t get stuck when you’re paired with somebody like you do when you’re developing alone […] I was tired of googling stuff - Helen, programmer at Menlo

 

L’un des avantages incontournables de cette pratique, c’est qu’être en permanence en binôme avec une nouvelle personne vous oblige à être capable de travailler avec n’importe qui : c’est une manière de développer une capacité d’adaptation unique. Et si par exemple vous souhaitez développer une nouvelle compétence en particulier, comme la maîtrise d’un nouveau langage de code, vous pouvez demander à être associé à une personne ayant déjà acquis cette expertise. Cela signifie aussi que vous passez constamment d’une position de sachant à apprenant.

We keep people on their first date behaviors - A Menlo saying

Bien entendu, ce n’est pas de tout repos. Helen que nous avons interviewée pour cet article, nous raconte qu’elle était épuisée pendant le premier mois. Mais au fil du temps, elle a remarqué qu’elle s’était habituée à travailler avec des personnes différentes, jusqu’à ce que ça devienne une seconde nature.

Et si vous passez une mauvaise journée, ou une mauvaise semaine (ça s’appelle être humain), c’est quand même agréable de pouvoir compter sur un partenaire. Et si vous passez tous les deux une mauvaise semaine…et bien au moins vous n’êtes pas seul(e) et vous pouvez compter l’un sur l’autre pour trouver un moyen de sortir de cette mauvaise passe ensemble. En résumé, le binôme est à la fois un garde-fou pour garantir le respect de vos responsabilités et vous supporter dans leur réalisation.

Est-ce rentable ? Les bénéfices pour les clients

Bien sûr, pour les clients, deux cerveaux et une paire de mains supplémentaires valent mieux qu’un, surtout quand ils augmentent notablement la qualité du produit livré. Il y a moins d’erreurs. La programmation en binôme implique une meilleure qualité de code. Cette qualité est évidemment vendue plus chère en termes de coût de développement, mais d’un autre côté les clients gagnent du temps en évitant de nombreuses erreurs qui retardent bien souvent les projets, car les produits et codes livrés fonctionnent généralement du premier coup. Et le fait que les équipes tournent d’une semaine sur l’autre entraîne une vérification du travail effectué par l’équipe la semaine précédente, et permet donc d’identifier très rapidement des erreurs qui passeraient autrement inaperçues pendant des semaines (voire des mois).

Et ce n’est pas fini. Les développeurs Menlo forment aussi des binômes avec…leurs clients ! Un développeur de chez Menlo peut former un binôme avec un développeur côté client, ce qui leur permet de développer une forte proximité avec leurs clients et d’assurer un transfert de connaissance et de compétences. Par exemple certains clients souhaitaient apprendre de Menlo comment faire des tests avant de développer le code.

Menlo a réussi à faire du fonctionnement en binôme un vrai business model : leurs clients sont devenus des partenaires, qui s’associent au besoin avec les développeurs Menlo pour gagner en compétence, et qui savent comment l’entreprise fonctionne. Beaucoup de leurs clients sont d’ailleurs récurrents, et une grande partie des nouveaux clients vient du bouche à oreille. Une affaire qui roule en somme.