Découverte du Mob programming
25 janvier 2022
L’Agile Tour est passé à Montpellier, au Corum, le lundi 29 Novembre dernier et Kaliop a répondu présent. Pour cette 10ème édition anniversaire, Kaliop était de nouveau sponsor de l’événement et cette année, ce sont 7 collaborateurs qui ont pu y participer, certains étant des habitués et d’autres découvrant pour la première fois ce rassemblement.
Lors de ce rassemblement agile, nous avons également pu découvrir le Mob Programming qui a souvent été présenté comme le petit nouveau du monde de l’agilité.
Qu’est ce que le Mob Programming ?
Le Pair Programming ça vous parle ? Et bien le Mob Programming en est une extension, c’est presque pareil, sauf que cela s’applique non pas à deux personnes mais à une équipe entière. Anthony Cassagne est venu nous en parler lors d’une conférence à l‘Agile Tour Montpellier.
Le Mob Programming est une pratique relativement récente: elle est née d’une expérimentation aux USA en 2011, dans les équipes de son fondateur Woody Zuill. Cela a été mis en place pour faire face à un problème complexe, incertain, qui nécessitait de nombreuses compétences.
Le principe est simple : “All brilliant people working on the same thing, at the same time, in the same space, at the same computer”. L’ensemble de l’équipe partage les valeurs de bienveillance, considération et respect (remarquez que l’on retrouve ici des valeurs de l’Agilité).
En pratique, c’est une équipe à compétences multiples qui se retrouve dans une même salle (également possible à distance) pour réfléchir au même problème en même temps. Il n’y a cependant qu’une seule personne qui écrit le code : le ‘driver’, son rôle est en quelque sorte le scribe, c’est la paire de mains qui fait le relai entre les idées qui sont partagées et l’ordinateur. Un autre rôle se distingue, celui du ‘navigateur’ qui donne la direction à suivre. Une rotation est faite sur des intervalles de temps assez courts (de l’ordre de 10 minutes). Ainsi, chaque personne de l’équipe sera à un moment le driver, le navigateur, ou un membre de l’équipe.
Pourquoi ça marche?
Car toutes les compétences sont réunies et que l’équipe travaille ensemble. Il faut bien avoir en tête que la limitation n’est pas la vitesse à laquelle on peut écrire le code, mais la capacité à résoudre le problème.
Les avantages du Mob Programming
Cette méthode permet des bénéfices :
- Partage des connaissances
- Confrontation des approches
- Multiplication des regards
- Facilité de communication
- Alignement de l’équipe
- Réduction de la dette technique
- Montée en compétence des juniors
- Plus facile pour les personnes introverties (car rôles définis et interactions avec toujours la même équipe générant de la confiance)
Les inconvénients du Mob Programming
Il existe cependant quelques inconvénients, notamment le fait que cela s’applique très bien sur des problématiques complexes mais n’est pas très efficace pour des tâches très simples. Ou encore que le temps cumulé peut être plus long que si on avait travaillé seul. Cela dit, la qualité du livrable n’en est que meilleure. Dans la philosophie du Mob Programming, on ne vise pas de tirer le MAXIMUM mais de tirer le MEILLEUR de l’équipe.
Envie de se lancer?
La règle d’or est de commencer petit. Le conseil donné par Anthony est de démarrer avec des équipes de 3 ou 4 personnes, par des petites sessions (par exemple 2h chaque semaine) et de ne pas hésiter à s’entraîner sur des katas (exercices de programmation permettant aux développeurs d’améliorer leurs compétences grâce à la pratique et à la répétition). L’équipe prendra ainsi ses marques et se familiarisera avec cette pratique, permettant par la suite de passer à des problèmes plus complexes.
Dans la pratique, il n’est bien sûr pas nécessaire de toujours travailler en Mob Programming : cela peut être du cas par cas, l’équipe peut par exemple décider en daily de l’utiliser si elle identifie une tâche particulièrement complexe.
Cet évènement permet de se constituer une vraie boite à outils agile. N’hésitez pas à nous faire part de vos expériences, nous serions ravis d’échanger avec vous sur ce sujet !