Une après-midi d’échanges entre développeurs organisée en Forum Ouvert
Récit d’une après-midi d’échanges entre développeurs organisée en Forum Ouvert, mêlant de l’apprentissage, de l’intervision, et des actions.
À benext, les développeurs sont en projet dans les locaux de différents clients, mais ce n’est pas pour autant qu’on ne se voit pas. Nous nous retrouvons au siège de benext, le vaisseau (en référence à la passion pour Star Wars qui anime le fondateur), dès que nous pouvons. Meetups internes, DOJOs, coaching, beCom, soirées, sur des sujets techniques, produit, agile, de développement personnel ou encore pour le fun, toutes les raisons sont bonnes pour échanger et apprendre des autres.
La recherche d’excellence est d’ailleurs une valeur très forte à benext. Par excellence, nous n’entendons pas être les meilleurs. La nuance se situe dans l’amélioration, l’amélioration continue. Chercher à progresser et à faire progresser les autres. À travers nos communautés et nos cercles (notre système d’organisation est proche de l’holacratie), nous avons la possibilité d’agir en ce sens.
J’ai donc proposé de libérer les développeurs iOS de leur projet le temps d’une demie-journée. Chacun étant sur des projets différents, l’objectif principal était de nous réunir pour échanger, apprendre et travailler ensemble sur diverses problématiques. Le mélange de ces multiples contextes, compétences, connaissances, besoins, de toute cette hétérogénéité, ne pouvait qu’être enrichissante pour tous. Et ce fut le cas.
Voici le récit d’une après-midi d’échanges entre développeurs.
Les préparatifs
Remontons un peu le temps. Environ un mois avant d’entamer cette prometteuse après-midi, j’ai commencé par la préparer afin d’en retirer un maximum de valeur. J’avais deux axes à travailler : le contenu et le format.
Appel à idées 🗳
Afin de s’assurer un minimum de matière pour échanger, j’ai demandé à mes collègues de réfléchir aux différents sujets qu’ils souhaiteraient aborder. Cela permet aussi de déterminer en amont s’il y a un intérêt à préparer un atelier, une formation, un support à partager, etc.
J’ai lancé l’appel à idées trois semaines avant notre rencontre, suivi de plusieurs relances. Pas trop de complexité pour cette étape, j’ai partagé un Google Sheet pour recueillir les propositions, et j’ai utilisé Slack pour communiquer. Pour différencier les types de sujet, j’ai proposé quatre catégories :
- Client : vous avez une problématique dans votre projet, et vous avez besoin d’aide, d’avis, de conseils, etc.
- Partage: vous avez envie de partager quelque chose que vous avez découvert ou que vous maîtrisez, et qui pourrait intéresser les autres.
- Demande : vous souhaitez en apprendre plus sur un sujet, comprendre un pattern, ou approfondir une technique. - Peut-être qu’une autre personne peut vous transmettre sa connaissance sur ce sujet.
- Action : vous voulez effectuer une action pour votre cercle, votre communauté, ou pour vous.
Aucune limite dans le nombre de propositions. Plus il y a de matière, plus on peut avoir du choix et être flexible le jour même. D’ailleurs, le pré-remplissage de ce document ne ferme pas la porte à l’improvisation et aux demandes de dernière minute. Le programme est établi au début de l’après-midi, avec tout le monde.
La création du format 🖼
J’avais le pourquoi, apprendre et échanger ensemble, et le quoi était en train de se remplir dans le Google Sheet. Il me restait donc à trouver le comment.
J’aime beaucoup la culture agile ainsi que les méthodes et ateliers qui en découlent, alors j’ai commencé par piocher dans mes connaissances. Cadrer, faciliter, timer, avoir des créneaux horaires, … De premières idées me viennent. J’ai également la chance d’être à benext, une entreprise qui baigne dans l’agilité. Je me suis inspiré de ce que l’on faisait, et j’ai discuté avec des personnes organisant des événements ayant des points communs.
Bastien, un Scrum Master, a été la première personne avec qui j’ai échangé. Bastien anime régulièrement le We Open Space. Le principe ? Réunir des gens de tout horizon une journée complète afin de partager autour de multiples sujets. C’est ouvert à tous, et on y retrouve des thématiques très variées. L’organisation est inspirée de l’Open Space Technology : on y retrouve un Forum Ouvert avec beaucoup de bienveillance, d’échanges, d’auto-organisation, etc. Un échange très enrichissant avec lequel j’ai pu approfondir certaines connaissances et découvrir de nouveaux concepts et pratiques.
Peu de temps après, j’ai retrouvé Camille, une Product Owner. C’est l’une des organisatrices du GrowTogether, une journée d’intervision entre PO où sont en plus conviés les clients. Une partie de ses enjeux pouvaient s’apparenter aux miens. Grâce à son retour d’expérience, j’ai pu mieux cerner leurs problématiques et leur organisation.
Avec toutes les billes que j’avais dans mon sac, j’ai imaginé une première version du système d’organisation. J’en étais très content, mais des questions persistaient. C’est pourquoi j’ai fait appel à Nils, un coach agile. Je voulais avoir un avis et également me faire challenger en plus de répondre à mes questions. Quelques conseils plus tard, un premier format était né. Il n’y avait plus qu’à attendre le jour J et j’étais impatient.
Le déroulement de l’après-midi
Petit saut dans le temps, le grand jour est enfin là. Arrivée de mes collègues à 13h40. Le temps de s’installer dans la salle et de terminer les discussions, le début des hostilités est donné à 14h00. D’ailleurs, en parlant de terminer les discussions…
Un icebreaker pour bien démarrer ⛄️
Avant d’entrer dans le vif du sujet, j’ai proposé un rapide icebreaker au groupe. Même si nous nous connaissions déjà tous bien, il y avait une seconde raison pour faire cet exercice : capturer l’attention des participants. Au début d’un atelier ou après une pause, le groupe peut être dissipé et avoir de multiples discussions annexes (boulot, dernières nouvelles, blagues, …). C’est là qu’entre en jeu l’icebreaker.
D’une manière originale et ludique, on obtient l’attention de tout le monde et on recentre les discussions sur l’atelier. En bonus, on apprend de nouvelles choses sur nos collègues. Il existe tout un tas d’icebreaker, de différentes formes, et même le plus simple d’entre eux fonctionne. En voici deux rapides à mettre en place :
- Posez la question “Aujourd’hui, quel animal êtes-vous et pourquoi ?”. Un exemple de réponse pourrait être “je suis un chat aujourd’hui, car je me sens très joueur et j’ai beaucoup d’énergie, j’ai envie de sauter partout”.
- Demandez à chaque participant de trouver trois affirmations sur eux, une vraie et deux fausses. “Je suis allé sur un volcan / J’ai sauté en parachute / Je sais parler 4 langues”. Tour à tour, chaque personne énoncera ses propositions, et le reste du groupe devra deviner laquelle est réelle. Indiquez aux personnes de donner des informations peu banales pour rendre l’exercice plus facile et plus amusant.
Une fois toute l’attention acquise, j’en ai profité pour rappeler certaines règles et principes.
Un cadre de bienveillance ⭐️
Mettre en place un environnement bienveillant est important pour favoriser la collaboration. Quelques règles simples suffisent :
- Une discussion à la fois. Laissons parler tout le monde et écoutons nous.
- Les personnes présentes sont les bonnes personnes.
- Ce qui arrive est la meilleure chose qui pouvait arriver.
- Ça commence quand ça commence, et ça termine quand ça termine.
Les bonnes personnes étaient là, le cadre était posé, il ne restait plus qu’une étape avant de commencer : la conception de notre programme.
La place du marché 🛍
Vous vous souvenez de l’appel à sujets et du document à remplir ? Le moment était venu de l’utiliser et de planifier ensemble le reste de l’après-midi.
Première étape, retranscrire les propositions sur des post-it puis les rassembler au tableau pour que ce soit visuel. Un sujet par post-it, avec le titre et la catégorie. C’est aussi le moment où l’on peut proposer des sujets de dernière minute.
En parallèle, j’ai dessiné une timeline. L’axe des X représente le temps, par tranche de 30 minutes, et l’axe des Y correspond à des salles. On retrouve donc un quadrillage où chaque case associe un créneau horaire et une salle. J’y ai aussi indiqué un créneau de pause, pour se libérer l’esprit et se recharger.
Le fait d’avoir plusieurs salles permet de se diviser en plusieurs groupes et de traiter plusieurs sujets en parallèle. Nous avons cependant convenu de minimiser l’utilisation de plusieurs salles, un des enjeux de cette après-midi était de se retrouver tous ensemble.
Quant aux créneaux de 30 minutes, le but est de timeboxer chaque sujet afin de rester efficace et de ne pas s’étendre sur un point sans qu’il n’y ait un intérêt. Cependant, une extension de temps est possible : à la fin des 30 minutes, le groupe peut décider de racheter du temps, 5 minutes supplémentaires, en votant.
Le rachat est possible autant de fois que nécessaire, tant que le groupe est d’accord. Le protocole de décision est d’ailleurs décidé en équipe, pendant la place du marché, afin de déterminer le nombre de voix positive requise pour racheter du temps. Ainsi, on ajoute une valeur au temps et à la possibilité de continuer.
Une fois que tout était prêt, il ne restait plus qu’à construire le programme ensemble. Nous avons priorisé rapidement à l’aide du dot voting puis nous avons remplis la timeline.
Les OpenSpaces 🏡
Le programme fin prêt, nous pouvions commencer. Pour garder une trace des sujets traités, j’ai créé un document partagé que tout le monde pouvait remplir. Pour chaque sujet, nous notions un contexte ainsi que les décisions et actions prises.
Nous avons choisi de démarrer par des créneaux de production personnelle, où nous avons principalement préparé des sujets de talks. Nous avons décidé que ce serait le seul créneau où nous divisions le groupe afin de pouvoir profiter au maximum d’être tous ensemble.
Les points que nous avons abordés étaient variés : réflexion et actions autour de la création de l’entretien technique iOS, échanges autour d’une problématique client sur les Tests UI et l’injection de dépendances, des discussions autour de la création d’un meetup et de sujets de talks, du feedback sur un article et un Call For Papers, ou encore des idées pour se challenger, se motiver, et rayonner avec sa communauté.
Nous avons acheté du temps supplémentaire pour un seul sujet. Lors des prolongations, nous nous sommes focalisé à trouver des actions et avons décider de nous revoir pour un point précis afin de clore le sujet et avancer. À l’inverse, deux sujets se sont terminés quelques minutes en avance. Nous en avons profité pour enchainer sur les points suivants.
Un goûter healthy nous attendait lors de notre pause. Nous avons pu nous ressourcer 20 minutes avant de reprendre les hostilités. Nous avons d’ailleurs modifié la suite du programme à notre retour.
Au final, nous avons pu traiter 6 sujets, en plus des 3 effectués en parallèle au démarrage. Nous avons tenté de définir au moins une action à l’issue de chaque point. L’enchaînement des créneaux était intense, mais nous étions tous content de notre travail et nous en sommes ressortis avec du concret.
Rétrospective 📣
Pour terminer cette demie-journée, nous avons fait une rétrospective pour obtenir du feedback. Je l’ai axée sur comment faire mieux pour la prochaine fois avec ces cinq points :
- Les nouveautés à avoir
- Les points à améliorer
- Ce que l’on garde
- Ce que l’on enlève
- Des remerciements
Globalement, cette rencontre a été très appréciée. Le groupe s’est senti efficace et a apprécié cette organisation avec de petits créneaux et un fort timeboxing. Les sujets ont intéressé tout le monde et beaucoup d’actions ont été prises.
Des points d’amélioration ont aussi été proposés. Nous avons parfois eu deux discussions simultanées, ce qui a fait perdre de l’information. Il est important de bien écouter la personne qui parle et de ne pas avoir plusieurs conversations. Notre groupe se connaissant déjà très bien, nous nous sommes aussi demandé si l’icebreaker pouvait avoir une autre forme.
Enfin, les créneaux de production individuelle nous semblaient à éviter, ou au moins à limiter. Ce n’est en effet pas l’objectif principal de ce type de rencontre, et la production n’apporte pas directement de la valeur pour le groupe. Proposer plusieurs salles est à préférer si les sous-groupes formés sont assez grand pour avoir des échanges constructifs.
ROTI 🖐
Avant de partir, nous avons fait un ROTI (Return on Time Invested). C’est un vote très rapide à faire : en même temps, chaque participant indique à main levée une note entre 1 et 5 pour évaluer le temps investi. Une personne votant 5 indique que ça valait tout le temps investi, et même plus, alors qu’un 1 indique que sa présence était inutile. Il est intéressant de demander “pourquoi” et ce qu’il aurait fallu pour mettre un point de plus.
Conclusion
J’ai beaucoup aimé organiser cette après-midi. Dès la préparation, j’ai pu apprendre de mes échanges et de la création du format. Je remercie d’ailleurs à nouveau les personnes qui m’ont aidé. J’ai également joué le rôle de facilitateur pendant la demie-journée, un rôle que j’apprécie et sur lequel j’ai pu continuer à monter en compétences.
À l’issue de la journée, nous étions tous satisfait du résultat. Nous nous sommes enrichis de diverses connaissances, nous avons échangé, nous nous sommes aidé, nous avons proposé des solutions à des problèmes, et nous avons décidé d’actions à prendre. De multiples actions concrètes sont ressortis de cette rencontre.
Avec le timeboxing, les Open Spaces étaient productifs et intenses, sans que le temps soit un poids. Nous n’avons pas eu l’impression de courir contre la montre, et nous étions motivé à être efficace. Pour un petit groupe, il est intéressant de privilégier une seule salle de travail afin de maximiser la collaboration et l’intelligence collective.
J’aimerais maintenant pouvoir renouveler cette expérience avec des conditions différentes. Par exemple, en variant la durée (sur une journée complète), le domaine technique (mélange de développeurs de plusieurs horizons), ou encore en ouvrant à des externes. Je me demande comment faire évoluer le format.
Principalement, que faudrait-il adapter pour réunir des développeurs travaillant avec des technos et langages différents ? Cette fois-ci, nous étions tous développeurs iOS. Est-ce qu’un plus grand nombre avec plusieurs salles par créneau horaire suffirait ? Ou peut-être faudrait-il davantage axer sur des sujets de programmations plus générales ? Voire ajouter des problèmes d’organisation ?
Pour étendre le format sur toute une journée, le système d’OpenSpaces devrait toujours fonctionner. Éventuellement, on doit pouvoir remplacer quelques créneaux par des ateliers. Ces ateliers auraient par exemple la forme de DOJOs ou de talks préparés en amont.
Si l’occasion se présente, ce sera le moment de tester en variant un peu ce format. Le récit ne demande qu’à continuer.