Partager via


Création d’équipes productives

Les ingénieurs se développent dans des environnements où ils peuvent se concentrer et entrer dans un état de concentration optimale. Les équipes font souvent face à des distractions et à des priorités concurrentes qui forcent les ingénieurs à changer de contexte et à diviser leur attention. Ils luttent pour équilibrer le temps de concentration avec le temps d'observation. L’ajout de nouvelles fonctionnalités nécessite que les membres de l’équipe soient orientés vers le bas et concentrés. Répondre aux problèmes des clients et traiter les problèmes actifs du site exige que l’équipe soit vigilante et consciente de ce qui se passe.

Pour atténuer les distractions, une équipe peut se diviser en deux équipes : une pour les fonctionnalités et une pour la santé du site en direct.

Illustration de l’équipe de fonctionnalité et de l’équipe utilisateur travaillant ensemble.

L’approche à deux équipes offre une productivité et une prévisibilité accrues. L’implémentation réussie s’appuie sur ces éléments clés :

  • Rôles d’équipage clairement définis
  • Un processus de rotation d’équipage bien défini
  • Ajustements fréquents à la taille de l’équipage

Équipe chargée des fonctionnalités

L’équipe fonctionnelle, ou Équipe F, se concentre sur l’avenir. Ils travaillent en tant qu’unité efficace avec une mission et un objectif clairs : construire et expédier des caractéristiques de haute qualité.

L’équipage F est protégé du chaos quotidien du service en direct pour s’assurer qu’ils ont le temps de concevoir, de construire et de tester leur travail. Ils peuvent compter sur des distractions minimales et la liberté de ne pas avoir à résoudre des problèmes qui surviennent de manière aléatoire. Ils sont encouragés à vérifier rarement leur courriel et à éviter de s'impliquer dans d'autres problèmes, sauf s'ils sont critiques.

Lorsqu’un membre de l’équipe F rejoint une conversation ou se retrouve parfois entraîné dans un fil de messagerie, d’autres membres de l’équipe doivent les réprimander : « Vous êtes sur l’équipe F, que faites-vous ? » Si un membre de l’équipe F doit résoudre un problème critique, il est encouragé à le déléguer à l’équipe cliente et à retourner travailler sur les fonctionnalités.

L'équipe F fonctionne comme une équipe serrée qui se concentre sur un petit ensemble de fonctionnalités. Une bonne limite de travail en cours (WIP) est deux fonctionnalités en vol pour 4 à 6 personnes. En travaillant en étroite collaboration, ils créent un contexte partagé profond et recherchent des bogues critiques ou des problèmes de conception qu’une révision du code curseur manquerait. Un équipage dédié permet un débit et un délai de débit plus prévisibles. Les membres de l’équipe font souvent référence à l’équipage F comme serein et concentré. Ils le trouvent paisible et rajeunissant de se concentrer profondément sur une fonctionnalité, y consacrer toute leur attention. Les gens passent leur temps avec l'équipe F se sentent actualisés et accomplis.

Équipe cliente

L'équipe cliente, ou C-crew, se concentre sur le moment présent et fournit un support de première ligne pour les problèmes liés aux clients et aux sites en production, les bogues, la télémétrie et la surveillance. L’équipe C se réunit souvent autour d’un ordinateur, déboguant un problème critique sur un site en fonctionnement. Leur priorité numéro un est la santé du site opérationnel. Concentrés sur leur environnement, ils développent des compétences en débogage et en analyse d'experts. L’équipe cliente est souvent appelée équipe de bouclier , car elle protège le reste de l’équipe contre les distractions. Au lieu de travailler sur les fonctionnalités à venir, l’équipe C est le pont entre les clients et le produit actuel. Les membres de l’équipe sont actifs sur le courrier électronique, Twitter et d’autres canaux de commentaires. Les clients veulent savoir qu’ils sont entendus, et le travail de l’équipage C est de les entendre. La C-team trie immédiatement les problèmes signalés par les clients et intervient rapidement pour aider les clients bloqués.

Avec un déluge de tâches entrantes, travailler au sein d'une équipe C très dynamique peut parfois être exaltant. Dans une semaine occupée, ils traitent de plusieurs e-mails, des enquêtes de site en direct et des bogues. À mesure que les opérations se calment, elles travaillent à améliorer les données de télémétrie et les rapports, en investissant leur temps pour faciliter la maintenance du service.

Les équipes C permettent à l’équipe de résoudre les problèmes sans retirer les membres de l’équipe d’autres priorités et de s’assurer que les clients et les partenaires sont entendus. La réactivité aux questions et aux problèmes devient un point de fierté pour les équipes C. Toutefois, ce rythme peut être drainé, nécessitant une rotation fréquente entre les équipages.

Rotation de l’équipage

Un processus de rotation bien défini fait fonctionner le système à deux équipes. Vous pourriez simplement échanger les équipages (L’équipage F devient l’équipage C et vice versa), mais cela limite le partage des connaissances entre et au sein des équipages. Au lieu de cela, optez pour une rotation hebdomadaire.

À la fin de chaque semaine, effectuez une courte rencontre d’échange où l’équipe décide qui échange entre les équipages. Vous pouvez utiliser un graphique en tableau blanc pour suivre qui est actuellement sur chaque équipage et lorsqu’ils ont été échangés. Les personnes les plus anciennes de chaque équipage devraient généralement échanger entre elles. Toutefois, dans une semaine donnée, une personne peut vouloir continuer à travailler sur une enquête ou une fonctionnalité en direct. Bien qu’il y ait de la flexibilité, plus quelqu’un est sur un équipage, plus il est probable qu’il soit échangé.

Les rotations hebdomadaires permettent d’empêcher les silos de connaissances dans l’équipe et de garantir un flux constant d’informations et de perspective entre les équipages. Le mouvement fréquent d’ingénieurs crée une connaissance partagée du travail de l’équipe, ce qui aide l’équipe C à résoudre les problèmes sans l’aide d’autres personnes. Souvent, les nouveaux membres de l’équipe F trouveront rapidement une conception ou un défaut de code précédemment négligé.

Taille de l’équipage

La taille de l’équipage varie selon la santé de l’équipe. Si une équipe a un taux entrant élevé de problèmes en production ou a beaucoup de dettes techniques, l'équipe C devient plus grande et vice versa. L’ajustement hebdomadaire des tailles augmente la prévisibilité dans les livrables et les dépendances de l’équipe. Dans certaines semaines, une équipe peut déplacer tout le monde vers l’équipe C pour traiter les retours d’une importante version.

Cette stratégie simplifie la communication avec la gestion. Sans système à deux équipes, les ingénieurs travaillent souvent simultanément sur plusieurs choses. Lorsque plusieurs distractions se produisent dans une même semaine, les fonctionnalités en cours sont souvent retardées. Par conséquent, une équipe peut ne pas pouvoir donner en toute confiance des délais pour le travail futur des fonctionnalités.

Une équipe F spécialisée conduit à un débit prévisible et à un délai de livraison. La répartition des ressources entre les équipages augmente la responsabilité entre les équipages et clarifie pour la direction ce que l’équipe peut accomplir chaque semaine et chaque sprint.

Étapes suivantes

Le système à deux équipes peut aider les équipes à comprendre où les ingénieurs doivent passer leur temps et faire des progrès sur de nombreuses priorités concurrentes.

En plus d’améliorer la productivité et la prévisibilité, le système à deux équipes peut augmenter le moral de l’équipe. Les ingénieurs de chaque équipe comprennent clairement leurs rôles et responsabilités et fonctionnent de manière plus indépendante et avec une plus grande responsabilité. Cette approche est idéale pour les équipes DevOps, responsables du développement et des opérations. Toutefois, cette approche peut être appliquée à presque n’importe quelle équipe Agile traitant des priorités concurrentes.

Microsoft est l’une des plus grandes entreprises agiles du monde. Découvrez comment Microsoft organise les équipes dans la planification DevOps.