LE GUIDE ULTIME

DORA Metrics - Métriques DORA

Que sont les métriques DORA et pourquoi en avons-nous besoin ? Découvrez comment mesurer et améliorer les performances DevOps en lien avec le Value Stream Management

Introduction

La transformation numérique a transformé chaque entreprise en entreprise de logiciels, quel que soit son secteur d’activité. Les entreprises sont contraintes de réagir plus rapidement à l’évolution constante des besoins des clients, mais elles doivent aussi leur fournir des services stables. Afin de répondre à ces besoins, les équipes DevOps doivent constamment s’améliorer.

Les métriques DORA et Flow Metrics (les indicateurs de flux) répondent à ce besoin en fournissant des données objectives afin de mesurer la performance des équipes responsables de la livraison de logiciels et de favoriser l’amélioration des produits.

Ce document vous expliquera ces métriques en détail et comment celles-ci peuvent vous aider dans vos efforts de value stream management.

 

Que sont les métriques DORA ?

Les métriques DORA (DORA Metrics) sont utilisées par les équipes DevOps pour mesurer leurs performances et déterminer s’ils sont de bons ou de mauvais performeurs. Les quatre métriques utilisées sont la fréquence de déploiement (DF), le délai d’exécution des changements (LT), le temps moyen de récupération (MTTR) et le taux d’échec des changements (CFR).

Métrique Explication
Fréquence de déploiement (Deployment Frequency) Il sagit de la fréquence des mises en production réussies de logiciels.
Délai d’exécution des changements (Lead Time for Changes)  Calcule le temps entre la réception de la demande d’un changement de code et son passage à un état déployable.
Temps moyen de récupération (Mean Time To Recover) Mesure le temps qui sécoule entre une interruption due à un déploiement ou à une défaillance du système et le rétablissement complet de la situation.
Taux d’échec des changements (Change Failure Rate) Indique la fréquence à laquelle les modifications ou les correctifs apportés par une équipe entraînent des défaillances ou des pannes après le déploiement du code.

L’acronyme DORA signifie "The DevOps Research and Assessment Team". Dans le cadre dun programme de sept ans, ce groupe de recherche de Google a analysé les pratiques et les capacités DevOps et a pu identifier quatre paramètres clés pour mesurer les performances en matière de développement et de livraison de logiciels.

Cela a révolutionné le mode de fonctionnement des équipes DevOps, car ces métriques permettent dobtenir plus de visibilité et fournissent des données réelles qui peuvent servir de point de départ pour des améliorations et des prises de décisions.

Afin détablir ce guide DevOps utile, le groupe de recherche de Google a analysé les données de plus de 32 000 professionnels du domaine dans le monde. En plus dun rapport officiel sur le DevOps, le groupe a également publié un livre blanc sur le retour sur investissement de la transformation DevOps ainsi que le livre intitulé « Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations », co-écrit par la chef d’équipe DORA Nicole Forsgren.

La section suivante se penche plus en détail sur les quatre métriques DORA et leur utilité pour la gestion de la chaîne de valeur.

POSTER GRATUIT

17 métriques pour développer de meilleurs logiciels

Découvrez les principales métriques essentielles qui aident les équipes DevOps, les CTO, les responsables de produit et les ingénieurs à améliorer lefficacité de lingénierie et à développer de meilleurs logiciels.

Obtenir une copie gratuite
17 essential metrics to help build software.

Fréquence de déploiement

Comme son nom le suggère, la Deployment Frequency (fréquence de déploiement) désigne la fréquence des mises en production réussies des logiciels. En dautres termes, cette métrique mesure la fréquence à laquelle une entreprise déploie le code pour une application donnée.

Cet indicateur, qui se base sur le nombre total de déploiements par jour, a été développé à partir de concepts de fabrication qui mesurent et contrôlent la taille des lots de stocks quune entreprise livre.

Naturellement, les entreprises les plus prospères ont tendance à effectuer des livraisons plus petites et beaucoup plus fréquentes ; ou, dans le monde de DevOps, des déploiements plus fréquents, mais plus petits.

En général, un déploiement par semaine est la norme, tandis quune entreprise performante peut atteindre jusquà sept déploiements par jour. Bien entendu, le nombre standard de déploiements varie d’un produit à l’autre.

Par exemple, les applications qui demandent aux utilisateurs de télécharger la dernière Mise à jour sortent généralement une ou deux versions par trimestre tout au plus, alors quune solution SaaS peut être déployée plusieurs fois par jour.

Question Très bon performeur Bon performeur Performeur moyen Mauvais performeur
À quelle fréquence votre organisation déploie-t-elle du code en production ou le met-elle à la disposition des utilisateurs finaux ? Sur demande (plusieurs déploiements par jour) Entre une fois par jour et une fois par semaine Entre une fois par semaine et une fois par mois Entre une fois par mois et une fois tous les six mois

Source: 2019 Accelerate State of DevOps, Google

Lorsque les équipes DevOps se rendent compte quelles font partie dune catégorie peu performante, elles peuvent mettre en place des processus plus automatisés pour tester et valider le nouveau code, ainsi que réduire le délai entre la rectification des erreurs et la livraison du code modifié.

 

Délai d’exécution des changements

Cette métrique mesure le temps qui sécoule avant que le code validé natteigne la production. Alors que la fréquence de déploiement mesure la cadence de publication du nouveau code, le Lead Time for Changes (délai dexécution des changements) mesure la rapidité de la livraison des logiciels. Il sert à mieux comprendre la durée de cycle DevOps et à savoir comment une augmentation des demandes est gérée. Plus le délai dexécution des modifications est court, plus léquipe DevOps est efficace pour déployer le code.

Pour mesurer les délais d’exécution des changements, deux données (ou horodatages) sont nécessaires : lheure exacte de la réception de la demande et lheure exacte du déploiement, soit la durée entre début et fin de produit. Le temps moyen est ensuite utilisé comme indicateur de la performance globale.

Question Très bon performeur Bon performeur Performeur moyen Mauvais performeur
Combien de temps faut-il pour passer dun code validé à un code fonctionnant avec succès en production ? Moins d’une journée Entre un jour et une semaine Entre une semaine et un mois Entre un mois et six mois

Source: 2019 Accelerate State of DevOps, Google

Si lon constate que les délais d’exécution des changements sont longs, les équipes DevOps peuvent mettre en place des processus de déploiement et dexamen plus automatisés et diviser les produits et les fonctionnalités en unités beaucoup plus compactes et faciles à gérer.

 

Temps moyen de récupération

Le Mean Time to Recover (temps moyen de récupération) mesure le temps quil faut à un service pour rebondir après un échec. Peu importe les performances de léquipe DevOps, des pannes ou des incidents imprévus peuvent survenir. Et comme les défaillances ne peuvent être évitées, cest le temps nécessaire pour restaurer ou récupérer un système ou une application qui fait la différence.

Si une entreprise dispose dun temps de récupération court, les dirigeants se sentent généralement plus à laise pour expérimenter et innover. En retour, cela crée un avantage concurrentiel et améliore les revenus de lentreprise.

Cet indicateur est important dans le sens où il incite les ingénieurs à développer des systèmes plus robustes. Il est généralement calculé en suivant le temps moyen entre le signalement d’un bogue et le moment où la correction du bogue est déployée.

Question Très bon performeur Bon performeur Performeur moyen Mauvais performeur
Combien de temps faut-il pour rétablir le service après un incident de service ou un défaut ayant un impact sur les utilisateurs ? Moins d’une heure Moins de 24 heures Moins de 24 heures Entre une semaine et un mois

Source: 2019 Accelerate State of DevOps, Google

Afin daméliorer leurs performances en matière de temps moyen de récupération, les équipes DevOps doivent pratiquer une surveillance continue et donner la priorité à la récupération lorsquune défaillance se produit. Il est également utile détablir un plan daction pour réagir immédiatement à toute défaillance.

 

Taux d’échec des changements

Cette métrique mesure le pourcentage de changements qui ont été apportés à un code et qui ont ensuite entraîné des incidents, des retours en arrière ou tout autre type déchec de production. Ainsi, le Change Failure Rate (taux d’échec des changements) est un véritable indicateur de la qualité et de la stabilité alors que les métriques précédentes, la fréquence de déploiement et le délai d’exécution des changements, n’indiquent pas la qualité du logiciel, mais juste son rythme de livraison. Selon le rapport DORA, les plus performants se situent entre 0 et 15 %.

Le taux d’échec des changements est calculé en comptant le nombre d’échecs de déploiement et en le divisant par le nombre total de déploiements. Lorsquil fait l’objet d’un suivi régulier, cet indicateur donne une idée assez précise du temps consacré à la correction des erreurs et des bogues par rapport à la livraison dun nouveau code. Il va sans dire quune équipe DevOps doit toujours sefforcer dobtenir la moyenne la plus basse possible.

Question Très bon performeur Bon performeur Performeur moyen Mauvais performeur
Quel est le pourcentage de modifications apportées au code entraînent une dégradation du service ? 0-15% 0-15% 0-15% 46-60%

Source: 2019 Accelerate State of DevOps, Google

Afin de réduire les taux déchec élevés, les équipes doivent réduire les échecs de déploiement et les pertes de temps dues aux retards.

Les avantages du suivi des métriques DORA

Pourquoi toutes les équipes DevOps devraient utiliser les métriques DORA ? La réponse est assez simple : en l’absence de données permettant de mesurer les performances, il est difficile, voire impossible, dapporter des améliorations.

Les métriques DORA décomposent les processus abstraits de développement et de livraison de logiciels pour les rendre plus tangibles et visibles, afin que les responsables de lingénierie puissent prendre des mesures pour simplifier les processus et accroître la valeur des logiciels.

Voici un aperçu des avantages les plus convaincants des métriques DORA.

Prise de décision

Les entreprises qui rationalisent leur processus de développement et de livraison augmentent la valeur des logiciels et sont plus performantes à long terme. Le suivi des performances à laide des métriques DORA permet aux équipes DevOps détablir des tendances qui permettent de prendre décisions éclairées qui vont dans le bon sens.

Création de valeur ajoutée

Ces dernières années, le  Value Stream Management est devenu un élément important du développement des logiciels. Dans ce contexte, les métriques DORA jouent un rôle important car elles montrent quel type de valeur est fourni au client et quel niveau de performance est nécessaire pour atteindre les résultats métier souhaités. Ainsi, lorsque les équipes DevOps utilisent les métriques DORA, elles constatent généralement une augmentation de la valeur ajoutée au fil du temps.

Cycle vertueux

Lorsque les performances sont mesurées, il y a de fortes chances quelles soient manipulées. Autrement dit, les personnes qui se sentent responsables dun indicateur donné vont adapter leur comportement pour améliorer cet indicateur de leur côté. Bien que cela puisse avoir un effet de distorsion dans dautres contextes, cest en fait leffet recherché du DevOps, il permet de mettre fin aux processus inefficaces et de réduire les gaspillages.

WEBINAIRE

Apporter de l’ordre et de la clarté à vos microservices complexes

Obtenez des informations pour comprendre comment donner des moyens aux équipes autonomes tout en soutenant la gouvernance et encourager le développement rapide de logiciels en automatisant la détection et le catalogage des microservices.

Regarder maintenant
Events_Cover Image for Recording_The Open Group Webinar_042021

Principaux défis des métriques DORA

Si les métriques DORA constituent un excellent moyen pour les équipes DevOps de mesurer et daméliorer les performances, leur utilisation n’est pas aussi simple en pratique. Pour la plupart des entreprises, les quatre métriques ne sont quun point de départ et doivent être adaptées au contexte de chaque application plutôt quà celui de léquipe ou de lorganisation.

Voici quatre défis rencontrés lors de l’utilisation des métriques DORA :

  • Environnement et données décentralisés : les données sont dispersées dans différentes sources à travers l’environnement informatique.
  • Extraction des données : les données sont uniquement disponibles au format brut.
  • Transformation des données : les données doivent être transformées et combinées en unités calculables.
  • Vitesse vs. Stabilité : les différentes métriques doivent être replacées dans leur contexte. Un haut taux d’échec des changements peut indiquer qu’il y a un mauvais contrôle de qualité alors qu’une fréquence de déploiement élevée ne témoigne en rien de la qualité du code ou du produit.

 

Métriques DORA et Value Stream Management

Nous avons déjà mentionné les métriques DORA et leur importance pour le Value Stream Management. De nos jours, de plus en plus d’entreprises n’utilisent pas seulement les métriques DORA pour rationaliser et optimiser le développement et la livraison de logiciels, mais aussi la gestion de la chaîne de valeur pour bénéficier d’une visibilité de bout en bout sur lensemble du processus de production.

En contrôlant chaque étape (cest-à-dire de la demande du client à la livraison du produit) à l’aide de la plateforme de gestion de la chaîne de valeur appropriée, telle que LeanIX VSM, cette technique de gestion permet de sassurer que la valeur totale du logiciel est livrée au client de la manière la plus efficace possible.

 

Conclusion

À ce jour, DORA est le meilleur moyen de visualiser et de mesurer les performances des équipes dingénieurs et DevOps. Cependant, les entreprises ne doivent pas sarrêter là. Afin de libérer toute la valeur que le logiciel peut apporter au client, les métriques DORA doivent s’inscrire dans le cadre plus large du Value Stream Management.

En reliant les catalogues de services, la planification agile et les plateformes de livraison par une plateforme telle que la solution LeanIX Value Stream Management, toute entreprise développant des logiciels bénéficiera d’une vue d’ensemble lui permettant de réduire les inefficacités et de simplifier le développement et la livraison de logiciels.

Free trial

Build Reliable Digital Products Faster

Connect teams, technology, and processes for efficient software delivery with LeanIX Value Stream Management solution.

Free 14-Day Trial
VSM_header_mobile_edited (1)
Poster gratuit

Créez de meilleurs logiciels à l'aide de 17 métriques

Découvrez les métriques essentielles qui aident les DevOps, les CTO, les chefs de produit et les responsables de l'ingénierie à améliorer l'efficacité de l'ingénierie.

Cliquez pour visualiser les 17 métriques

Améliorez l'efficacité de l'ingénierie avec 17 métriques pour les DevOps, les CTO et les chefs de produit.
check icon

Que sont les métriques « crawl », « walk », et « run » ?

check icon

Comment les mesurer ?

check icon

Quelles sont les sources permettant de suivre ces métriques ?

check icon

Quel est l’impact potentiel de chaque métrique ?

Réponses aux questions fréquemment posées sur les métriques DORA

Que sont les métriques DORA ?

Les métriques DORA (DORA Metrics) sont utilisées par les équipes DevOps pour mesurer leurs performances et déterminer s'ils sont de bons ou de mauvais performeurs. Les quatre métriques utilisées sont la fréquence de déploiement (DF), le délai d'exécution des changements (LT), le temps moyen de récupération (MTTR) et le taux d'échec des changements (CFR).

Qu’est-ce que la fréquence de déploiement ?

La Deployment Frequency (fréquence de déploiement) désigne la fréquence des mises en production réussies des logiciels. En d'autres termes, il mesure la fréquence à laquelle une entreprise déploie le code pour une application donnée.

Qu’est-ce que le délai d’exécution des changements ?

Le Lead Time for Changes (délai d'exécution des changements) mesure la rapidité de livraison des logiciels. Il sert à mieux comprendre la durée de cycle DevOps et à savoir comment une augmentation des demandes est gérée.

Afin de mesurer les délais d'exécution des changements, deux données (ou horodatages) sont nécessaires : l'heure exacte de réception de la demande et l'heure exacte du déploiement, soit la durée entre le début et la fin d'un produit. Le délai moyen est ensuite utilisé comme indicateur de la performance globale.

Qu’est-ce que le taux d’échec des changements ?

Le Change Failure Rate (taux d'échec des changements) est une véritable mesure de la qualité et de la stabilité de la livraison des logiciels. Il désigne le pourcentage de modifications apportées à un code qui ont ensuite entraîné des incidents, des retours en arrière ou tout autre type d'échec de production. 

Il est calculé en comptant le nombre d'échecs de déploiement et en le divisant par le nombre total de déploiements.

Qu’est-ce que le temps moyen de récupération ?

Le Mean Time to Recover (temps moyen de récupération) mesure le temps qu'il faut à un service pour rebondir après une défaillance. Il est calculé en suivant le délai moyen entre un rapport de bogue et le moment où le correctif est déployé.

FR-17-Metrics-Poster-Resource-Page-Thumbnail

Poster gratuit

Créez de meilleurs logiciels à l'aide de 17 métriques

Télécharger