Catégories : Expertise DSIPar Tags:

De plus en plus d’entreprises mettent en place une démarche DevOps et cherchent à automatiser au maximum leurs livraisons dans l’idée de réduire leurs coûts, en gagnant en productivité et en qualité. Les bénéfices sont pour certains facilement observables. Pourtant, afin de savoir si les entreprises vont dans la bonne direction et si elles peuvent s’améliorer, il est nécessaire de suivre des indicateurs de performance (KPIs) concrets et mesurables.

Dans cet article, nous verrons :

  1. Mesurer la démarche DevOps : quels sont les bons indicateurs ?
  2. Comment améliorer les performances de ses processus DevOps ?

Mesurer la démarche DevOps : quels sont les bons KPIs ?

Tout d’abord, ces indicateurs doivent répondre aux particularités du DevOps :

– Ils doivent être évocateurs auprès des équipes de développement comme des équipes des opérations (sans parler évidemment des équipes DevOps dédiées s’il y en a) ;

– Ils doivent permettre de mesurer la performance de toute la chaîne.

Les indicateurs mentionnés ci-dessous semblent essentiels pour monitorer la performance de la démarche au sein d’une entreprise ; ils ne sont cependant pas exhaustifs. En fonction de la société, du produit, etc… d’autres KPIs pourront être également pertinents.

Ici, nous identifions quatre familles de métriques clés.

1) Indicateurs de satisfaction client/utilisateur

Le DevOps, qui tient son origine dans les pratiques Agiles, remet le client au cœur du produit. C’est donc assez naturellement qu’il faut s’assurer que l’expérience client (ou utilisateur) et sa satisfaction soit monitorée avec attention.

Une notion subjective que l’on peut cependant mesurer par :

Le nombre de tickets clients : indicateur intéressant car il se base directement sur les remontées utilisateur ou client.

L’utilisation de l’application : il peut s’agir du nombre de connexion ou du volume de transactions opérées avec l’application. Le déploiement d’une nouvelle version en exposition progressive est un moyen particulièrement efficace de mesurer la satisfaction des utilisateurs. De plus, en sélectionnant des groupes d’utilisateurs en fonction de critères bien déterminés, cette mesure de la satisfaction peut devenir très instructive. On peut même envisager de faire varier cette sélection pour catégoriser cette satisfaction. Ainsi, en fonction des résultats, on peut envisager d’ajuster certaines fonctionnalités avant une exposition complète de la nouvelle version.

Ces deux indicateurs permettent de suivre les réactions des utilisateurs de manière relativement précise à la suite d’un déploiement en particulier.

2) Indicateurs de productivité

La démarche DevOps va permettre d’augmenter la fréquence des livraisons, en privilégiant des cycles de développement plus courts et en réduisant la durée des déploiements car automatisés.

Souvent, la différence entre l’avant et l’après est rapidement et facilement observable.

Pour le quantifier, on regarde notamment :

Le temps de déploiement : qui indique le temps nécessaire à la livraison en production d’une modification de code. Un bon moyen pour mesurer le gain apporté par DevOps est de poser la question suivante avant sa mise en œuvre (dans le cadre d’un audit par exemple) : « Si vous modifiez une ligne de votre code, combien de temps faut-il pour la livrer ? ». Pour comparer, il suffit de se poser à nouveau la question après sa mise en œuvre.

La fréquence de déploiement : qui permet de bien se rendre compte du changement de culture instauré par le DevOps et de la capacité de l’entreprise à livrer rapidement de nouvelles fonctionnalités aux utilisateurs.

Taux de réussite lors des déploiements : des déploiements qui s’effectuent essentiellement manuellement sont souvent sujet à erreurs (mauvais répertoire, paramètres manquants, configuration inadéquate…). Pour peu qu’aucune documentation n’ait été produite (ce qui est souvent le cas), on est alors contraint à des recherches et à des essais multiples. Si la fréquence de ces erreurs a été stockée, il devient alors possible de la comparer à celle des déploiements engagés dans le cadre de DevOps. Par ailleurs, avec l’amélioration progressive des processus d’intégration et de déploiement de votre chaîne DevOps, cette fréquence devrait diminuer. Avec DevOps, les interruptions liées aux erreurs lors de l’intégration et du déploiement diminuent progressivement : votre productivité augmente.

Des cycles de développement moins fournis facilitent l’identification des bugs et permettent d’être plus réactif dans la livraison des correctifs. La rapidité de résolution est donc un indicateur important à monitorer.

Livre Blanc - DevOps - SoftFluent

3) Indicateurs de qualité

La mise en place d’une démarche DevOps amène également un environnement propice à l’amélioration de la qualité du code : une collaboration étroite entre développeurs et opérations, une plus grande réactivité et l’encadrement des livraisons par des tests automatisés.

Pour mesurer si la qualité de vos logiciels est bien au rendez-vous, voici quelques indicateurs à garder en tête :

Temps moyen entre les échecs : cette métrique mesure la période pendant laquelle un système ou une fonctionnalité est capable de remplir sa fonction et rester opérationnel ; l’objectif étant que cette période soit la plus importante possible.

Durée et fréquence de remontée des bugs : cela paraît étonnant, mais des bugs identifiés plus vite et plus souvent sont un gage d’augmentation de la qualité du code. En effet, des bugs non identifiés ou identifiés plus tardivement sont souvent plus difficiles et plus longs à traiter, tout en risquant davantage de mettre en péril le code d’autres fonctionnalités.

Taux de retour des corrections de bogues : pourcentage de corrections qui ne sont pas considérées comme complètes et déclenchent une réouverture

La dette technique peut également être une métrique à évaluer même si cela est plus délicat. Le DevOps permet en effet de traiter la dette technique en l’intégrant peu à peu aux itérations et permet de la maitriser grâce aux tests automatisés.

4) Indicateurs de satisfaction collaborateur

Dans une démarche Devops, la collaboration entre les équipes, une meilleure compréhension des enjeux de chacun et l’instauration d’objectifs communs sont les clés de la réussite d’une démarche DevOps mais impactent également positivement la motivation et satisfaction des équipes.

Des aspects difficiles à mesurer mais que l’on peut essayer de quantifier avec des indicateurs tels que :

La rétention des employés : le DevOps est un bon moyen pour impliquer et fidéliser les collaborateurs.

La réaction au changement : la réticence au changement, si elle n’est pas adressée, peut devenir un véritable obstacle à la mise en place d’une démarche DevOps.

Comment améliorer les performances de ses processus DevOps ?

Suivre ces indicateurs permet de constater ses forces et ses faiblesses. Par la suite, vient le moment de se questionner sur les améliorations possibles.

Cependant, difficile de répondre à cette question de manière générale tant cela dépend des sociétés, de leur avancement dans le processus et, évidemment des différents points à améliorer mis en avant par les KPIs.

Voilà quelques conseils :

– Prendre le temps de l’analyse : DevOps, c’est 70% de relationnel et 30% d’opérationnel. S’impliquer rapidement dans l’opérationnel est rassurant, mais c’est toujours au détriment du temps nécessaire de l’analyse et de la réflexion, en particulier pour ce qui concerne le relationnel. Ce temps indispensable donne accès à des solutions de mise en œuvre de DevOps adaptées à vos équipes, à votre projet et à votre entreprise.

– Allez au bout de la démarche : si l’on décide de n’automatiser qu’une partie de sa chaine, on risque davantage de déplacer le problème plutôt que de le résoudre et de créer un goulot d’étranglement sur les parties non automatisées. On risque également de ne pas profiter pleinement des avantages que la démarche apporte et d’avoir des performances qui ne sont pas au rendez-vous.

– Les objectifs réalisables, c’est bien ; les objectifs réalisables et mesurables, c’est encore mieux. Même des objectifs que l’on pourrait qualifier de ‘subjectifs’ telle l’expérience client doivent être rattachés à des indicateurs quantifiables.

– Lorsque l’on choisit un outil de DevOps, il faut s’assurer qu’il donne accès aux métriques identifiées ; sinon, cela peut devenir vite très compliqué de piloter les performances. De plus, multiplier les outils pour récupérer les données peut ajouter des biais non souhaités.

– Le DevOps est une démarche collaborative : assurez-vous cette collaboration concerne les équipes de développement, des opérations, mais également toutes les équipes qui pourront bénéficier de la mise en place du processus. N’hésitez pas à partager avec une autre équipe DevOps au sein de votre société, s’il y en a, ou à des experts qui pourront vous faire bénéficier de leurs retours d’expérience.

En tant que cabinet de conseil IT et expert en développement sur mesure, SoftFluent peut vous accompagner dans la mise en place d’une démarche DevOps.

Fort de son expérience de terrain et de son activité d’éditeur de logiciels, nous vous proposons une approche personnalisée et un accompagnement pragmatique et proactif dans votre démarche DevOps et dans le déploiement des outils adaptés à votre problématique. Nous disposons de connaissances sur de nombreux outils du marché, incluant par exemple Team Foundation Server et sa version cloud Azure DevOps Services.

Pour en savoir plus, contactez-nous.

Automatisez le déploiement de vos applications avec SoftFluent

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent