Articles
Tutoriels
Guides interactifs
Structure d'équipe DevOps : types, rôles et responsabilités
Les différentes équipes ont besoin de leur propre structure, en fonction du contexte général de l'entreprise.
Shana Vu
Product Marketing, DevOps
Lorsque les développeurs sont en passe d'adopter DevOps, il est essentiel de comprendre que les différentes équipes nécessitent leur propre structure, en fonction du contexte général de l'entreprise et de son appétence pour le changement.
La montée en puissance des équipes DevOps
Disposez-vous d'une équipe DevOps au sein de votre entreprise ? Il y a de fortes chances, oui. Dans notre enquête sur les tendances DevOps, nous avons constaté que dans plus des deux tiers des organisations interrogées, on retrouve une équipe ou une personne comportant le terme « DevOps » dans son titre.
L'approche DevOps étant de plus en plus répandue, nous entendons souvent dire que les équipes de développement ont mué en équipes DevOps. Toutefois, il ne suffit pas d'ajouter de nouveaux outils ou de désigner une équipe comme « DevOps » pour tirer pleinement parti des avantages de cette approche.
Sans une compréhension claire de DevOps et une approche pertinente de son implémentation, une transformation DevOps se limite généralement aux réorganisations ou aux outils les plus récents. Adopter DevOps de manière fructueuse implique un virage culturel : la structure et les principes de gestion des équipes sont repensés, et des outils technologiques sont adoptés.
Types de structures d'équipe DevOps
La détermination de la structure d'équipe DevOps à implémenter dépend de nombreux facteurs, notamment le nombre de produits sur lesquels une organisation travaille, la direction technique et la capacité/l'incapacité des équipes de développement et opérationnelles à aligner les processus.
Découvrir la solution
Des outils DevOps pour toute l'équipe
Matériel connexe
Découvrez les avantages de DevOps
Il est important de comprendre que toutes les équipes ne partagent pas les mêmes objectifs ou n'utiliseront pas les mêmes pratiques et outils. Même la composition d'une équipe ne doit pas être standardisée. Chacune nécessite sa propre structure, en fonction du contexte général de l'entreprise et de son appétence pour le changement. Les équipes DevOps de deux entreprises peuvent être radicalement différentes.
Pour profiter des avantages de DevOps (délai de mise sur le marché plus rapide, fréquence de déploiement améliorée, meilleure culture d'équipe, et collaboration accrue entre les équipes et les départements), il est important de comprendre le rôle joué par chaque équipe. Cependant, dans de nombreuses organisations, les équipes arborent différents titres et assument plusieurs rôles (p. ex., une équipe d'infrastructure qui sélectionne et gère des outils). En raison de cet étalement, les dirigeants peinent à visualiser l'ensemble du paysage organisationnel et à répondre à des questions importantes comme : disposons-nous des bonnes équipes ? Manquons-nous de capacités dans certains domaines qui ne sont gérés par aucune équipe ? Les équipes semblent-elles avoir trouvé le juste milieu entre autonomie et soutien de leurs pairs ?
L'excellent travail du groupe Team Topologies donne une première idée de la perception des différentes approches d'équipe DevOps par Atlassian. N'oubliez pas que les structures d'équipe ci-dessous prennent différentes formes en fonction de la taille et de la maturité de l'entreprise. En réalité, la combinaison de plusieurs structures, ou la transformation d'une structure en une autre, constitue souvent la meilleure approche.
Collaboration des équipes de développement et opérationnelles
Pour de nombreuses personnes, DevOps désigne simplement la collaboration cohérente des équipes de développement et opérationnelles. Cette collaboration pose les bases de la méthodologie DevOps et présente des avantages évidents, notamment la possibilité pour les équipes de développement de créer, de tester et de livrer plus rapidement et de manière plus fiable.
Pour que cette structure d'équipe s'avère fructueuse, les développeurs doivent comprendre la pression exercée sur les équipes opérationnelles pour maintenir la disponibilité et limiter les résolutions. Il est tout aussi important pour les équipes opérationnelles de comprendre la volonté des équipes de développement de réduire les délais de déploiement et de mise sur le marché.
Regroupement des équipes de développement et opérationnelles
Cette structure suppose que les équipes de développement et opérationnelles se réunissent pour former un seul et même ensemble, faisant front commun pour atteindre des objectifs partagés. Occasionnellement appelée « NoOps », cette approche est couramment observée dans les entreprises technologiques disposant d'un seul produit numérique principal, comme Facebook ou Netflix. Elle peut même prendre la forme de l'approche YBIYRI (« you build it, you run it » ou « vous le concevez, vous en êtes responsable »), les apps étant développées et exploitées par les mêmes personnes.
DevOps/SRE
Popularisée par Google, cette structure d'équipe permet à une équipe de développement de confier un produit à l'équipe d'ingénieurs chargés de la fiabilité du site (SRE), qui exécute le logiciel. Dans ce modèle, les équipes de développement fournissent des journaux et d'autres artefacts à l'équipe SRE afin de démontrer que leur logiciel répond à une norme suffisante pour bénéficier du support de cette dernière. Les équipes de développement et SRE collaborent sur des critères opérationnels, et les équipes SRE peuvent demander aux développeurs d'améliorer leur code avant la production.
Équipes opérationnelles en tant que plateforme
Dans cette structure d'équipe, un sous-ensemble de l'équipe de développement fait office de source d'expertise pour toutes les opérations et constitue le principal interlocuteur de l'équipe Infrastructure as a Service (IaaS). Cette structure dépend des apps qui s'exécutent dans un cloud public, car l'équipe IaaS crée des services virtuels évolutifs utilisés par l'équipe de développement.
Fonction DevOps externe
La fonction DevOps externe désigne le fait, pour les entreprises, de faire appel à un consultant ou à une équipe DevOps pendant une période limitée pour aider les équipes de développement et opérationnelles à évoluer vers les deux premières structures d'équipe mentionnées (regroupement des équipes de développement et opérationnelles et collaboration entre elles).
Même si vous pouvez appliquer les pratiques DevOps de bien des manières, vous pouvez aussi ne pas le faire. Les équipes et les responsables DevOps doivent se méfier des anti-schémas, qui se caractérisent par un cloisonnement, un manque de communication et une priorisation vaine des outils au détriment de la communication.
Rôles et responsabilités des équipes DevOps
Quelle que soit la structure de votre équipe, toutes les équipes ultra performantes appliquant les pratiques DevOps partagent régulièrement leurs connaissances et leur expérience entre le développement et les opérations, que ce soit lors de réunions régulières, par le biais de personnes assumant les deux casquettes et/ou pluridisciplinaires. Une équipe ultra performante profite nettement des avantages de DevOps : délai de mise sur le marché plus rapide, délai d'exécution amélioré, fréquence de déploiement plus élevée, livrables de meilleure qualité, meilleure culture d'équipe, et collaboration accrue entre les équipes et les départements.
Les équipes DevOps sont généralement composées de personnes possédant des compétences en développement et en exploitation. Certains membres de l'équipe peuvent être plus compétents dans l'écriture de code, tandis que d'autres peuvent l'être dans l'exploitation et la gestion des infrastructures. Cependant, dans les grandes entreprises, tous les aspects de DevOps (de la CI/CD à l'IaaS et l'automatisation) peuvent constituer un rôle. Il peut s'agir d'un responsable des livraisons qui coordonne et gère les apps depuis le développement jusqu'à la production, ou d'architectes de l'automatisation qui gèrent et automatisent le pipeline de CI/CD d'une équipe.
Mais alors, quelles compétences faut-il pour rejoindre une équipe DevOps ? Les exigences professionnelles pour rejoindre une équipe DevOps évoluent en raison des nouvelles technologies et techniques, mais les qualités d'une bonne équipe DevOps restent inchangées. De solides compétences techniques, une bonne communication, un esprit d'équipe et une capacité d'adaptation sont quelques-unes des caractéristiques essentielles d'un expert DevOps chevronné. Cette combinaison de compétences est probablement plus importante qu'une connaissance encyclopédique de Kubernetes ou de Git. Mais ça ne fait pas de mal de posséder les deux !
Autre ingrédient de la réussite ? Un dirigeant désireux de faire l'apologie de DevOps au sein d'une équipe, d'équipes collaboratives et de l'organisation dans son ensemble. Cette personne ne doit pas porter le titre de « manager », mais doit vouloir convaincre les membres sceptiques de combler le fossé entre leur équipe et une équipe externe, qu'il s'agisse d'une équipe de développement, opérationnelle ou de plateforme.
Un logiciel pour soutenir votre équipe
Bien que le travail quotidien d'une équipe conditionne la chaîne d'outils DevOps, vous aurez besoin d'un certain type de logiciel pour combiner et coordonner le travail entre votre équipe et le reste de l'organisation. Jira est un outil puissant qui planifie, suit et gère les projets de développement, tout en tenant vos collaborateurs directs et l'ensemble de l'organisation informés de l'état de votre travail.
Des apps telles que Zoom, Slack et Microsoft Teams sont également nécessaires pour permettre aux équipes de communiquer rapidement et efficacement, en particulier dans un univers axé sur le télétravail. Auparavant, un développeur pouvait s'adresser à l'équipe opérationnelle pour connaître l'état d'un incident. Désormais, les apps de communication virtuelle fournissent la même information de manière instantanée.
Mais n'oubliez pas que les logiciels qui permettent à vos équipes de collaborer constituent un moyen, et non une fin. Si votre organisation souhaite exploiter le plein potentiel de DevOps (transparence, confiance et autonomie), il lui faudra des équipes, et pas seulement des outils.
Partager cet article
Thème suivant
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.