Points Clés
- Rassemblez l'équipe distribuée sur une seule plateforme pour promouvoir le travail asynchrone.
- Établissez une source unique de vérité où les projets actuels et futurs se trouvent, à laquelle tous les membres de l'équipe peuvent accéder, se référer et partager.
- Documentez les décisions de manière claire afin que les membres de l'équipe, qu'ils soient à distance ou en présentiel, puissent avoir le même aperçu de l'avancement du processus décisionnel et se rallier à la décision.
- Désignez un facilitateur pour chaque rituel et permettez aux membres de l'équipe de se relayer, afin que même les plus juniors aient l'occasion de diriger.
- Pour responsabiliser les équipes de développement distribuées dans un lieu de travail hybride, tirez parti des outils automatisés afin d'utiliser la méthode agile sans effort.
L'un des douze principes énoncés dans le Manifeste Agile est que "la méthode la plus efficace et la plus efficiente pour transmettre des informations à et au sein d'une équipe de développement est la conversation en face à face". Mais que faire lorsque cela s'avère impossible ?
La pandémie de COVID-19 a contraint les équipes de développement - et tous les employés non essentiels - à travailler à distance. Les réunions ont lieu sur Zoom, des canaux distincts ont été créés sur Slack pour entretenir la camaraderie et les bureaux à domicile ont été dotés d'équipements haut de gamme.
Les équipes de développement étaient déjà parmi les plus décentralisées, aussi le passage au travail à distance n'était-il pas complètement nouveau. Cependant, à mesure que les vaccins deviennent plus accessibles et que la perspective de retourner au bureau se précise, un nouveau type de lieu de travail hybride émerge.
La pression est maintenant sur les équipes logicielles pour faciliter la collaboration dans ce nouveau monde hybride. Lorsque la moitié de votre équipe est installée dans un même lieu et que les autres sont dispersés, comment créer un environnement qui favorise l'esprit d'équipe et inspire aux développeurs le meilleur d'eux-mêmes ?
Chez ZenHub, il est devenu évident que notre approche du développement logiciel doit s'adapter à ce nouveau mode de travail hybride. Parallèlement aux changements de processus, les outils de gestion de projet devront évoluer pour permettre une égalité d'expérience pour les équipes hybrides.
Nous examinons ci-dessous cinq façons d'adapter les outils et les processus pour soutenir une équipe hybride et favoriser la collaboration, quel que soit l'endroit où se trouve l'équipe.
Asynchrone plutôt qu'en personne
De la manière dont nous menons les rituels agiles à celle dont nous prenons les décisions, les équipes de développement logiciel doivent adopter une approche de collaboration privilégiant l'asynchrone. Dans un contexte de travail hybride, réunir toute l'équipe à un moment donné pour estimer la charge de travail, clarifier les problèmes ou planifier les sprints peut sembler peu pratique (voire impossible).
Coordonner des calendriers déjà chargés et des fuseaux horaires multiples est au mieux un casse-tête, au pire une perte de temps colossale. Nous savons déjà que les développeurs veulent moins de réunions et préfèrent contribuer à leur propre rythme lorsque cela perturbe le moins leur travail. Donnons donc la priorité aux solutions qui favorisent la communication asynchrone - et pas juste à distance.
Cela signifie des outils déployés sans effort dans un environnement familier et qui connectent les développeurs facilement et rapidement avec leur équipe. Les chefs d'équipe devront animer les événements - estimation, planification de sprint, affinement du backlog - de manière asynchrone, afin que les membres de l'équipe distante puissent contribuer, se sentir entendus et vus, et recevoir un retour de leurs coéquipiers. En bref, recherchez des outils qui rassemblent sur une seule plateforme l'équipe distribuée et rendent ainsi la transition transparente.
En cas d'événements et de réunions "en personne", il est important que l'équipe pense à les moduler de manière à créer une expérience égale pour tous les participants. Chez ZenHub, l'une des façons d'y parvenir est d'adopter une politique de "visage unique, écran unique". Qu'est-ce que cela signifie ? Même les membres de l'équipe présents dans la même salle de réunion sont encouragés à utiliser leur propre ordinateur portable plutôt qu'une caméra partagée.
Jusqu'à présent, les résultats ont été extrêmement positifs, et de nombreux employés nous ont dit qu'ils se sentaient encore plus proches de leurs équipes qu'en configuration.
Établir une source unique de vérité
L'un des principaux obstacles à surmonter pour les équipes de développement est l'adhésion de la direction et, franchement, le manque de compréhension du processus de développement de la part des dirigeants.
De nombreuses entreprises connaissent déjà le défi posé par l'éparpillement des données de projet entre plusieurs endroits, l'équipe de développement suivant le travail quotidien dans un outil tandis que les dirigeants et autres parties prenantes suivent les objectifs et les indicateurs clés de performance de l'équipe dans un tout autre ensemble d'outils. Le décalage entre les équipes de développement et les parties prenantes n'en est que trop fréquent. Dans un lieu de travail hybride, où la communication peut être plus difficile et où les équipes n'ont pas le luxe d'être installées au même endroit, ce problème peut être encore exacerbé.
Pour éviter cet écueil, les équipes doivent établir un lieu central où les projets passés, actuels et futurs sont conservés, et que tous les membres de l'équipe peuvent consulter, référencer et partager. En exploitant une source unique de vérité convenant aux développeurs, aux concepteurs, aux gestionnaires de produits et aux dirigeants, les entreprises peuvent transformer ce risque en une opportunité d'apporter plus de visibilité et de transparence au processus de développement et de créer un meilleur alignement.
Chez ZenHub, notre équipe utilise GitHub Issues comme source unique de vérité. Bien que la centralisation de notre processus autour de GitHub ait engendré une phase d'apprentissage pour les non-développeurs de notre équipe, elle nous a donné la possibilité de lier directement les évolutions aux modifications de notre base de code, éliminant ainsi les erreurs humaines et les mises à jour fastidieuses pour nos développeurs. En conséquence, nos développeurs sont plus productifs et nous avons une compréhension plus précise de la situation pour informer nos principales parties prenantes.
En outre, nous avons envisagé la création d'une feuille de route à l'échelle de l'entreprise, qui reprend les projets et les étapes clés pour chaque secteur fonctionnel de notre société. S'il n'est peut-être pas courant de suivre des projets de marketing parallèlement à des projets logiciels, nous avons constaté que cette approche permet à l'ensemble de l'entreprise de voir et de comprendre ce sur quoi travaillent nos équipes de développement et de réduire les contrôles ponctuels et les points d'avancement.
Documenter les décisions de manière claire
Le fait de documenter les décisions au fur et à mesure qu'elles sont discutées et prises donne l'occasion aux membres à distance d'accéder à un élément du processus qui ne leur aurait pas été accessible autrement. Il est plus difficile pour les membres de l'équipe de ne pas voir qu'une décision a été prise, ce qui limite les erreurs plus tard dans le processus de développement.
Si un membre de l'équipe se réveille dans son fuseau horaire et découvre - sur la plateforme de gestion de projet de l'équipe - qu'une décision a été prise, deux choses doivent se produire :
Le membre de l'équipe doit trouver rapidement et facilement le raisonnement à l'origine de cette décision. Il peut être d'accord avec cette décision. Ou pas. Le "pourquoi" est important quoi qu'il en soit, car il informe le membre de l'équipe sur le raisonnement de l'équipe.
Le membre de l'équipe doit pouvoir identifier rapidement les prochaines étapes et savoir où il peut être le plus utile. En documentant les décisions, le chef d'équipe facilite les actions futures et permet au projet de continuer à avancer.
L'un des autres avantages de documenter nos décisions tout au long du processus de développement est de pouvoir s'y référer plus tard dans le cycle de vie du projet. Si des questions surviennent plus tard dans le processus de développement ou d'assurance qualité, nous pouvons clairement communiquer les raisons de certaines décisions et justifier la direction que nous avons prise. Là encore, cela contribue à renforcer l'alignement au sein de l'équipe et avec les parties prenantes de notre organisation.
Désigner un facilicitateur pour chaque rituel
Pour maintenir un environnement de développement sain, il sera très important pour chaque événement agile d'avoir un propriétaire assigné et un ordre du jour préalable. Cela permettra d'organiser l'équipe et de s'assurer que tous les participants (peu importe leur localisation) sont alignés sur l'objectif et peuvent examiner problèmes et tickets à l'avance, afin de fluidifier la réunion.
Le rôle du facilitateur sera d'établir des rôles et des attentes clairs pour chaque rituel et de tenir l'équipe responsable. Avant la réunion, il lui incombera d'établir l'ordre du jour et de recueillir les contributions de l'équipe de manière asynchrone. Cette bonne pratique transcende les équipes de développement, mais c'est justement pour cela qu'elle est importante - il faudra la mettre en œuvre pour harmoniser les équipes hybrides.
Chez ZenHub, l'une des façons de mettre ce processus en pratique est de désigner un nouveau membre de l'équipe (en mode round-robin) pour animer chaque rituel. Cela permet non seulement de garantir l'originalité de nos réunions, mais aussi de permettre aux membres de l'équipe d'acquérir de l'expérience dans un domaine auquel ils ne seraient pas directement exposés dans leur rôle.
Tirer parti de l'automatisation pour simplifier l'agilité
Enfin, pour équiper les équipes de développement distribuées dans un environnement de travail hybride, il est impératif de s'appuyer sur les outils disponibles visant à faciliter les événements agiles. L'automatisation est la recette miracle qui permet d'alléger certains processus agiles et d'éviter les approximations dans la gestion des projets. Les outils automatisés font gagner du temps aux développeurs, soignent les relations avec les dirigeants et organisent les événements en veillant au respect des bonnes pratiques par les équipes.
En fin de compte, la chose la plus importante que nous puissions faire est de privilégier l'empathie avant tout. Nous sommes tous humains et nous devons être indulgent envers les autres et envers nous-mêmes. Lorsque les équipes sont éclatées, ce qui prime, c'est l'empathie, c'est-à-dire la capacité à se mettre dans la peau d'un autre. S'il existe des outils pour améliorer les processus, il n'y en a pas pour accroître l'empathie. Cela requiert une prise de conscience et des efforts supplémentaires de la part de chaque individu.
A propos de l'auteur
Aaron Upright a cofondé ZenHub en 2015 pour aider les équipes logicielles avant-gardistes à gérer leurs projets au plus près du code. Aaron occupe actuellement le poste de Responsable des Comptes Stratégiques où il travaille en étroite collaboration avec les clients pour aider à définir l'expérience produit.