Présentation
Les indicateurs de mesure des performances DevOps permettent de suivre l'efficacité du modèle DevOps, c'est-à-dire de pratiques qui allient développement de logiciels et exploitation informatique. Conçues pour améliorer les délais, la fiabilité et la stabilité de la distribution des logiciels, ces pratiques privilégient les outils en libre-service, l'automatisation et la communication, en ciblant avant tout la productivité et la satisfaction des équipes de développement.
Les entreprises qui investissent dans le DevOps ont besoin d'un ensemble cohérent d'indicateurs de mesure pour suivre leurs progrès. L'approche adoptée dépend des priorités de chacune : la distribution des logiciels ou la satisfaction des équipes. Cet article présente les deux principaux frameworks de mesure les plus utilisés : DORA (axé sur les logiciels) et SPACE (axé sur les équipes).
Comparaison des frameworks DORA et SPACE
L'amélioration continue est au cœur de la culture DevOps. Il est essentiel de bien choisir les axes d'amélioration et la façon de mesurer les progrès. Les frameworks DORA et SPACE sont les plus utilisés pour mesurer les performances DevOps.
Puisque l'objectif principal du modèle DevOps est d'accélérer la distribution des logiciels, certaines entreprises décident de concentrer leurs mesures sur cet aspect. Dans ce cas, les indicateurs du framework DORA (DevOps Research and Assessment) seront adaptés.
Le DevOps ne vise toutefois pas uniquement à augmenter la production de logiciels. Certaines entreprises préfèrent donner la priorité à la satisfaction et à la collaboration des équipes. C'est ce que mesurent les indicateurs du framework SPACE (Satisfaction, Performance, Activity, Communication and collaboration, and Efficiency), axés sur les ressources humaines.
Ces deux approches de mesure des performances DevOps reflètent des priorités qui, tout en étant différentes, ne sont pas incompatibles. Il est possible de les combiner pour mesurer divers aspects des objectifs DevOps.
DORA
Le framework DORA tire son nom du programme de recherche DORA créé par Google Cloud. En 2020, ce programme a établi quatre indicateurs clés ou « Four Keys » pour mesurer les performances d'une équipe de développement logiciel :
- Fréquence de déploiement : rythme auquel une entreprise parvient à lancer des logiciels en production. Une fois que l'équipe a défini les critères de réussite d'un déploiement, elle peut réaliser différents calculs, comme le nombre médian de jours par semaine qui sont marqués par au moins un déploiement réussi.
- Délai de mise en œuvre des changements : temps nécessaire pour faire passer une validation de code en production. L'indicateur prend en compte le moment où le projet a été créé et celui où il a été déployé.
- Taux d'échec des changements : pourcentage de déploiements qui se soldent par un échec en production. Pour le calculer, il faut connaître le nombre de déploiements réalisés et le nombre de bogues ou d'incidents signalés, par exemple au moyen d'un système de gestion des problèmes.
- Délai de rétablissement des services : temps nécessaire pour la récupération après un échec en production. Pour chaque incident, l'indicateur s'appuie sur les dates de création et de résolution, qui peuvent être récupérées dans un système de gestion des incidents.
En 2021, un cinquième indicateur clé a été ajouté :
- Fiabilité : niveau de disponibilité, de latence, de performance et d'évolutivité. Le framework DORA mesure la capacité d'une entreprise à atteindre ou dépasser ses objectifs de fiabilité.
Ces recherches et ces indicateurs de mesure visent à améliorer les résultats métier. Les équipes peuvent suivre les performances des logiciels en alimentant un tableau de bord avec les données issues de leurs pipelines logiciels et en surveillant les progrès au fil du temps. Le framework DORA permet également de classer les équipes dans quatre catégories de performances (élite, élevée, moyenne ou faible) en fonction du niveau de chaque indicateur.
Le framework DORA a l'avantage de s'appuyer sur des mesures directement disponibles dans les outils déjà utilisés dans l'entreprise, tels que GitHub, GitLab et les systèmes de gestion des incidents. Même s'il faut les extraire pour alimenter des tableaux de bord, ces données existent déjà.
SPACE
Les indicateurs de mesure des performances DevOps regroupés dans le framework SPACE couvrent différents aspects de la productivité. D'après l'équipe de recherche qui a présenté ce framework dans un article rédigé en 2021, le travail d'ingénierie est multidimensionnel et trop complexe pour être résumé par un seul indicateur. Le développement logiciel fonctionne par compromis, et les équipes ont besoin d'une approche globale qui tient compte des nombreuses facettes de leur travail.
Le framework SPACE s'intéresse à cinq aspects distincts :
- Satisfaction et bien-être : ressenti des équipes de développement vis-à-vis de leur travail, état de santé et degré d'épanouissement. Ces données peuvent être recueillies via des enquêtes sur la satisfaction des employés, sur l'accès aux outils et ressources nécessaires, ainsi que sur le niveau d'épuisement causé par le stress au travail.
- Performances : résultats concrets d'un système ou d'un processus (indépendamment du volume produit), au-delà de la quantité de code rédigé ou des répercussions commerciales. La mesure des performances se base sur la qualité (par exemple la fiabilité du code ou l'intégrité continue du service) et l'incidence (comme la satisfaction client ou l'adoption et la fidélisation des clients).
- Activité : actions entreprises dans le cadre du travail ou les résultats concrets qui ont été obtenus. Plusieurs mesures permettent d'évaluer le niveau d'activité d'une équipe de développement, notamment le volume de validations de code ou de lancements. Le framework SPACE préconise de les combiner.
- Communication et collaboration : manière dont les individus et les équipes partagent des informations et travaillent ensemble. Plusieurs indicateurs aident à mesurer la communication, la collaboration et la coordination, notamment l'accès à la documentation et aux compétences techniques, la vitesse d'intégration du travail, la qualité des évaluations professionnelles, les données réseau affichant les utilisateurs connectés, ou encore le délai d'intégration des nouveaux membres.
- Efficacité et cadence : capacité à accomplir une tâche ou à avancer sans subir d'interruptions ou de délais gênants. Les indicateurs SPACE pour mesurer l'efficacité et la cadence incluent le nombre de transferts dans un processus, la capacité estimée à garder le rythme et à terminer une tâche, les interruptions, ainsi que les délais calculés par un système.
Il est possible de mesurer et suivre chaque indicateur SPACE au niveau d'un utilisateur, d'une équipe ou d'un système.
Le framework SPACE cherche à élargir la vision du DevOps au sein des équipes, en privilégiant la mesure de la productivité au sens large plutôt que du volume de logiciels livrés. Il implique de créer des enquêtes et d'autres processus pour obtenir des données qui n'existent pas encore, comme le niveau de satisfaction des équipes de développement.
Éléments à prendre en compte pour choisir un framework de mesure des performances DevOps
Les indicateurs de mesure des performances DevOps utilisés doivent refléter les priorités de l'entreprise et s'appuyer sur des données qui peuvent réellement être mesurées. Certains peuvent s'appuyer sur les résultats obtenus, tels que la rapidité de la distribution et la qualité des logiciels, comme dans le framework DORA. Ou ils peuvent prendre en compte les compromis difficiles que font les équipes de développement pour augmenter leur productivité, comme dans le framework SPACE.
Voici trois questions qui aident à choisir les facteurs à mesurer :
- Quels sont les objectifs de l'entreprise ? Si certaines privilégient la rapidité, la fiabilité et la résilience, d'autres vont plutôt s'intéresser à l'expérience de développement globale, c'est-à-dire à la satisfaction des équipes, à la facilité de collaboration et à l'efficacité.
- Quelles données est-il possible de recueillir ? S'il est possible de récupérer des données sur les changements apportés aux logiciels à partir des pipelines de CI/CD (intégration et déploiement continus), il peut s'avérer nécessaire de recourir à des enquêtes pour recueillir des données qualitatives.
- Les systèmes d'automatisation et de communication fonctionnent-ils correctement ? Pour bien mesurer les performances DevOps, il est nécessaire d'avoir une bonne visibilité sur les goulets d'étranglement, sur la communication entre les différentes équipes et sur les processus décisionnels. Le bon fonctionnement des systèmes DevOps est un prérequis pour obtenir des données fiables sur les facteurs à mesurer.
Indicateurs de mesure des performances DevOps et ingénierie de plateforme
Les workflows DevOps dépendent de plateformes et d'outils internes qui fonctionnent grâce à l'ingénierie de plateforme. Certains indicateurs qui évaluent les performances DevOps proviennent d'outils d'ingénierie de plateforme. La mesure des performances DevOps couvre également l'expérience de développement.
L'ingénierie de plateforme vise à améliorer l'expérience des équipes de développement en allégeant leur charge de travail. Cette approche consiste notamment à fournir une plateforme de développement interne qui met à disposition des fonctionnalités et outils courants et réutilisables pour le développement. Les équipes d'ingénierie de plateforme sont chargées de concevoir et d'assurer le bon fonctionnement des modèles de référence, c'est-à-dire des méthodes documentées et recommandées pour développer et déployer des logiciels conformes aux normes de l'entreprise.
Les choix qui façonnent la plateforme de développement interne, les modèles de référence et d'autres artéfacts associés sont directement liés aux indicateurs de mesure des performances DevOps. En parallèle des processus qui renforcent l'efficacité des pratiques DevOps, l'entreprise doit définir ses priorités et ce qu'elle peut réellement mesurer. Par exemple, un pipeline de CI/CD représente une excellente source de visibilité sur les validations de code et les lancements de logiciels.
Nos solutions
Chez Red Hat, nous proposons des plateformes, des outils et des services de consulting pour aider à mesurer la productivité liée aux pratiques DevOps.
Red Hat OpenShift
La plateforme sur laquelle les applications s'exécutent joue un rôle essentiel dans l'efficacité de la stratégie de mesure des performances DevOps. La solution Red Hat® OpenShift® fournit une plateforme cohérente pour les environnements cloud, sur site et d'edge computing. Grâce aux opérateurs Red Hat OpenShift GitOps et Red Hat OpenShift Pipelines, elle prend en charge les workflows de CI/CD. Les fonctionnalités d'observabilité de Red Hat OpenShift offrent également un aperçu des performances et de l'intégrité des applications.
Red Hat Advanced Developer Suite
Tout comme le modèle DevOps, la solution Red Hat Advanced Developer Suite vise à améliorer la productivité en complétant les fonctionnalités de Red Hat OpenShift avec des composants essentiels qui vont accélérer le travail de développement, renforcer la sécurité de la chaîne d'approvisionnement des logiciels et faciliter l'intégration de l'IA.
Red Hat Developer Hub
Le portail de développement interne Red Hat Developer Hub est inclus dans Red Hat Advanced Developer Suite. Il rassemble les outils et services de développement (catalogues de services, documentation, pipelines de CI/CD, etc.) dans une seule interface facile à utiliser, avec à la clé une amélioration considérable de l'expérience de développement et de la productivité de l'entreprise.
Services de consulting Red Hat
Notre équipe de consulting se compose de spécialistes des technologies qui peuvent collaborer avec les entreprises pour optimiser leurs programmes DevOps. Nos consultants aident les clients à comprendre et mesurer les workflows, notamment via des modèles de service et la cartographie des processus basée sur des indicateurs de mesure.
État de l'ingénierie de plateforme à l'ère de l'IA
Cette présentation détaillée offre une analyse complète de l'enquête « État de l'ingénierie de plateforme à l'ère de l'IA », menée par Illuminas. Découvrez la présentation détaillée.