La structuration des équipes est un enjeu central dans le développement logiciel, tant pour leur efficacité que pour leur capacité à livrer des produits de qualité. Des concepts comme la célèbre règle des 2 pizzas d’Amazon, qui stipule qu’une équipe devrait être suffisamment petite pour se nourrir avec deux pizzas, ou encore les principes d’autonomie de Daniel Pink, illustrent bien l’importance de concevoir des équipes capables de fonctionner de manière autonome et alignée. Ajouter plus de force brute à une équipe en croisant les doigts, comme mettre un four à 1000 degrés pour cuire une pizza en 1 minute, ne mène pas forcément à des résultats meilleurs ou plus rapides.
Au contraire, une organisation réfléchie, émergente d’un besoin et basée sur la confiance permet d’améliorer des métriques clés comme le temps de revue de code, le délai de changement et le sentiment d’engagement des équipes. C’est dans ce contexte que nous explorons l’impact d’une approche innovante comme les équipes autosélectionnées.
Au début du projet, l’équipe comprenait un total de 14 développeurs et développeuses (dont 2 teams leads), 1 responsable de produit (Product Owner), 1 designer et 2 spécialistes en assurance qualité. Il est facile d’imaginer comment cela pouvait rendre plusieurs aspects du travail en équipe complexe, surtout au niveau de la communication. Le diagramme ci-bas démontre que plus le nombre de membres d’une équipe augmente, plus le nombre de « lignes de communication » augmente.
Évolution des canaux de communications relativement à la grosseur d’une équipe
Voici quelques exemples plus concrets des défis rencontrés au début du projet quand l’équipe formait une seule grosse équipe :
Fort à parier que vous avez déjà rencontré ce genre de défis dans divers contextes.
Une des solutions peut être assez simple : il faut séparer cette équipe d’une manière ou d’une autre pour tenter d’augmenter la productivité et diminuer le temps perdu. Il aurait été facile de laisser les gestionnaires s’occuper de diviser les équipes par eux-mêmes, compte tenu de leur vision 360 sur l’équipe.
Mais pourquoi ne pas laisser les membres de l’équipe choisir ?
C’est ici qu’entre en jeu le concept d’équipe autosélectionnée. Globalement, l’exercice est relativement simple :
Processus de formation des équipes autosélectionnées
Dans le cadre de notre projet, il y avait :
Le truc ici est de ne pas avoir peur et de ne pas hésiter. « Si jamais une équipe n’est formée que de juniors ? », « si jamais personne ne veut travailler avec cette personne ? » ou bien « si personne ne veut travailler sur la fonctionnalité X ? ». En suivant le processus, les contraintes et en faisant confiance aux membres de l’équipe, l’autosélection sera toujours possible.
Finalement, après 1 seule ronde de sélection, les équipes étaient complètes. Le résultat fut donc 2 équipes de 3 et 1 équipe de 5 en gardant les 2 team leads, le responsable de produit, le designer, les spécialistes en assurance qualité et 1 développeur expérimenté flottant.
À partir de ce moment, même si beaucoup d’autres choses ont changé dans le projet, la séparation en sous-équipes autosélectionnées est devenu un catalyseur pour plusieurs initiatives et résultats positifs.
En reprenant les défis mentionnés au début de cet article, voyons maintenant comment la séparation en sous-équipes autosélectionnées a participé à régler plusieurs défis auxquels faisait face l’équipe en début de projet.
Dès l’instauration des sous-équipes, un vent de fraîcheur s’est installé. Les équipes semblaient plus engagées et alignées et moins de temps était perdu. Mais que disent réellement les chiffres ?
Dans les 5 mois suivant la mise en place des sous-équipes autosélectionnées, il a été possible de remarquer des améliorations significatives.
Au niveau des revues de codes, une baisse de 60 % du temps de cycle total de revues de code ainsi qu’une baisse de 67 % du temps de prise en charge de la revue de code ont été mesurées. Il est intéressant de noter ici la diminution de la dilution de la responsabilité qui devient un facteur clé qui pour impacter ces chiffres.
Évolution du temps de revue de code sur les 5 mois suivant l’autosélection des équipes. Capture de notre outil Axify.
De plus, le délai de changement pour l’amener de l’implémentation à son déploiement a diminué de 63 %, ce qui représente une différence majeure dans un processus de développement.
Évolution du délai de changement sur les 5 mois suivant l’autosélection des équipes. Capture de notre outil Axify.
Les métriques ci-haut sont également influencées par plusieurs autres facteurs et initiatives qui ont été mis en place durant le projet. Il faut toujours douter des chiffres ! Mais, avec un ensemble de métriques, il reste possible d’avoir une idée globale du résultat.
Outre les chiffres, que disent certains membres de l’équipe ? Comment se sont-ils sentis après ce changement ? Trois membres de l’équipe ont été interrogés de la manière suivante :
Voici ce qu’ils avaient à dire et plus bas les notes qu’ils ont accordées aux différents aspects avant et après le changement :
La séparation en sous-équipes a réduit la charge mentale de devoir être au courant de toutes les initiatives en cours et a permis de recadrer les priorités pour voir clairement le travail à accomplir.
– Francis, Développeur
La séparation en sous-équipes m’a permis d’avoir un meilleur focus, une équipe de travail soudée et un meilleur ownership des fonctionnalités sur lesquelles je travaille.
– Jeanne, Développeuse
On se sent plus responsables de ce sur quoi l’on travaille, donc on est plus activement impliqués, mais en même temps, ça facilite le lâcher-prise, car on sait ce qu’on peut laisser entre les mains des autres. Donc paradoxalement, on lâche plus prise, mais au final, on s’implique aussi davantage.
– Mylène, Développeuse
Francis |
Jeanne |
Mylène |
|
Aisance à livrer des changements/10 |
5 → 8 |
7 → 9 |
6 → 8 |
Engagement et satisfaction/10 |
4 → 9 |
5 → 9 |
7 → 9 |
Productivité perçue/10 |
4 → 8 |
6 → 9 |
7 → 9 |
Tout d’abord, il est à noter que la mise en place des sous-équipes n’a été qu’un facteur parmi tant d’autres qui ont mené à ces améliorations majeures. Par contre, il est valide de supposer que l’avènement des sous-équipes auto-organisées a été un catalyseur pour plusieurs autres initiatives telles que :
Il est également important de prendre du recul face à ce qui a mené à ce changement. Au début du projet, une idée similaire existait, dans laquelle la grosse équipe allait être séparée d’une manière prédéfinie et chaque sous-équipe aurait un rôle clair. Cette idée a généré beaucoup de frictions et n’a finalement pas été mise en place. Pourtant, seulement quelques mois plus tard, l’équipe est arrivée à un résultat similaire, mais en laissant émerger le besoin et en laissant les gens choisir plutôt qu’en l’imposant sans répondre à un besoin précis.
Que faut-il en retenir ?
Qui sait, peut-être que vous pourriez gagner à mélanger vos équipes de temps à autre en laissant le choix aux membres des ces équipes !