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 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 :
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.
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.
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é.
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.
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.
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.
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.
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.
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.
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).
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 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 :
Et, au contraire, il existe des moyens d’améliorer la gestion visuelle :
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 !
© 2023 Groupe Ozitem Mentions légales Politique de confidentialité