5 minutes

Nous voulons tous devenir meilleur. Cela s’applique à notre vie personnelle, ainsi qu’à notre vie professionnelle. En tant que développeurs, nous voulons développer plus rapidement, pour offrir un logiciel toujours plus efficace, sûr et complet aux utilisateurs. Mais comment savoir si l’on devient meilleur ? C’est là que les métriques entre en jeu !

Les métriques en DevOps

Le DevOps est la culture du “continuous everything” et de l’automatisation. Cette culture a été créée pour vous soutenir dans vos processus de développement, et vous permettre de les optimiser. Les métriques interviennent dans cet objectif d’amélioration continue.

En traquant des données sur des entrées spécifiques, vous obtiendrez des retours sur les actions que vous avez implémentées et pourrez mesurer l’impact du travail de votre équipe.

Quelques métriques indispensables aux développements DevOps

Maintenant que nous avons expliqué l’importance de mesurer des données précises sur votre projet, voyons lesquelles sont les plus pertinentes pour vos projets de développement s’appuyant sur les méthodologies DevOps. Ces métriques vous permettront d’améliorer votre activité.

La fréquence de déploiement

La fréquence de déploiement vous permet de traquer le nombre de déploiements sur une période de temps donnée.  En mesurant cette métrique, vous pourrez juger si vous déployer suffisamment de fois pendant votre projet ou non.

En DevOps, lorsque vous suivez les pratiques du CI (Continuous Integration) et de la CD (Continuous Deployment), il est plus facile et plus simple de déployer de petites portions de code. Vous pouvez les tester plus rapidement de cette manière grâce aux tests continus.

La durée de déploiement

La durée de déploiement correspond au temps que vos équipes mettent à déployer une nouvelle feature ou une correction de bug. Cette mesure peut être impactée par les jobs présents dans votre pipeline de CI/CD. Pour la réduire, vous pouvez améliorer votre pipeline. Pour cela, il vous faudra choisir les jobs qui impactent le moins possible sa vitesse d’exécution. Ou bien personnaliser le lancement de certains outils.

Pourcentage de couverture de tests

Nous avons déjà abordé l’impact des tests dans la partie concernant la durée de déploiement. En ajoutant cette métrique, vous pourrez traquer le pourcentage de votre code qui est testé avant d’être publié. Vous vous en doutez, plus ce pourcentage est élevé, le mieux c’est !

Mais faites attention : avoir une couverture de test à 100% ne veut pas dire que vous aurez testé toutes les possibilités et que votre code est sans défaut.

Délai de développement

Cette métrique peut être importante pour votre équipe. Elle permet de mesurer le temps entre le moment où votre équipe émet une idée et le moment où cette idée est accessible aux utilisateurs. 

Avec cette mesure, vous pouvez traquer si votre développement respecte la timeline définie en amont au projet. Vous pourrez également identifier les points bloquants. Cela vous aidera à déterminer où sont les engorgements dans votre projet et comment les réduire !

Le volume de ticket du support

Le nombre de tickets ouverts par vos clients déclarant un dysfonctionnement et le temps mis par votre équipe pour fermer ces tickets sont des bons indicateurs de la qualité de votre produit. Il en va de même pour l’efficacité de votre équipe. Vous verrez en un claquement de doigt si votre produit répond aux besoins de votre cible, ainsi que les améliorations souhaitées par les utilisateurs !

Le Flow Escape Rate – ou le nombre de bugs dans la nature

Le Flow escape rate est un indicateur traquant le nombre de bugs arrivant en production malgré les tests du pipeline de CI/CD. Bien entendu, dans un monde parfait ce taux devrait être égal à zéro. Mais comme ce monde se situe dans un univers parallèle au nôtre,  il faut être capable de traquer ces bugs en liberté dans votre code, et de voir où votre chaîne de tests automatiques n’est pas performante. Une bonne philosophie peut être : un bug peut être manqué une fois. ensuite, votre pipeline doit l’arrêter !

Déploiement échoué 

Je pense que cette métrique ne requiert pas d’explication supplémentaire. Mais laissez moi préciser que tout l’intérêt du DevOps est de surmonter cette problématique ! Son objectif est de faire des déploiements échoués un lointain souvenir. Afin d’être proactif et de réussir tous vos déploiements, il faut tout de même traquer cette mesure pour repérer ceux pouvant échouer et apprendre de nos erreurs.

Temps Moyen Avant Détection – Mean Time To Detection (MTTD)

Cette mesure correspond au temps moyen passé entre le moment où un problème apparait dans votre production et le moment où votre équipe de développement prend conscience de l’existence de ce problème. Autant dire que cette métrique devrait être la plus petite possible !

MTTD, métrique à traquer dans les développements DevOps

Temps moyen de réparation – Mean Time To Recovery (MTTR)

Le temps moyen de réparation (ou MTTR) complète le MTTD (temps moyen de détection). Une fois l’erreur repérée par les équipes de développement, vous pouvez calculer le temps passé pour la corriger ! Cette métrique met en avant l’efficacité de votre organisation pour corriger une erreur.

MTTR, métrique à traquer dans les développements DevOps

Disponibilité de l’application

Cette mesure est également transparente : vous devez être capable de mesurer le temps de disponibilité de votre application. Cela veut dire être capable de dire pendant combien de temps vos utilisateurs ont pu profiter de votre produit sans interruption. Dès que votre produit n’est pas disponible, cette métrique retombe à zéro.

Utilisation de votre produit, trafic et performance

Pour mesurer si votre produit répond aux besoins de votre cible, il vous faut mesurer l’utilisation de votre application (ou logiciel). Grafana, combiné avec ElasticSearch, vous permettra de voir combien de personnes utilisent votre produit et pendant combien de temps.

Concernant le trafic et la performance de votre application, vous devez être sûr que votre produit peut répondre aux requêtes utilisateurs, et assurer sa disponibilité.

Traquer des métriques, pour quoi faire ?

Mesurer les données de votre projet aidera votre projet et votre équipe de développement à d’améliorer dans de nombreux domaines. Comment pouvez-vous affirmer que votre time to market a diminué si vous ne le mesurez pas de semaine en semaine ? Spoiler alerte, vous ne pouvez pas (sauf si vous êtes un devin).

C’est pourquoi traquer vos métriques est si important : cela vous aidera à prendre des décisions éclairées, basées sur la donnée et non pas sur vos ressentis. Et ce conseil vaut pour tout type de projet, pas seulement les développements !

Mesurez ce qui est important pour vous

Avant de définir les métriques que vous souhaitez traquer, vous devez décider quel est votre objectif. voulez-vous améliorer votre Time-to-market ? Souhaitez-vous renforcer l’expérience utilisateur en regardant le nombre de tickets ouverts et le temps de résolution ?

Il n’y a pas de bonne réponse à cette question. C’est à vous de décider, avec votre équipe, sur quels éléments vous souhaitez concentrer vos efforts et par conséquent les métriques qui sont importantes pour vous. Il est plus simple de suivre des métriques en ayant un objectif précis. Bien entendu, si vous souhaitez vous améliorer sur plusieurs points vous pouvez créer plusieurs systèmes de tracking.

Regardez et partagez les résultats de vos efforts

En plus d’aider votre équipe à s’améliorer, en suivant l’évolution de vos principaux chiffres projet, vous pouvez mettre l’accent sur les succès de vos équipes et leurs accomplissements ! Il est important de mettre en avant ces victoires et de féliciter vos équipes pour les efforts fournis pour développer votre produit en un temps record.

Par où commencer ?

La première étape pour récolter vos métriques DevOps est donc de vous fixer un objectif. Vous pouvez planifier une réunion avec vos équipes pour voir avec elles ce qu’il est possible de faire, et sur quels éléments vous souhaitez vous améliorer. Ce sera également le moment pour définir qui sera en charge du tracking et de la mesure des progrès !