Rex Mob Programming
Il y a quelques semaines, je fus coorganisateurs avec mon collègue Jordan d’un évent à beNext, le beCome-mobile pour toute une après-midi, où nous pouvions tout y faire à notre sauce, un peu comme un burger de chez Five Guys, rien que pour la communauté mobile.
Donc comme à Five Guys nous avons présenté les possibilités du menu à la communauté. J’aurai bien mis du Flutter à toutes les sauces, mais la communauté mobile en décida autrement ! Elle choisit un atelier pour s’améliorer en Clean Architecture.
Il est bien vrai que l’on en parle beaucoup de cette Clean Architecture. On n’a pas souvent tous l’occasion de travailler sur une application qui la respecte à la lettre.
Nous avons donc décidé de faire un atelier de mob-programming ou l’enjeu était de coder l’équivalent d’une borne de billetterie de cinéma.
Faire du mob-programming en communauté mobile ? Avec des développeurs iOS et Android ? C’est possible. Dans un premier temps, il faut choisir le langage.
Pour notre expérience, nous sommes parties sur du Kotlin. Il est assez similaire à Swift sur certains points et assez simple à lire pour tout le monde.
Faire une application Android ? Que nenni très cher lecteur ! L’idée était de retirer la plateforme du problème, ainsi que l’interface graphique !
Mob-programming en période de COVID
Tout d’abord le mob-programming, c’est quoi ?
Réunissez une équipe de développeurs, avec un ordinateur et un rétroprojecteur et chacun leur tour les développeurs échangent leur place pour aller taper sur ledit ordinateur.
Bien entendu, il n’y a pas qu’un seul rôle, ceux qui ne codent pas, sont considérés comme des navigateurs. Un développeur est élu lead navigateur pour indiquer, ce que doit écrire le développeur devant l’ordinateur.
Durant cet atelier, il peut y avoir un facilitateur, un coach, une personne experte du métier. Toutes les parties prenant à l’expérience. N’oublions pas un grand tableau blanc pour pouvoir y dessiner des solutions.
- “Mais dis-moi ! Ce n’est pas très COVID de s’échanger le clavier !”
Tout à fait ! c’est pourquoi on c’est organisé un peu autrement.
Pour l’exercice Jordan était chargé de jouer le rôle de facilitateurs et expert du métier.
Pour ma part, je devais taper tout ce que me disaient les navigateurs.
Le dynamisme du début
C’est donc devant mon clavier que j’attendais sagement les demandes de mes collègues.
Premier constat : beaucoup de discussion pour savoir quoi faire, choisir par quoi commencer, etc.
Il nous aura fallut une 30 aines de minute pour taper les premières lignes, et enfin 20 min pour ce décider de réaliser le premier cas d’utilisation.
De mon point de vue ce fut le laborieux, on a pu constaté que ceux qui ont déjà l’habitude ou qui aime participer par eux même étaient les principaux leads durant l’exercice. Or ça ne se limitait qu’à quelques personnes et moi constatant que l’autre moitié des participants était soit endormie, soit en train de regarder leurs smartphones.
Après une petite pause proposée par Jordan ou l’on a pu en discuter, nous avons décidé de changer de fusil d’épaule.
La seconde moitié plus dynamique !
Pour cette seconde moitié, nous avons mis en place la règle des 2.
Nous prenons 2 personnes au hasard et pendant environ 5-10 min celles-ci ont la parole. Les autres peuvent intervenir, mais ce sont les sélectionnés qui me dictent quoi écrire.
Ce fut, un exercice bien plus fluide à partir de cet instant.
Les gens participaient finalement plus par eux même.
Des discussions sur des choix techniques puis des décisions étaient vite prises.
Tout le monde participait.
Au final
Ce fut un bon exercice pour Jordan et moi, l’émulsion que nous avons eue à la fin était bien plus agréable pour tous.
Je retiens que mettre des rôles tournant avec un timer dès le départ est crucial pour cet exercice.
Ensuite, peut-être mettre en place des outils en ligne telle que LiveShare pour faire tourner le rôle de la personne devant le clavier.