Close

Topologies d'équipe

Comment quatre topologies fondamentales influencent une transformation DevOps.

Ian Buchanan

Principal Solutions Engineer

Contribution éditoriale : Shana Vu

Découvrez les avantages des équipes alignées sur les flux, ainsi que la façon dont elles travaillent avec les équipes de plateforme et de sous-système, et permettent d'apporter de la valeur aux clients.

Présentation des topologies d'équipe


Les équipes d'ingénierie doivent avancer plus rapidement que jamais pour apporter de la valeur à leurs clients. Avec l'essor du cloud, du SaaS et des services disponibles en continu, les clients s'attendent à de nouvelles fonctionnalités, à moins de bugs et à une disponibilité de 99,99 % (ou plus).

Pour rester en phase avec ces demandes, les organisations ont adopté des pratiques Agile et, plus récemment, des pratiques DevOps. Ces dernières promettent des délais de mise sur le marché/d'exécution plus rapides, une fréquence de déploiement améliorée, une meilleure culture d'équipe, ainsi qu'une collaboration accrue entre les équipes et les services.

Bien que l'adoption de pratiques DevOps soit plus facile à dire qu'à faire, le livre Team Topologies fournit des solutions avisées aux organisations pour intégrer DevOps au sein de leur entreprise, y compris les types d'équipe qui pourraient être les plus efficaces. Il donne une première idée de l'approche des équipes adoptée par Atlassian. Plutôt que de répéter ses conclusions, nous souhaitons partager notre propre point de vue sur les types d'équipe.

La première étape vers une transformation DevOps consiste à identifier la structure organisationnelle en place. Cependant, dans les entreprises d'aujourd'hui, de nombreux types d'équipe différents se côtoient et, dans certains cas, certaines assument plusieurs rôles et responsabilités. En raison de cet étalement, les dirigeants peinent à visualiser l'ensemble du paysage organisationnel et à répondre à des questions comme :

Découvrir la solution

Des outils DevOps pour toute l'équipe

Matériel connexe

Instaurez une culture DevOps

  • Disposons-nous des bonnes équipes ?
  • Manquons-nous de capacités dans certains domaines qui ne sont gérés par aucune équipe ?
  • Les équipes ont-elles trouvé le juste milieu entre autonomie et soutien de leurs pairs ?

Les responsables des équipes de développement et opérationnelles peuvent mieux comprendre si leur organisation dispose des bonnes équipes en examinant cette dernière à travers le prisme des topologies d'équipe. Nous recommandons de réduire le nombre de variantes à quatre topologies fondamentales et faciles à assimiler à la fois pour les cadres supérieurs et les membres de l'équipe eux-mêmes :

  • Équipe alignée sur les flux
  • Équipe de plateforme
  • Équipe de sous-systèmes compliqués
  • Équipe habilitante

N'oubliez pas que ces types d'équipe prennent différentes formes en fonction de la taille et de la maturité de l'entreprise. En réalité, la combinaison de plusieurs types d'équipe, ou la transformation d'une équipe en une autre, constitue souvent la meilleure approche.

Équipe alignée sur les flux


Les équipes alignées sur les flux se concentrent sur un flux de travail unique et important. Il peut s'agir d'un produit ou d'un service unique, d'un ensemble unique de fonctionnalités, d'un parcours utilisateur unique ou d'un persona utilisateur unique. L'équipe peut créer et apporter de la valeur client ou utilisateur aussi rapidement que possible, en toute sécurité et de manière indépendante, sans nécessiter le transfert de certaines tâches à d'autres équipes.

Étant donné que les équipes alignées sur les flux travaillent sur le spectre complet de la livraison, elles sont nécessairement plus proches du client et généralement déjà Agile. Elles intègrent le feedback des clients dans les cycles de développement, tout en gérant les logiciels en production.

Bien que les équipes alignées sur les flux soient courantes chez de nombreux éditeurs de logiciels, d'autres organisations leur préfèrent les structures d'équipe organisées par fonction (p. ex., équipes distinctes pour l'ingénierie, le design, l'assurance qualité).

Étant donné que les équipes alignées sur les flux sont les plus courantes dans les organisations, le rôle des autres équipes est défini en fonction d'elles. Elles doivent régulièrement interagir avec les équipes de support ci-dessous (de plateforme, de sous-systèmes compliqués et habilitantes) pour améliorer continuellement la cadence de livraison ainsi que la qualité de leurs produits et services.

Équipe de plateforme


Les équipes de plateforme permettent aux équipes alignées sur les flux de livrer le travail de manière relativement autonome. Alors que l'équipe alignée sur les flux conserve la pleine responsabilité du design, de l'exécution et de la correction d'une app en production, l'équipe de plateforme lui fournit des services internes.

Les équipes de plateforme créent des capacités qui peuvent être utilisées par de nombreuses équipes alignées sur les flux, sans surcharge importante. En optimisant un produit, elles limitent les ressources et les charges cognitives des équipes alignées sur les flux. Cette action profite également aux utilisateurs finaux, car les équipes de plateforme peuvent créer une expérience cohérente qui englobe plusieurs expériences utilisateur ou produit.

Chez Atlassian, les équipes de plateforme créent des services utilisés par tous nos produits (comme la gestion des identités) et sont censées fournir de la documentation, du support et des conseils aux équipes alignées sur les flux.

Équipe de sous-systèmes compliqués


Une équipe de sous-systèmes compliqués est responsable de la création et de la maintenance d'une partie du système qui nécessite des compétences et des connaissances spécifiques. La plupart des membres de l'équipe doivent être spécialisés dans un domaine de connaissances particulier pour comprendre le sous-système et y apporter des changements.

L'objectif de cette équipe est de réduire la charge des équipes alignées sur les flux qui travaillent sur des systèmes incluant ou utilisant le sous-système. Grâce à l'expertise et aux capacités de l'équipe de sous-systèmes compliqués, les équipes alignées sur les flux n'ont pas besoin de développer de capacités dans des domaines trop complexes pour leur travail quotidien. Les membres de cette équipe peuvent posséder des connaissances spécialisées dans certains microservices (p. ex., un service de facturation), des algorithmes ou même de l'intelligence artificielle.

Un piège courant consiste à intégrer des spécialistes dans chaque équipe alignée sur les flux qui utilise le sous-système. Bien que cela puisse sembler efficace, cette pratique n'est finalement pas rentable et hors périmètre pour une équipe alignée sur les flux.

Équipe habilitante


Les équipes alignées sur les flux sont constamment mises sous pression pour livrer et réagir rapidement au changement. Elles ont donc peu de temps pour rechercher, acquérir et mettre en pratique de nouvelles compétences.

Une équipe habilitante composée de spécialistes dans un domaine technique (ou produit) donné permet de combler cette lacune. Elle se concentre sur la recherche et l'expérimentation pour formuler des suggestions éclairées sur les outils, les frameworks et les choix d'écosystèmes qui affectent la pile d'outils.

Les équipes alignées sur les flux peuvent alors acquérir et développer des capacités sans perdre de vue leurs objectifs principaux. L'équipe habilitante cherche principalement à accroître l'autonomie des équipes alignées sur les flux en développant leurs capacités et en se concentrant sur les problèmes plutôt que sur les solutions.

Si une équipe habilitante réalise un travail de qualité, l'équipe qu'elle aide ne devrait plus avoir besoin d'elle après quelques semaines environ. Elle ne doit jamais entraîner de dépendance permanente.

Votre équipe est-elle alignée sur les flux ?


Vous devez vous posez les questions suivantes pour savoir si votre équipe est alignée sur les flux :

Votre équipe vise-t-elle à produire un flux constant de fonctionnalités ?
Les équipes chevronnées livrent plusieurs fois par semaine et, dans certains cas, plusieurs fois par jour. Pour atteindre cet objectif, elles doivent utiliser l'intégration et la livraison continues (CI/CD) pour livrer fréquemment des fonctionnalités.

Votre équipe se réoriente-t-elle rapidement en fonction du feedback (client ou interne) reçu suite aux derniers changements ?
Il est souvent préférable d'adopter une approche expérimentale de l'évolution des produits. Les processus DevOps éprouvés incluent des tests automatisés pour garantir la qualité des livraisons de code. Pourtant, l'expérimentation va au-delà de simples tests unitaires ou d'acceptation. Elle vous permet de garantir que vos produits apportent le plus de valeur possible aux clients en utilisant des feature flags pour automatiser les déploiements dans un sous-ensemble d'utilisateurs, des versions alpha et bêta afin de solliciter et mesurer le feedback et le comportement des utilisateurs, ainsi qu'un feedback continu et qualitatif par le biais de commentaires, de tickets de support et de forums communautaires.

Votre équipe a-t-elle recours aux transferts minimaux de tâches vers d'autres équipes ?
Ce devrait être le cas à deux égards. Votre équipe doit être autonome et travailler directement en son sein pour assurer une livraison rapide. Au-delà du périmètre de travail, les transferts minimaux peuvent également prendre la forme de processus automatisés. L'automatisation de votre cycle de développement garantit que l'avancement du travail est transparent, que l'étape suivante implique une action (p. ex., un test automatisé ou un merge vers la branche principale) ou l'intervention d'un être humain.

Points bonus si…
Votre équipe a-t-elle le temps de se pencher sur les changements liés à la qualité du code (également appelés « dette technique ») afin de s'assurer qu'ils sont sûrs et simples ?
Les équipes chevronnées s'appuient sur le SLA de disponibilité et les pratiques de CI/CD pour gérer leur base de code. La planification de la capacité doit inclure du temps consacré à la gestion de la dette technique. De plus, les projets de grande envergure qui traitent des problèmes sous-jacents liés à l'infrastructure ou à la plateforme méritent autant d'attention que le développement de fonctionnalités.

Votre équipe est-elle évaluée sur la base des bonnes métriques ?
Outre la cadence de livraison de votre équipe, il faut également tenir compte des métriques d'intégrité et de qualité technique dans les mesures de la réussite.

Concernant le dernier point, à savoir la mesure, les équipes DevOps tiennent traditionnellement compte des quatre métriques DORA (DevOps Research and Assessment) clés dans leur définition du « succès » :

  • Fréquence de déploiement : fréquence à laquelle une organisation parvient à livrer en production
  • Délai d'exécution des changements : délai nécessaire pour qu'un commit soit mis en production
  • Taux d'échec des changements : pourcentage de déploiements qui provoquent un échec en production
  • Délai de restauration du service : durée nécessaire à une organisation pour reprendre ses activités après un échec en production

Outre ces métriques spécifiées par l'équipe DORA, Atlassian a constaté que les équipes ultra performantes et alignées sur les flux surveillaient également ces attributs :

  • Équipe équilibrée : votre équipe possède un ensemble diversifié de compétences et de perspectives
  • Responsable à temps plein : un responsable à temps plein veille à ce que le noyau de votre équipe et les participants transverses sachent à qui poser des questions et comment prendre des décisions liées aux projets dont l'équipe est responsable
  • Compréhension commune : une compréhension commune des exigences, mais aussi de la définition des valeurs et des métriques de réussite, a été développée
  • Focalisation sur la valeur et les métriques : votre équipe dispose de boussoles qui pointent sur les tâches à accomplir afin de livrer les projets
  • Démonstration de faisabilité : le fait de disposer d'un véritable artefact pour tester les hypothèses permet à une équipe d'itérer et de s'améliorer en permanence
  • Dépendances gérées pour maintenir la vélocité : en comprenant les dépendances gérées, l'équipe peut maîtriser les bloqueurs et maintenir la vélocité

Conclusion…


DevOps n'est pas une destination, mais plutôt un parcours d'amélioration continue des outils, de la culture d'équipe et des pratiques. Si vous découvrez DevOps, commencez par orienter vos objectifs de sorte à apporter de la valeur aux clients. Au fur et à mesure que vous gagnerez en maturité, automatisez vos outils et processus. Enfin, lorsque les membres de votre équipe deviennent de véritables experts, intégrez l'observabilité pour vous assurer de surveiller, de mesurer et d'améliorer les bons facteurs.

Ian Buchanan
Ian Buchanan

Ian Buchanan est Principal Solutions Engineer chez Atlassian, où il se concentre sur la communauté DevOps émergente et sur l'application de Jira, Bitbucket et Bamboo pour une meilleure intégration continue et une meilleure livraison continue. Bien qu'il dispose d'une vaste expérience des langages Java et .NET, il est reconnu comme un champion des pratiques Lean et Agile dans les grandes entreprises.

Durant sa carrière, il a géré, avec succès, des outils de développement d'entreprise d'un bout à l'autre de leur cycle de vie. Il a mené des améliorations des processus à l'échelle de l'entreprise pour accroître la productivité, la qualité et la satisfaction des clients. Il a formé des équipes Agile multinationales ayant à cœur l'autonomie et l'organisation personnelle. Lorsqu'il n'est pas en pleine discussion ou occupé à programmer, Ian Buchanan s'adonne généralement à l'une de ses nombreuses passions comme les analyseurs, la métaprogrammation et les langages spécifiques d'un domaine.


Partager cet article

Lectures recommandées

Ajoutez ces ressources à vos favoris pour en savoir plus sur les types d'équipes DevOps, ou pour les mises à jour continues de DevOps chez Atlassian.

Illustration Devops

Communauté DevOps

Illustration Devops

Atelier de simulation

Illustration d'une carte

Essayez la solution gratuitement

Inscrivez-vous à notre newsletter Devops

Thank you for signing up