<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>collaboration - Tag - Jordan Chapuy - Blog d'un développeur passionné ❤️</title><link>https://jordanchapuy.com/tags/collaboration/</link><description>collaboration - Tag - Jordan Chapuy - Blog d'un développeur passionné ❤️</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Thu, 09 Nov 2023 09:30:00 +0100</lastBuildDate><atom:link href="https://jordanchapuy.com/tags/collaboration/" rel="self" type="application/rss+xml"/><item><title>[Télétravail] Être à côté à distance</title><link>https://jordanchapuy.com/posts/2023/11/teletravail-etre-a-cote-a-distance/</link><pubDate>Thu, 09 Nov 2023 09:30:00 +0100</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2023/11/teletravail-etre-a-cote-a-distance/</guid><description><![CDATA[<p>Je suis dans une équipe qui travaille souvent à distance, et pourtant, j’ai <strong>la sensation d’avoir mes collègues à côté de moi</strong>. Cette petite tape sur l’épaule venant d’une personne qui passe dans les bureaux pour demander de l’aide ou discuter, vous voyez ? Eh bien, je l’ai même quand je suis seul à mon domicile, et je ne suis pas fou - enfin, pas complètement ;).</p>
<p>Pour poser un peu de contexte, nous sommes une vingtaine dans l’équipe, composés de multiples profils (tech, produit, terrain, design, …). La plupart sont situés en Île-de-France et les autres répartis dans différentes régions du pays. Il y a une seule règle autour du télétravail : on veut se retrouver tous ensemble physiquement les derniers jeudis du mois. Le reste du temps, chacun est libre de s’organiser comme bon lui semble - et c’est majoritairement à distance.</p>
<p>Ce qui m’a valu des questions de la famille, d’amis, d’autres collègues. « Pas trop dur d’être souvent en télétravail ? Tu te sens comment ? » Et même des affirmations « ah moi je pourrais pas ». Alors j’explique certains aspects que j’aime bien - flexibilité, auto-orga, temps libéré, etc. Des choses qu’on entend déjà bien assez avec les fervents défenseurs du télétravail sur LinkedIn.</p>
<p>J’explique qu’aussi, je me sens bien avec le télétravail <strong>dans cette équipe</strong> (j&rsquo;insiste sur ce point) parce que j’ai l’impression d’avoir mes collègues à côté de moi. Tout le long de la journée, j’ai beaucoup d’échanges, du spontané, de l’informel, du lien. Du sérieux et des conneries. <strong>Je ne suis pas seul au final</strong>. Et là, je vois que je mets le doigt sur quelque chose. « Ah ouais, c’est pas mal », « Faut qu’on essaie ça chez nous ».</p>
<p>Je pense qu’un des ingrédients principal de notre <em>télé-mayonnaise</em> est notre utilisation de Discord.</p>
<h1 id="rester-connecté-vocalement">Rester connecté vocalement</h1>
<p>Je vulgarise pour ceux qui ne connaissent pas. Discord est une application qui permet à plusieurs personnes de discuter avec du texte et avec de l’audio/vidéo grâce à un système de canaux. Ce qui est particulièrement intéressant ici, ce sont les canaux vocaux.</p>
<p>Un canal vocal est toujours ouvert. On voit les personnes qui y sont connectées actuellement, et on peut les rejoindre (et partir) à tout moment. Par exemple, je vois que Alice et Bob sont sur le canal Kaamelott. Ça tombe bien, j’ai besoin de leurs avis. Je vais m’y connecter brièvement pour échanger avec eux sur ma problématique.</p>
<p>C’est différent des outils classiques comme Google Meet, Microsoft Teams ou Slack. Je n’ai pas besoin d’appeler une personne, ni de planifier une réunion sur un calendrier, ni de demander la disponibilité de quelqu’un. Je rejoins un espace de discussion et hop, je suis avec ces personnes. <strong>Je peux immédiatement parler et ils m’entendent</strong>. Ou l’inverse. J’étais seul et hop, quelqu’un me rejoint.</p>
<figure><figcaption>
            <p><em>Un aperçu de notre serveur Discord.</em></p>
        </figcaption>
</figure>

<p>C’est très pratique. Et c’est devenu très puissant quand on a commencé à l’utiliser pleinement. Je m’explique. Au début, on l’utilisait pour quelques rituels et on s’envoyait des messages pour se dire « hey tu viens sur Discord 5 min stp ? ». Puis un jour, on a glissé sur un autre mode de fonctionnement.</p>
<p>Avec mes deux collègues devs mobile par exemple, on s’est mis à se connecter sur notre canal vocal « ici c’est le mobile » les matins et <strong>on y restait toute la journée</strong>*. Même lorsque l’on n’avait pas besoin de se parler ou de travailler ensemble.</p>
<p>Pourquoi ? Pour la <strong>spontanéité</strong>. À tout moment, je peux activer mon micro et parler avec mes collègues - <strong>ils sont déjà là</strong>, ils m’entendent et peuvent répondre.</p>
<p>C’est génial pour collaborer. On peut s’entraider, poser une question, réfléchir à voix haute et avoir d’autres avis, déclencher un pair programming à la volée. Ça laisse également plus de place pour de l’informel. On peut dériver d’un sujet, raconter soudainement une anecdote ou le film vu la veille.</p>
<p><strong>Il n’y a pas de friction. On parle, tout simplement.</strong> C’est con mais terriblement efficace.</p>
<p>*<em>Connecté toute la journée : bien entendu, on se déconnecte d’un canal si on a autre chose à faire, besoin de focus, ou tout simplement si on a envie de couper. Aucune obligation.</em></p>
<h1 id="encore-plus-accueillant">Encore plus accueillant</h1>
<p>La semaine dernière, j’ai fais une expérimentation pour aller un cran plus loin. On était content avec ce système dans l’équipe, mais il y avait majoritairement des développeurs connectés sur les canaux. On avait également trop de canaux (20 !) et plutôt silotés - « devs back 1 », « devs back 2 », « mobile », « recette », etc. En discutant avec d’autres profils dans l’équipe, je sentais qu’il y avait un intérêt et qu’on pouvait les embarquer.</p>
<p>Jeudi matin, j’ai tout supprimé puis j’ai créé une poignée de canaux. Différemment.</p>
<ul>
<li>Un groupe « Ouvert » avec 5 canaux. N’importe qui peut rejoindre n’importe quand. C’est ouvert. J’y vais pour travailler avec les personnes présentes, pour discuter, juste écouter en fond. Ou j’y vais seul pour que d’autres me rejoignent s’ils en ont envie à un moment.</li>
<li>Un groupe « Privé » avec 2 canaux. Ici, je suis plutôt focus, je préfère ne pas être dérangé, sauf sujet important.</li>
<li>Des univers et des lieux comme nom de canal. Quelque chose de générique pour ne pas se fermer sur un métier ou une action. « Kaamelott », « Pixar », « Montagne ».</li>
</ul>
<p>L’idée que j’avais derrière la tête ce matin-là, qui me guidait, c’était de créer un environnement permettentant aux gens de <strong>se croiser plus naturellement</strong>. En se groupant, et en se mélangeant. De manière prévue, et imprévue.</p>
<p>J’avais envie qu’une personne soit davantage tentée de rejoindre un canal avec d’autres personnes. Le groupe ouvert va dans ce sens, et les noms des canaux ne sont pas excluants. La réduction du nombre de canaux aide aussi, c’est une contrainte dans le système pour faire croiser les gens. Si on loue un château avec 200 chambres, on se verra trop rarement voire jamais.</p>
<p>En une semaine, il s’est déjà passé des choses très intéressantes.</p>
<ul>
<li>De nouvelles personnes de différents profils qui passent régulièrement sur les canaux.</li>
<li>On s’est retrouvé à plusieurs pour prendre le café un matin avant le daily, discuter un peu du projet et de sujets divers, puis on a eu notre moment improbable quand une personne nous a joué du piano.</li>
<li>Un verbatim : « Je pensais qu’il manquait un canal privé. Hier soir les deux étaient pris, une personne m’a rejoint car elle en voulait un aussi. C’était bien, on était chacun focus puis on a pu discuter. Ça ne serait pas arrivé, finalement peut-être qu’il n’en manque pas ».</li>
<li>Et un autre : « Bon, je viens de me relancer dans le visionnage de Kaamelott, je t&rsquo;en tiens pour responsable ^^ ».</li>
</ul>
<h1 id="être-à-côté-de-la-plaque">Être à côté… de la plaque</h1>
<p>J&rsquo;avais envie de raconter cette histoire parce qu&rsquo;on peut facilement se planter sur la façon de travailler à distance et créer des douleurs. En ne changeant rien alors que le contexte, lui, a changé. En saturant les journées de réunions. En restant toujours seul et en ne croisant d&rsquo;autres collègues qu&rsquo;à travers des réunions avec d&rsquo;ailleurs bien trop de monde. En voulant tout contrôler. Etc.</p>
<p>Le télétravail est encore assez jeune pour beaucoup d&rsquo;entreprises et de personnes - c&rsquo;était bien moins présent avant le covid. Je trouve intéressant de partager des expériences qui peuvent inspirer et aider d&rsquo;autres équipes qui se cherchent encore dans leurs relations avec le télétravail. On n&rsquo;est pas obligé d&rsquo;en faire, et on n&rsquo;est pas obligé de le subir non plus. On peut se l&rsquo;approprier - le problème n&rsquo;est parfois pas dû au fait de télétravailler mais au comment on en fait.</p>
<p>Chaque équipe et chaque personne a des besoins différents, il faut les prendre en compte et essayer des choses. Tentez et faites différemment, c&rsquo;est l&rsquo;opportunité de grandement améliorer le quotidien.</p>
]]></description></item><item><title>Mob-Programming - Assigner des rôles et les faire tourner</title><link>https://jordanchapuy.com/posts/2020/10/mob-programming-assigner-des-roles-et-les-faire-tourner/</link><pubDate>Tue, 27 Oct 2020 09:00:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2020/10/mob-programming-assigner-des-roles-et-les-faire-tourner/</guid><description><![CDATA[<p>Plus tôt dans le mois, on a eu un loupé sur un Mob-Programming : une faible dynamique plombait le début. Le format trop libre freinait le groupe. On a rattrapé le coup en faisant tourner des binômes. J&rsquo;ai pris conscience de l&rsquo;intérêt d&rsquo;assigner des rôles et de les faire tourner au sein du groupe pour maximiser les bénéfices du Mob-Programming.</p>
<p>C&rsquo;était lors d&rsquo;un beCom début octobre - un événement à benext qui regroupe toute une communauté sur l&rsquo;après-midi. Les participants étaient demandeur d&rsquo;approfondir un sujet, notamment avec de la pratique. On a proposé avec Cédric d&rsquo;animer un Mob-Programming.</p>
<p>J&rsquo;aime beaucoup faire du Mob-Programming. C&rsquo;est un excellent moment pour partager, apprendre, et explorer avec plusieurs personnes. On s&rsquo;est dit que ce serait un très bon moyen pour que le groupe puisse apprendre activement. Que les plus sachant transmettent. Que les plus néophytes découvrent et essayent. Que tout le monde se challenge à son niveau.</p>
<p>Cédric restait au clavier (covid oblige) pour retranscrire toutes les volontés du groupe. De mon côté, je facilitais. Nous étions aussi là en conseil pour accompagner le groupe lorsqu&rsquo;il y avait besoin.</p>
<h2 id="trop-de-libertés-peu-dinitiatives">Trop de libertés, peu d&rsquo;initiatives</h2>
<p>On a démarré avec un format très libre. Tout le monde pouvait participer, proposer et faire avancer à tout instant. Résultat, de nombreux silences et non un brouhaha. Une seule personne participait activement et deux autres de manière sporadique (oui, je suis en manque de Kaamelott). Le reste du groupe était totalement passif.</p>
<p>Un début pas très dynamique, probablement ennuyant pour certains participants. Un début qui me demandait également beaucoup d&rsquo;énergie pour la facilitation, pour insuffler de la vie, faire participer, faire questionner, etc.</p>
<p>Avec le recul, je me dis que l&rsquo;on n&rsquo;a pas assez pensé au public ciblé en amont. Un public composé majoritairement de jeunes développeurs et non habitué à des pratiques tel que le Mob-Programming. Avoir trop de liberté était contre-productif, cela freinait les participants. Et avec 10 personnes, c&rsquo;était un grand groupe. Il fallait un cadre plus fort.</p>
<h2 id="des-binômes-et-de-laction">Des binômes et de l&rsquo;action</h2>
<p>Au bout d&rsquo;une heure, j&rsquo;ai proposé de faire un break pour s&rsquo;aérer l&rsquo;esprit. On a échangé brièvement avec Cédric et on était du même avis, c&rsquo;était difficile. On a repris avec une nouvelle formule.</p>
<p>On a désigné deux personnes au hasard. Celles-ci héritèrent du rôle de leader : elles devaient faire des choix, réfléchir à voix haute et indiquer comment avancer à Cédric (au clavier). Toutes les dix minutes, on tournait avec les deux personnes à côté. Et ainsi de suite. Le reste du groupe pouvait bien entendu participer en même temps, mais c&rsquo;est le binôme qui était responsable de faire avancer.</p>
<p>Rapidement, le Mob-Programming est devenu vivant. Les échanges au sein du binôme étaient intéressants, il y a avait de l&rsquo;interaction entre les personnes, et le groupe avançait bien. L&rsquo;ensemble du groupe s&rsquo;est mis à participer. Les personnes étaient avec nous. Lors du debrief de fin de journée, les retours étaient très positif sur le passage en binômes.</p>
<p>J&rsquo;avais également moins d&rsquo;effort à fournir sur la facilitation. Inconsciemment, j&rsquo;essayais de combler cette absence de cadre en première partie. Le groupe gagnait en autonomie et je pouvais me concentrer sur d&rsquo;autres choses.</p>
<h2 id="assigner-des-rôles-et-les-faire-tourner">Assigner des rôles et les faire tourner</h2>
<p>En assignant des rôles, on a proposé un cadre dans lequel les participants évoluaient. Ce rôle les responsabilisait. Le rôle les poussait à l&rsquo;action et à la réflexion. Au sein d&rsquo;un grand groupe, cela évite l&rsquo;effet &ldquo;quelqu&rsquo;un le fera à ma place&rdquo;.</p>
<p>Faire tourner ces rôles permet de rendre tout le monde actif à un moment. Les participants étaient davantage présents, et le fait de minuter donnait un rythme. Le groupe arrête de se reposer sur une seule personne très active, et celle-ci laisse la main.</p>
<p>Je repense aux sessions de Mob-Prgramming que je fais avec des personnes plus chevronés, en format assez libre : il y a aussi des moments où l&rsquo;on désigne une personne qui prend le lead. Et des moments où l&rsquo;on change. Ca fonctionne bien.</p>
<p>Tout ceci me fait dire qu&rsquo;avoir des rôles tournant, ou au moins un lead tournant au sein du groupe est une composante importante du Mob-Programming. La méthode du Driver &amp; Navigator va d&rsquo;ailleurs dans ce sens.</p>
]]></description></item><item><title>Pair Programming ritualisé</title><link>https://jordanchapuy.com/posts/2020/09/pair-programming-ritualise/</link><pubDate>Tue, 22 Sep 2020 09:00:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2020/09/pair-programming-ritualise/</guid><description><![CDATA[<p>Au printemps, alors que les arbres commençaient à fleurir, j’ai eu l’idée de ritualiser un créneau de pair programming. J’aime beaucoup cette pratique. À mon sens, le pair programming apporte beaucoup de bonnes choses. Peu importe le niveau des personnes, ou même leur écart de niveau, ce qui en émerge est très intéressant. Les discussions, le code collectif, l’exploration, l’apprentissage, etc.</p>
<p>C’est quelque chose que j’utilise régulièrement avec mon binôme. Sur la demande de l’un ou de l’autre. Je m’en sers beaucoup pour accompagner, partager mes connaissances, donner du feedback. On a des cas concrets pour échanger, confronter des idées et résoudre des problèmes.</p>
<p>Et puis un jour je me suis dit, tiens, et si on se fixait un moment dédié et régulier pour faire du pair programming ? En conservant toujours la possibilité de le faire spontanément si besoin. L’un n’empêche pas l’autre. Je l’ai proposé à mon collègue et on s’est lancé. On a essayé une fois par semaine, un créneau récurrent inscrit dans l’agenda. On a tenu chaque séance depuis le début. Aujourd’hui, j’ai eu envie de revenir sur cette expérimentation et sur ce que ça nous a apporté.</p>
<hr>
<h2 id="pourquoi-cette-envie-de-ritualiser-">Pourquoi cette envie de ritualiser ?</h2>
<p>Printemps 2020 rime, malheureusement, avec la pandémie de Covid-19. Lorsque l’on a été confiné, mon équipe est passée de quelques rares jours de télétravail par mois à du full remote. Je voulais garder <strong>un lien fort de partage</strong> avec mon binôme. Sur notre lieu de travail, nous étions côte à côte. Il était aisé de tourner l’écran de manière spontanée et de dire « Hey, qu’est-ce que tu en penses ? » ou « Je suis bloqué ici, tu peux regarder avec moi ? ».</p>
<p>À distance, j’avais peur que l’on perde ça. On ose peut-être moins. Ça demande plus d’effort. Plus de synchro. Il faut demander et appeler. Je pense qu’il peut y avoir une peur de déranger, on ne sait pas ce que l’autre fait à ce moment, on ne le voit pas. La raison première était donc de garder un lien. En ritualisant, je savais que l’on avait un créneau réservé sur nos agendas pour le faire.</p>
<p>Ce que j’en attendais également, c’était de partager encore plus. En faisant régulièrement du pair programming, au moins une fois dans la semaine, je voulais accentuer mon accompagnement. Avoir plus de moments où je pouvais transmettre et échanger.</p>
<h2 id="quest-ce-que-jai-observé-">Qu’est-ce que j’ai observé ?</h2>
<p>Beaucoup de bonnes choses. J’ai même envie de dire que des bonnes choses. J’ai été agréablement surpris par chacune de nos séances. On a, à plusieurs reprises, dépassé notre créneau et continué naturellement, parce que c’était utile, parce que ça apportait de la valeur. On s’est beaucoup entraidé avec nos différentes connaissances du métier et du code. La confrontation régulière des idées a permis d’avancer plus vite sur des sujets parfois complexes.</p>
<p>J’ai remarqué un effet <em>canard en plastique</em>. <strong>Expliquer son problème à quelqu’un d’autres aide à mieux le comprendre et à trouver une solution</strong>. Donc le faire régulièrement (avec plus de pair programming) aide à trouver plus souvent et plus rapidement des solutions. C’est très bénéfique.</p>
<p>Une de mes craintes au départ était « est-ce qu’on aura à chaque fois des sujets adapté au pair programming ? ». En fait, oui. Ce n’est pas du tout un problème. Un jour, j’étais sur une correction de bug assez mystique. Je n’étais pas très avancé dessus et je n’avais pas de pistes intéressantes. Je pensais que ce ne serait pas très intéressant pour le créneau de pair programming qui allait démarrer.</p>
<p>Mais je me trompais. Ce fut l’une des sessions les plus utiles. Avec nos deux cerveaux et nos échanges, on a avancé extrêmement vite sur ce sujet. On a fait du pair programming l’après-midi entière et on a pu corriger ce bug. On a été très productif. Beaucoup plus que si j’étais resté seul.</p>
<p>En plus du gain de productivité et de la résolution de problèmes, <strong>j’ai pu beaucoup plus transmettre et accompagner mon binôme</strong> avec ces séances de pair programming régulières. Je trouve que c’est un excellent moyen d’apprendre les uns des autres, de guider, d’expliquer, d’essayer. On fait des choses concrètes, ensemble. On code et on échange en direct.</p>
<p>Enfin, une autre conséquence que j’ai observée avec l’augmentation de pair programming est la <strong>réduction du temps passé à faire du code review</strong>. Elles sont moins nombreuses et plus rapides. Plus on écrit du code ensemble, moins il y a besoin d’un processus où on le relit. Et c’est une bonne chose je trouve. Je préfère faire davantage de pair programming que de code review. <a href="https://jordanchapuy.com/posts/2021/02/et-si-on-arretait-les-revues-de-code/" rel="">Et si on arrêtait les revues de code ?</a></p>
<p>Le pair programming nous fait collaborer. On partage la propriété du code (collective code ownership), on est capable de comprendre chaque partie. C’est interactif. C’est en direct. Les code reviews sont asynchrones. On échange à l’écrit. On donne du feedback bien après l’écriture du code.</p>
<h2 id="et-maintenant-">Et maintenant ?</h2>
<p>Je compte bien conserver ce rituel et continuer à avoir un créneau dédié au pair programming. Même si le confinement est terminé et que l’on retourne partiellement au bureau, j’aime beaucoup tout ce que le pair programming nous apporte. Le fait de le ritualiser permet d’en faire plus régulièrement. Ca nous apporte un cadre.</p>
<p>Je songe à augmenter notre « temps minimum » de pair programming par semaine. Soit en augmentant la durée du créneau, soit en ayant deux créneaux dans la semaine. Je réfléchis aussi à une variante. Au début d’un sprint, choisir une story et décider de la faire entièrement en pair programming. Du début à la fin.</p>
<p>Une autre idée qui me semble intéressante serait de faire du pair programming avec une autre spécialité de temps en temps (on est organisé en feature team, il y a des développeurs Android, iOS et backend dans l’équipe). De cette manière, on obtiendrait plus de compréhension sur les autres plateformes. On irait également plus loin dans la pluridisciplinarité. J’ai pu le faire à deux reprises au début de l’année avec un développeur Android pour comprendre un problème commun, ce fut très utile.</p>
<hr>
<h2 id="bref">Bref</h2>
<p>L’expérimentation de ritualiser le pair programming s’est révélée très positive. Nous en avons tiré beaucoup de bonnes choses. Du partage, de l’accompagnement, de la collaboration, collective code ownership, etc. Tout ça régulièrement. Nous étions très productifs dans ces moments-là. Les discussions autour de l’écriture du code ont apporté des idées, des résolutions de problèmes, de l’apprentissage.</p>
<p>Je recommande vivement de faire davantage de pair programming. Avoir un créneau dédié peut être un moyen d’y parvenir. Essayez. C’est simple à mettre en place et très efficace. Si vous n’en faites pas du tout, lancez-vous. Si vous en fait de temps en temps, tentez de fixer un créneau. Vous pouvez commencer petit, avec une heure par semaine par exemple. Décidez d’un moment, officialisez-le dans l’agenda, et tenez le.</p>
<p>Et vous, à quel point faites-vous du Pair Programming ? Et comment ?</p>
]]></description></item></channel></rss>