Retour aux articles
  • 23.05.2022

Quelles sont les métriques DevOps pour mesurer leur succès ?

Quelles sont les métriques DevOps pour mesurer leur succès ?

L'esprit DevOps s'est emparé de nombreux aspects du processus de développement des logiciels. À tel point qu'il vaut la peine d'obtenir des informations supplémentaires sur les opérations quotidiennes qui peuvent montrer les marqueurs de réussite et les domaines à améliorer. Plutôt que de se concentrer sur les rapports quotidiens qui ne font que montrer la "normalité", les mesures DevOps d'aujourd'hui se concentrent sur les données mesurables qui sont (ou devraient être) collectées tout au long de la mise en œuvre DevOps de votre entreprise.

 

Les informations et les outils qui recueillent ces mesures vont de simples indicateurs de progression, comme le nombre de déploiements, à une vue combinée des données qui permet de justifier une automatisation supplémentaire. L'objectif de ceux qui s'intéressent à la mesure de la performance des indicateurs DevOps est de considérer DevOps sous cet angle élargi. Nous allons examiner de plus près les mesures et les outils qui permettent de fournir ces données.

 

Table des matières

Qu’est ce que sont les indicateurs DevOps ?

Quelles sont les caractéristiques utiles des indicateurs DevOps ?

Comment mesurer le succès DevOps ? 6 indicateurs clés de DevOps

Conclusion

 

Qu’est ce que sont les indicateurs DevOps ?

La transformation DevOps exige des entreprises qu'elles investissent beaucoup de temps, d'argent et de ressources, en revoyant tout, de la communication aux outils en passant par la formation. La capacité à évaluer clairement et précisément les indicateurs DevOps et les critères de performance est essentielle pour définir les objectifs, améliorer l'efficacité et suivre le succès.

Le choix des indicateurs clés de performance pour une initiative DevOps dépend des défis et des exigences spécifiques de l'entreprise. Les indicateurs clés de performance DevOps doivent fournir une vue globale de la valeur commerciale et de l'impact de la transformation. Les bons indicateurs de performance peuvent évaluer la valeur du travail existant et guider les décisions futures en matière de processus et de technologie.

Quelles sont les caractéristiques utiles des indicateurs DevOps ?

Tout se résume à voir comment votre DevOps se comporte réellement lorsqu'il s'agit de la mise en œuvre et de certaines normes industrielles. Cela va au-delà des mesures de satisfaction et s'inscrit au cœur de ce que nous espérons que DevOps puisse faire : fournir une méthode pour fournir des logiciels et des services par l'automatisation d'une manière qui est répétitive, cohérente et sans erreur.

De la conception initiale à la livraison, et éventuellement aux métriques d'incident de support liées à la version : ce sont toutes des informations importantes pour montrer les avantages du DevOps d'aujourd'hui. Bien qu'il n'y ait pas nécessairement un produit ou un service qui fournisse une synthèse rapide de ces mesures DevOps, il existe des méthodes vers lesquelles l'industrie se dirige et qui vous aideront à trouver la meilleure solution.

Il est également possible de collecter trop de données ou le mauvais type de données. Pour revenir à l'exemple des indicateurs de vanité comme le "nombre de constructions réussies", il peut être tentant pour les équipes de commencer à considérer de petits éléments de données comme leurs propres indicateurs de performance. Un groupe particulier peut considérer que le fait d'ajouter plus de lignes de code est une indication de succès, alors que la valeur réelle peut ne pas éclairer le succès ou l'échec au moment de la livraison.

En gardant les données à l'esprit dès le début d'un effort d'automatisation, il est possible d'identifier très tôt certains des éléments de données les plus courants qui peuvent fournir des informations approfondies. Déterminez ce qui est disponible pour la collecte et notez comment ces données peuvent être traitées et utilisées comme indicateur clé de performance. Les KPI sont des valeurs mesurables qui peuvent montrer les progrès réalisés vers un objectif commercial clé. Des indicateurs courants, tels que le "délai d'exécution", peuvent être dérivés des informations sur les tâches pour un objectif particulier.

Ces mesures DevOps doivent adhérer à des propriétés et des normes reconnues par l'industrie qui représentent des données utiles. Vous avez peut-être déjà entendu parler de l'acronyme SMART : Specific, Measurable, Achievable, Relevant, and Time-bound. Voici de bons exemples de propriétés qui adhèrent à la méthodologie SMART dans le contexte du cycle de vie du développement logiciel :

Mesurable : les indicateurs doivent avoir des valeurs normalisées et cohérentes dans le temps.

Pertinent : les indicateurs doivent mesurer des aspects importants pour l'entreprise.

Fiabilité : les membres de l'équipe ne peuvent pas influencer ou "jouer" la mesure.

Actionnable : l'analyse à long terme de la mesure doit permettre de comprendre les améliorations possibles des systèmes, des flux de travail, des stratégies, etc.

Traçable : les mesures doivent pointer directement vers une cause fondamentale, et non pas simplement faire allusion à un problème général.

Ne suivez pas les métriques DevOps qui sont :

Basées sur des valeurs non DevOps : par exemple, les métriques qui mesurent le respect des exigences sont plus adaptées à un environnement de développement en cascade.

Basées sur la compétition : si les meilleurs sont les "gagnants" et que tous les autres "perdent", il est difficile d'espérer une communication et une collaboration au sein des équipes et entre elles. N'établissez pas de mesures basées sur la compétition entre les membres de l'équipe ou entre les équipes (par exemple, le nombre d'échecs de construction ou d'erreurs fatales). Les équipes seront obsédées par l'amélioration de la mesure, au lieu de découvrir les vrais problèmes et de travailler ensemble pour les résoudre.

Métriques de performance : les métriques doivent soutenir le travail d'équipe. Les mesures de vanité indiquent une certaine capacité, mais ne sont pas vraiment indicatives de l'efficacité de l'entreprise. Par exemple, le nombre de lignes de code écrites chaque semaine n'est pas pertinent car le code peut disparaître complètement lors du remaniement, et parfois moins de code est mieux pour l'entreprise. Le nombre de constructions par jour n'a pas d'importance, sauf si chaque construction apporte réellement une valeur ajoutée à l'expérience de l'utilisateur final.

Comment mesurer le succès DevOps ? 6 indicateurs clés de DevOps.

Les six métriques suivantes peuvent être importantes pour mesurer les performances et les progrès de DevOps dans la plupart des entreprises.

Délai d'exécution

Le temps qu'il faut pour implémenter, tester et livrer le code. Pour mesurer le délai de livraison, l'équipe doit définir clairement le début et la fin du travail (par exemple, le temps mesurable entre l'engagement du code et le déploiement en production). L'objectif est d'accélérer le déploiement par l'automatisation et de réduire le temps de déploiement global, par exemple en optimisant l'intégration et l'automatisation des tests.

Fréquence des déploiements

Le nombre de déploiements de logiciels sur une période de temps. Elle peut être mesurée de différentes manières, notamment par des pipelines de déploiement automatisés, des appels API et des scripts manuels. 

Cette mesure est liée aux performances techniques du pipeline de déploiement, et non à la fréquence de livraison, car tous les déploiements ne sont pas poussés vers la production. Cependant, des déploiements plus fréquents peuvent réduire les erreurs associées aux échecs de déploiement, qui affectent la satisfaction globale des clients.

Modifier le taux d'échec

L'amélioration de la vélocité semble être l'un des objectifs ultimes d'une initiative DevOps, mais elle doit être évaluée en même temps que les taux d'échec. Les échecs fréquents des changements qui sont déployés en production peuvent finalement conduire à des clients insatisfaits.

Si les indicateurs clés de performance montrent un taux d'échec plus élevé à mesure que les déploiements augmentent, il est temps de ralentir et d'examiner les problèmes dans le pipeline de développement et de déploiement.

Temps moyen de récupération (MTTR)

Dans les mesures DevOps, cet indicateur permet de savoir combien de temps il faut à l'entreprise pour se remettre d'un échec. Il s'agit d'un indicateur commercial clé, car il reflète la capacité à minimiser les perturbations et à rétablir rapidement les opérations normales. Il est généralement mesuré en minutes ou en heures, et peut parfois faire référence au temps pendant les jours ouvrables, et non à l'heure d'horloge.

Pour réduire le MTTR, il est important de disposer des bons outils de surveillance des applications, ainsi que d'une collaboration efficace entre les opérations et les développeurs, ce qui peut vous aider à trouver les causes profondes et à déployer des solutions rapidement.

Volume de tickets clients

Cette mesure est un indicateur de la satisfaction de l'utilisateur final. Comme nous l'avons mentionné précédemment, les bogues et les erreurs peuvent souvent contourner la phase de test et être détectés par l'utilisateur final. Les clients vont alors contacter le support et partager leurs commentaires.

Par conséquent, le nombre de tickets clients marqués comme problèmes ou bugs est un indicateur important de la fiabilité de l'application. Un grand nombre de tickets indique des problèmes de qualité, tandis qu'un petit nombre indique la robustesse de l'application.

Taux de fuite des défauts

Même avec un excellent pipeline DevOps, des défauts surviendront. Dans certains cas, ces défauts peuvent être détectés pendant les phases de développement ou de test du pipeline. Mais dans le pire des cas, ils passeront les tests et seront détectés par les utilisateurs finaux.

Le taux reflète le nombre de défauts trouvés en production pendant et après le déploiement. Il identifie les fissures dans le processus de développement logiciel - les défauts glissent à travers ces fissures et indique que le processus de qualité doit être optimisé et resserré.

Conclusion

Les programmes DevOps peuvent apporter d'énormes avantages aux entreprises, mais ils sont complexes et coûteux à mettre en œuvre. Les indicateurs DevOps sont nécessaires pour comprendre les performances des équipes DevOps et savoir si les efforts de mise en œuvre de DevOps sont vraiment payants. Pour résumer :

  • Délai d'exécution - le temps nécessaire pour mettre en production de nouveaux changements
  • Fréquence de déploiement : fréquence à laquelle les builds sont déployés dans un environnement.
  • Taux d'échec des changements : combien de changements entraînent des défauts ?
  • MTTR : temps nécessaire pour se remettre d'un échec
  • Tickets des clients : combien de problèmes sont déposés par les clients sous forme de tickets d'assistance ?
  • Taux de fuite des défauts : combien de problèmes de qualité parviennent jusqu'à la production ?