12 indicateurs afin de mesurer vos processus DevOps

  • facebook
  • linkedin
12 indicateurs afin de mesurer vos processus DevOps

Comprendre le terme DevOps, adopter la philosophie et les outils DevOps, voire embaucher un ingénieur DevOps, c’est déjà génial. Cela permet de gagner en productivité et surtout en rapidité et capacité de répondre aux demandes du marché. Il faut cependant fournir un autre effort et pas des moindres : utiliser des indicateurs pour mesurer le processus DevOps à destination des développeurs et des administrateurs systèmes. Il en existe une très grande quantité en fonction des projets et des environnements de travail, mais nous en avons réuni 12 pour vous. Découvrez-les, puis apprenez à déjouer les pièges des visuels imparfaits.

Les indicateurs DevOps à surveiller

1. La vitesse de mise en production

Temps de réaction face au marché (time to market et délai d’exécution)

Les premiers indicateurs pour mesurer vos processus de développement consistent à mesurer le temps nécessaire pour développer un logiciel ou un service avant de le proposer sur le marché : le time to market (TTM) et le délai d’exécution. Ils permettent de mesurer l’efficacité de la méthodologie de travail collaboratif entre les équipes de développement, marketing et d’opérations.

Pour une meilleure réactivité face aux demandes du marché, plusieurs méthodes de déploiement ont été créées : méthodes agiles, scrum master, GitOps, mouvement DevOps, lean, cycle en V, etc. Elles sont la plupart du temps complémentaires et permettent une optimisation de la productivité, de la créativité et de la flexibilité.

Le TTM et le délai d’exécution sont deux indicateurs doublement importants, car un temps de réaction trop long peut avoir deux conséquences majeures :

  • Une prise de retard sur la concurrence. Cela peut entraîner un manque à gagner important, voire des pertes de part de marché.
  • Une réponse à la demande inadaptée du fait du retard. Par exemple, mettre trop de temps pour développer un modèle de machine learning peut engendrer un retard vis-à-vis de la concurrence.

Temps de déploiement et temps de livraison

Ces indicateurs servent à chiffrer le temps nécessaire entre la production et la livraison d’un nouveau produit ou d’une modification de code. Le temps de déploiement fait évidemment écho au time to market et au délai d’exécution.

Si une application met trop de temps à se déployer, l’administrer peut devenir chaotique. Aussi, suivre ce KPI permet de déceler les potentiels erreurs et bugs de développement d’applications.

L’une des meilleures réponses pour réduire le temps de déploiement et l’accumulation d’erreurs est de déployer plus fréquemment en utilisant, notamment, des pratiques agiles telles que GitOps basée sur l’applicatif Git.

Fréquence de déploiement (change frequency) et délai de livraison

En adoptant la culture DevOps et les pipelines CI-CD (intégration continue et livraison continue), la logique voudrait que vous augmentiez la fréquence de déploiement. Mais est-ce réellement le cas et la fréquence est-elle la bonne ? L’indicateur fréquence de déploiement permet de prendre la mesure de la typologie du déploiement. C’est important, car un déploiement trop peu fréquent conduit presque automatiquement à une accumulation d’erreurs, mais aussi à un temps de réaction trop court. Inversement, une fréquence de déploiement élevé entraîne une diminution des incidents.

Notez que ce KPI peut aussi s’appliquer aux environnements de test ou de préproduction. Ceux-ci sont également très importants. En augmentant la fréquence de déploiement, votre produit connaîtra un taux de fuite des bugs plus bas, il sera plus facile d’effectuer des rollback et les délais de livraison (autre KPI important) seront plus courts. Ces chiffres vous permettront, entre autres, de prédire le temps nécessaire à la production d’une nouvelle application mobile, web ou informatique.

Taux de réussite des déploiements

Cet indicateur a pour vocation de comparer les différents déploiements et, surtout, l’impact des pratiques DevOps. En gagnant en expérience professionnelle dans la collaboration des équipes agiles, vous devriez constater une augmentation du taux de réussite des déploiements. Ce qui signifie une augmentation de la productivité.

  1. La réussite commerciale

Tickets clients et satisfaction de l’utilisateur ou client

Les utilisateurs et les clients peuvent faire des retours : les tickets clients. Leur quantité peut être synonyme de nombreux problèmes, mais aussi, soyons positifs, d’un intérêt certain de la part de vos clients. En tout cas, les tickets clients vous permettent de répondre à leurs requêtes pour une amélioration continue de votre produit. Et cela conduit à une meilleure satisfaction client.

Utilisation de l’application (feature usage)

Mesurer l’utilisation de l’application permet d’estimer la réussite commerciale de votre produit, mais surtout de déceler les parties de votre application peu utilisées, voire pas du tout. Cet indicateur est important, car il vous permettra de faire preuve d’agilité en dirigeant vos ressources vers les services les plus utilisés de votre application web ou mobile. En d’autres termes, ce KPI vous aide à vous concentrer sur les fonctionnalités les plus rentables.

Cet indicateur peut prendre la forme de chiffres : nombre de connexions, volumes de transaction, etc.

Répercussions commerciales (Release impact)

Plusieurs indicateurs peuvent permettre d’estimer les répercussions commerciales de votre application : chiffre d’affaires, nombre de visites, durée des visites, consommation de la mémoire, etc. Le cloud computing est une aide précieuse dans ce domaine.

En croisant ces indicateurs avec d’autres, comme la fréquence de déploiement, vous pourrez déterminer quelle évolution ou modification a fait varier les répercussions commerciales. Une aide incroyable pour l’élaboration de nouvelles fonctionnalités.

  1. La qualité du logiciel ou de la fonctionnalité

Temps moyen entre les échecs et les déploiements ratés

Rien de mieux que le temps moyen entre les échecs pour se rendre compte de la stabilité et de la qualité d’une plateforme, d’un composant ou d’un système informatique entier. L’étude des échecs et des déploiements ratés permet de s’améliorer.

Plusieurs autres indicateurs sont nécessaires pour mesurer la qualité d’un logiciel et prévoir le temps et les ressources indispensables pour optimiser l’ensemble du développement logiciel et de son déploiement.

Durée et fréquence de remontée des bugs (taux de fuite des bugs)

La qualité du code peut, entre autres, se mesurer à la fréquence des bugs. Cela peut paraître contre nature, mais une fréquence importante de remontée de bugs est un signe de qualité finale. En effet, plus vite les incidents et erreurs de code sont remontés, plus vite ils sont résolus. Le produit en ressort plus efficace.

Le taux de fuite des bugs est donc un autre indicateur important. C’est aussi un très bon moyen pour détecter et analyser les pistes d’amélioration dans le cycle de vie des applications.

Dette technique

En démarrant un nouveau projet (projet web ou projet informatique en général), on rêve souvent de partir d’une feuille blanche et de faire attention à la moindre erreur. Déjà, c’est difficile, mais ça l’est encore plus quand on sait que plusieurs projets informatiques se basent sur de l’existant. Or, le code-source peut contenir plusieurs défauts. Mesurer la dette technique permet de mesurer l’état de l’architecture informatique et les actions correctives à mettre en place durant les itérations.

Temps moyen de détection des erreurs et délai moyen de correction des erreurs

Mesurer la rapidité de détection et de correction des incidents est important, car il permet de faire des prédictions sur les prochains projets de développement d’application.

Il existe plusieurs indicateurs permettant la mesure de la performance d’un système et de ses process : TTR (temps de correction), TTD (temps de diagnostic), TTR (temps de rollback).

Disponibilité de la fonctionnalité ou du système

Avec le temps moyen entre les échecs, l’indicateur de disponibilité de la fonctionnalité aide à apprécier le succès des changements opérés. Il permet aussi de mesurer le temps d’arrêt d’une fonction ou d’un système pour une maintenance. Cette information est cruciale pour programmer des temps de maintenance, mais aussi pour remettre en cause vos pratiques DevOps si le temps d’indisponibilité est trop long.

Les pièges à éviter pour des indicateurs réussis

Les indicateurs sont des informations clés sur le cycle de développement prenant la forme d’affichages et de tableaux de bord visuels, comme les storyboards, les tableaux kanban et bien d’autres. Le visuel est bien pratique, mais il peut aussi devenir rapidement illisible s’il est mal employé. Voici quelques pièges à éviter :

  • utiliser des métriques qui ne parlent pas aux membres des équipes DevOps ;
  • rendre compliquer les visuels avec trop d’information ;
  • créer des supports visuels non évolutifs ;
  • ne pas révéler les informations nécessaires sur le problème, etc.

Et, au contraire, il existe des moyens d’améliorer la gestion visuelle :

  • afficher les informations perspicaces pour les membres de l’équipe de développement et sur lesquels ils peuvent agir ;
  • être lisible et compréhensible rapidement ;
  • informer régulièrement grâce à des mises à jour des données ;
  • création de valeur pour l’entreprise plutôt qu’ajouter une charge de travail ;
  • associer les indicateurs à un rôle, etc.

La transformation digitale entraîne la mise en place des méthodes DevOps. Ceux-ci nécessitent de relever beaucoup de challenges, comme l’implémentation d’une nouvelle philosophie de travail d’équipe, mais cela implique aussi d’utiliser des indicateurs pour mesurer l’efficacité du processus DevOps. Il ne faut cependant pas oublier la case infrastructure-as-code (IaC) pouvant être exploitée dans le cadre d’un cloud public (AWS, Microsoft Azure, Google Cloud) avec API. Pour les néophytes dans le domaine, cela peut faire beaucoup de choses à comprendre et à intégrer, vous pouvez compter sur Ozitem pour vous accompagner.

Si vous êtes un professionnel en DevOps et que vous souhaitez participer à des projets passionnant au sein d’entreprises en pleine transformation digitale, contactez le service recrutement d’Ozitem !

Rejoignez Ozitem !