vendredi 3 mai 2019

Mob-programming, l'histoire d'une équipe

J'ai eu la chance d'interviewer une équipe qui fait du mob-programming pour le travail quotidien. Personnellement j'en ai fait souvent lors des coding-dojos, mais jamais pendant une longue durée dans un projet, c'était donc pour moi une excellente opportunité de bénéficier de leur expérience! Comme j'ai adoré ce petit échange d'une heure avec cette équipe très épanoui et fier de leur travail, je vous partage cher lecteur une version condensé en espérant que vous trouverez cela aussi utile que moi.



Comment cela a-t-il commencé?

Au début il y a avait qu'un développeur, et avec l'arrivée de deux autres on voulait essayer le mob rien qu'en mode apprentissage. On pouvait ainsi continuer à livrer tout en enseignant l'environnement technique et fonctionnel. "C'est bien plus agréable que de lire des docs" Remarque l'un des développeurs!

C'était très progressif, mais au bout de quoi, peut-être 3 semaines les nouveaux étaient opérationnels et participaient à pied d'égalité. Cela fait environ 9 mois maintenant et depuis nous avons intégré une nouvelle personne. La nouvelle personne a aussi beaucoup apprécié.

Cette nouvelle personne connaissant un peu moins la stack et les méthodes de développement (souvent du TDD) il a beaucoup apprécié le mob et notamment le fait de forcer le passage au clavier, pendant 7-10 minutes à la fois. Quand on est obligé comme ça on est obligé de s'accrocher et on progresse très très vite.
Il a été naturel de continuer le mob même après cette phase de montée en compétences

Justement, je suis curieux, faites-vous du mob tout le temps?

Non, on travaille aussi souvent en pair-programming, et même tout seul parfois. C'est assez naturel de switcher entre l'un et l'autre.

Qu'est-ce qui fait que vous choisissez le mob ou le pair ou le solo.

Le mob c'est lorsqu'il y a un peu de complexité, quand on sent qu'il y aura pas mal de discussion. Si quelque chose est très clair, qu'il n'y a pas trop de questions à se poser on va le faire seul ou à deux. Le choix se fait assez naturellement.

Quels sont d'après vous les bénéfices du mob?

Le code est bien meilleur en mob, on va tout de suite faire une remarque qui va être pris en compte sans perte de temps. Souvent c'est des choses qu'on aura même pas pris la peine de remonter lors d'un code-review.
Parfois on s'est retrouvé à même annuler une story suite à une discussion survenue dans le mob. C'était pas si facile de gérer ceci dans le code et c'était discutable d'un point de vue métier. Si quelqu'un l'avait fait seul on peur qu'il aurait juste foncé sans se poser ce genre de question.

<< Et là le PO a très envie d'intervenir :) >>

- Oui le truc le plus génial c'est que maintenant le dev plutôt js se retrouve à faire un peu d'embarqué (seul) et du coup je n'ai plus à planifier un petit peu de ceci et un peu de cela pour que tout le monde soit occupé dans l'équipe. Je peux me soucier de ce qu'il faut fonctionnellement!

- Effectivement ça doit faciliter les absences aussi, quelque part ça crée automatiquement une équipe pluri-disciplinaire

- Exactement!

Est-ce qu'il y a eu des tensions à gérer?

Oui, d'un point de vue matériel une fois qu'on était lancés, on s'est rendu compte qu'il fallait acheter un grand écran de qualité et on a fait des modifications à un bureau pour qu'il n'y ait pas de gêne pour s'approcher, genre des box à tiroirs.

Sinon dans l'équipe il y a beaucoup de bienveillance donc il n'y a jamais de problème de ce point de vue là. Par contre c'est assez intense et après une journée de mob on sent qu'on a travaillé! On n'a pas de pauses programmés sauf un peu le matin et en début d'après-midi et ça marche bien comme ça. Si quelqu'un n'est pas à fond tout le temps ce n'est pas très grave non plus.


---

Merci beaucoup à Damien, Romain, Sylvain, Benjamin et Vincent d'avoir partagé toute cette expérience. J'ai pas mal pratiqué dans des dojos, mais je n'ai pas réussi à mettre en place le mob à ce point dans un projet et ce genre de retour m'aide. Que vous continuez à prendre autant de plaisir dans le travail!