DORA Metrics : Évaluer la performance de livraison logicielle

Écrit par : Maxime Deroullers
31 octobre 2024
Relu par : Paul-Alexandre Chrétien | Emmanuelle Gouvart | Nicolas Zago | Edouard Cattez
Cet article explore les DORA Metrics, également connues sous le nom de « Four Keys », un standard émergent pour évaluer la performance de la livraison logicielle. Ayant eu l'opportunité de mettre en place ces métriques chez un grand acteur du retail — comptant plus de 50 000 projets, 8 000 développeurs et présent sur les 5 continents — je souhaite partager les leçons et recommandations tirées de cette expérience.
Dans cet article, nous nous concentrerons sur les aspects théoriques et fondamentaux des DORA Metrics.
L'objectif est de vous permettre de saisir les concepts essentiels, tandis que les articles suivants détailleront la mise en place pratique, les adaptations nécessaires (car il y a toujours un écart entre théorie et pratique), ainsi que les avantages et les limites que j'ai pu observer dans l'application de ce modèle.
Qu'est-ce que les métriques DORA ?
Les métriques DORA, issues du rapport "Accelerate State of DevOps" de DORA (DevOps Research and Assessment), sont un ensemble de quatre indicateurs clés de performance (KPI) qui permettent d'évaluer de manière objective l'efficacité et la stabilité des processus de développement et de déploiement logiciel d'une organisation.
Examinons chacune de ces métriques en détail :
- Lead Time for Changes (Délai de livraison des changements)
Cette métrique mesure le temps écoulé entre le moment où un changement est codé et le moment où il est déployé en production. Un délai plus court indique une capacité à répondre rapidement aux besoins des utilisateurs, améliorant ainsi l'expérience utilisateur.
- Deployment Frequency (Fréquence de déploiement)
Elle mesure la fréquence à laquelle les changements sont déployés en production. Une fréquence élevée suggère que le déploiement est devenu une opération de routine, ce qui permet une réponse rapide aux besoins des utilisateurs et améliore la boucle de feedback.
- Mean Time to Restore (MTTR) (Temps moyen de restauration)
Le MTTR mesure le temps nécessaire pour restaurer le service après un incident en production. Un MTTR court indique une réactivité élevée et une boucle de feedback courte, ce qui devrait améliorer l'expérience utilisateur.
- Change Failure Rate (Taux d'échec des changements)
Cette métrique mesure le taux de changements qui entraînent un échec ou un incident. Un taux faible implique une bonne compréhension des besoins des utilisateurs et une réponse appropriée, ce qui devrait améliorer l'expérience utilisateur.
Pour calculer les 4 keys, l'équipe DORA a développé une solution sur GitHub. Vous y trouverez les requêtes SQL nécessaires au calcul des métriques. Bien que cette solution soit difficilement applicable telle quelle — car peu adaptée au contexte spécifique de chaque entreprise — elle constitue néanmoins une excellente base théorique pour comprendre le fonctionnement des métriques.
Les niveaux de performance
Les métriques DORA définissent trois niveaux de performance principaux :
- Low
- Medium
- High
Selon les années, un quatrième niveau peut être ajouté : Elite, mais la logique reste la même.
Ces niveaux de performance permettent aux équipes de se positionner par rapport aux meilleures pratiques de l'industrie et d'identifier les domaines d'amélioration potentiels dans leurs processus de développement et de livraison logicielle.
Pour plus de détails sur ces seuils de performance, vous pouvez consulter la documentation DORA officielle.
Pourquoi ces métriques sont-elles importantes ?
En mesurant et en surveillant ces métriques, les équipes de développement obtiennent une vue d'ensemble de leur performance et peuvent identifier des axes d'amélioration. Par exemple, si le délai de livraison des changements est élevé (disons 2 semaines au lieu de plusieurs livraisons par jour pour une performance élevée), l'équipe peut se concentrer sur l'amélioration de ses processus de développement. Si le MTTR est élevé (par exemple, 24 heures au lieu de moins d'une heure pour une performance élevée), l'accent peut être mis sur l'amélioration des processus de réponse aux incidents.
Une approche “Data-Driven”
En utilisant ces métriques, les équipes peuvent prendre des décisions fondées sur des données concrètes plutôt que sur l'intuition. Ces décisions deviennent ainsi objectives et communicables, s'appuyant sur des preuves tangibles plutôt que sur des émotions ou des biais.
De plus, l'utilisation de métriques communes à travers les équipes et les projets facilite le partage d'expériences et l'amélioration continue. En collectant et en analysant ces données, les équipes peuvent mesurer les résultats de leurs efforts d'amélioration continue et partager leurs expériences à travers l'organisation.
Conclusion
Les métriques DORA (Four Keys) offrent un cadre pour évaluer et améliorer la performance de livraison logicielle. Ces quatre indicateurs permettent aux équipes d'être en amélioration continue, de répondre plus efficacement aux besoins des utilisateurs et, en fin de compte, de livrer des logiciels de meilleure qualité, plus rapidement et de manière plus fiable.
Dans un prochain article, nous aborderons l'aspect pratique et verrons qu'il n'est pas si simple de mettre en place les métriques DORA, et surtout de les adapter au contexte métier et organisationnel de l’entreprise.
Cet article vous a inspiré ?
Vous avez des questions ou des défis techniques suite à cet article ? Nos experts sont là pour vous aider à trouver des solutions concrètes à vos problématiques.