Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stratégies efficaces pour maintenir la dynamiqu...

Stratégies efficaces pour maintenir la dynamique d'équipe et l'excellence technique en télétravail

Avec la généralisation du télétravail depuis la pandémie de 2020, de nombreuses équipes de développement logiciel fonctionnent désormais entièrement à distance, avec des membres parfois répartis dans différents pays et fuseaux horaires.

Dans ce contexte 100% télétravail, les équipes risquent de perdre les échanges informels et l'entraide spontanée qui favorisent la progression collective et la résolution collaborative des problèmes. L'isolement des individus peut entraîner une atrophie de la dynamique de groupe, une diminution des échanges naturels et des partages de savoirs, impactant à long terme l'implication des individus et la qualité du produit.

Dans cette conférence, je partagerai des retours d'expérience et des stratégies éprouvées pour relever ces défis du télétravail. Vous découvrirez des outils, des pratiques et des cérémonies pour améliorer la communication, la collaboration, la qualité logicielle et l'architecture technique.

Avatar for Damien Beaufils

Damien Beaufils

October 08, 2024
Tweet

More Decks by Damien Beaufils

Other Decks in Technology

Transcript

  1. OBJECTIF DE LA PRÉSENTATION Comprendre les problématiques d’ équipe récurrentes

    et exacerbées par le télétravail Proposer des outils et pratiques accessibles pour y remédier Disclaimer : On ne parlera pas de marque employeur ou de stratégie de recrutement/rétention pour les entreprises en télétravail
  2. IL ÉTAIT UNE FOIS… Toute ressemblance avec des faits et

    des personnages existants ou ayant existé serait purement fortuite et ne pourrait être que le fruit d’une pure coïncidence. Ou pas.
  3. Il était une fois… Jack, développeur Télétravail possible à 100%

    Horaires flexibles Salaire pas piqué des vers Avantages sociaux Dernières technologies 雲人 #ATQC24 5
  4. Il était une fois… RÉCOLTER DES FAITS • Quoi :

    identifier le top 5 des irritants • Comment : par un post-mortem ou une rétrospective globale • Pourquoi : améliorer le système en ciblant la dépense de ressources (temps, énergie, argent) sur les contraintes principales 雲人 #ATQC24 8
  5. 5 PROBLÉMATIQUES OUTILS ET PRATIQUES POUR Y REMÉDIER "Once you

    eliminate your number one problem, number two gets a promotion." - Gerald M. Weinberg
  6. 🚩 Problématique #1 DISSONANCES DANS LA COMMUNICATION Quelques symptômes :

    • Communication froide par écrit (Slack, Teams, Pull Requests…) • Impression de déranger l’autre • Manque d’empathie • Impression de ne pas se faire écouter • Ne sait pas quel est le meilleur moment pour s’appeler 雲人 #ATQC24 10
  7. 🪛 Outils et pratiques #1 APPRENDRE À SE CONNAÎTRE •

    Connaître les valeurs et les compétences de chacun • Savoir les conditions de chacun pour se sentir en sécurité psychologique • Savoir quels sont les indicateurs de stress • Savoir quelle est la meilleure façon de communiquer 雲人 #ATQC24 11
  8. 🪛 Outils et pratiques #1 RÉTABLIR LA COMMUNICATION • Se

    réapproprier la revue de code ◦ Ne pas s’arrêter à la Pull Request ◦ Présenter oralement avant de soumettre la revue • Partager les principes Egoless Programming ◦ Principe #2 : “Vous n’êtes pas votre code” 雲人 #ATQC24 12
  9. Quelques symptômes : • Beaucoup de questions et d’aller-retours •

    Beaucoup de retravail avant de livrer • Ce qui est livré n’est pas exactement ce qui était attendu • “Moi j’avais compris ça” 🚩 Problématique #2 INCOMPRÉHENSIONS SUR LES LIVRABLES 雲人 #ATQC24 13
  10. Atelier “3 Amigos” : • 3 rôles : 1 PO,

    1 QA, 1 Dev • Clarifier le besoin et les attentes de l’utilisateur • Anticiper les enjeux et les potentielles limites techniques • Co-construire les critères d’acceptation 🪛 Outils et pratiques #2 PARTAGER LA COMPRÉHENSION 雲人 #ATQC24 14
  11. Écrire, noter, consigner : • Ne pas laisser la place

    à l’interprétation ◦ Rendre explicite l'implicite • Dans un outil capable de gérer les commentaires et suggestions • Requérir la relecture d’un pair • Plus ces notes sont longues à écrire, plus elles en valent la peine 🪛 Outils et pratiques #2 LES PAROLES S’ENVOLENT, LES ÉCRITS RESTENT 雲人 #ATQC24 15
  12. Quelques symptômes : • Des choix techniques structurants sont pris

    sans en informer toute l’équipe • Le nommage n’est pas homogène • Différentes librairies pour faire des choses similaires • On sait reconnaître qui a écrit le code en un coup d’oeil 🚩 Problématique #3 MANQUE DE COHÉRENCE TECHNIQUE 雲人 #ATQC24 16
  13. Faire un kickoff avant chaque user story : • Avec

    au moins 1 autre personne de l’équipe • Relire et valider collectivement les attendus techniques et fonctionnels • Définir la stratégie technique • Noter les hypothèses établies 🪛 Outils et pratiques #3 LE TOUT EST PLUS QUE LA SOMME DE SES PARTIES 雲人 #ATQC24 17
  14. 🪛 Outils et pratiques #3 DÉCRIRE LES CHOIX STRUCTURANTS Écrire

    un Architecture Decision Record (ADR) lors de choix techniques structurants : • Contexte (quel est le problème ?) • Décision (qu’a-t-on choisi de faire ?) • Statut (proposé, accepté, rejeté...) • Conséquences (qu’est-ce qui sera simplifié ?) Mettre en place un glossaire : • Décrire les acronymes utilisés dans le code • Lister les synonymes éventuels 雲人 #ATQC24 18
  15. Quelques symptômes : • Les sprints s'enchaînent sans prise de

    recul • Des sprints à faire que du bug fixing • Du refactoring en mode tunnel • Tout serait améliorable, mais on ne sait pas quelle est la priorité • Des tâches techniques qui s’accumulent dans le backlog 🚩 Problématique #4 ACCUMULATION DE DETTE TECHNIQUE 雲人 #ATQC24 19
  16. 🪛 Outils et pratiques #4 RITUALISER LES ÉCHANGES TECHNIQUES Gains

    rapides Projets majeurs Compléments Gaspillage de temps Faible impact Fort impact Effort élevé Faible effort 雲人 #ATQC24 20 Mettre en place une rétrospective technique : • À destination de l’équipe de développement uniquement • Ritualiser 1 fois par sprint • Faire émerger des standards de code • Identifier et raffiner collectivement des tâches techniques • Prioriser selon une matrice impact vs. effort
  17. Lors du sprint planning : • Commencer en définissant une

    capacité d’équipe de ±80% • Laisser de la place aux imprévus, à la formation et à l’amélioration technique 🪛 Outils et pratiques #4 PRENDRE LE TEMPS DE S’AMÉLIORER • Ajouter des tâches techniques (priorisées) au backlog de sprint • Tester différentes valeurs de capacité pour trouver l’optimale 雲人 #ATQC24 21
  18. Quelques symptômes : • Faible propriété collective du code •

    Du code parfois “pris en otage” • Ennui, manque de motivation • Peu d’évolution dans les façons de faire • Chacun travaille dans son coin 🚩 Problématique #5 FAIBLE PROGRESSION DES INDIVIDUS 雲人 #ATQC24 22
  19. Ritualiser l’apprentissage collectif : • Promouvoir le partage de savoir

    via des présentations internes régulières • Organiser des sessions de revue de code collective • Pratiquer le pair programming avec minuterie et outil de partage approprié • Avoir du fun ! 🪛 Outils et pratiques #5 APPRENDRE COLLECTIVEMENT 雲人 #ATQC24 23
  20. QUID DE JACK ? "How it is done is as

    important as getting it done." - Sandro Mancuso
  21. • Succès du projet pilote, non sans difficultés • Les

    améliorations présentées se sont échelonnées sur plusieurs mois • Volonté de la compagnie d’étendre ces pratiques à l’ensemble des projets • Jack prend un rôle de coach technique transverse Quid de Jack ? RÉSULTATS 雲人 #ATQC24 25
  22. RENDRE EXPLICITE L'IMPLICITE Apprendre à se connaître Atelier 3 amigos

    Architecture Decision Record Écrire, noter, consigner RITUALISER LES ÉCHANGES TECHNIQUES Rétrospective technique Prioriser la dette technique Kickoff de story FAVORISER LA PROGRESSION COLLECTIVE Apprentissage collectif Capacité d’équipe dédiée à la formation et à l’amélioration S’outiller pour pratiquer ensemble