Blog DevOps

Comment mesurer & maximiser le ROI d'un projet DevOps ?

Rédigé par Clémence Plu | 1 janv. 2020 23:00:00

Qu'est-ce que le DevOps ?

Je vais commencer par un petit rappel sur le DevOps, mais pour aller plus loin, voici un article pour tout savoir sur le DevOps.

La méthodologie DevOps commence par un changement dans votre organisation interne. En effet, le DevOps c’est d’abord une collaboration entre les développeurs et les Ops. Grâce à une meilleure communication au sein de votre équipe et des objectifs communs entre Ops et Devs, vous pourrez :

  • gagner du temps sur la résolution des incidents
  • lancer de nouvelles fonctionnalités plus rapidement
  • réduire les risques grâce à l'automatisation
  • augmenter de manière significative la satisfaction de vos clients, et de vos développeurs.

Aujourd'hui, selon l’IDC, 20% des projets de développement logiciel bénéficient d'une approche DevOps. D’ici à 2021, ce chiffre passera à 35- 40%. Ce n'est pas un hasard si tant d'équipes IT adoptent la méthodologie DevOps pour le projet. Voyons pourquoi et comment mesurer le ROI pour économiser des ressources humaines et matérielles.

Pourquoi mesurer le ROI DevOps ?

Vous connaissez probablement déjà la formule du ROI :

ROI (%) = (Gain de l'investissement - Coût de l'investissement)/ Coût de l'investissement

Mais pourquoi le mesurer ? Le ROI est la mesure de l'efficacité d'un investissement en termes de rentabilité. Le calcul du ROI est une étape essentielle avant le démarrage d'un nouveau projet. Il vous permet de planifier votre projet, d'anticiper le coût et de fixer des objectifs pour la réussite du projet.

Le calcul du ROI vous permettra de voir si votre projet est réalisable et de commencer à réfléchir à la manière de le mettre en place. Mais c'est aussi nécessaire si vous voulez obtenir un budget auprès de votre comité de direction. Iriez-vous présenter votre idée devant la direction sans aucun chiffre pour soutenir votre projet ? Bien sûr que non ! Vous devez être en mesure de montrer à votre entreprise que le projet que vous voulez lancer apportera plus de valeur que l'investissement initial.

Même si certains projets sont faciles à calculer, d'autres, comme le DevOps, sont plus compliqués. Voyons quels sont les métriques que vous devriez mesurer et les objectifs que vous devriez fixer.

Quelles sont les métriques à suivre pour mesurer le ROI DevOps ?

Downtime

Selon une étude menée par l’IDC et AppDynamics, le dysfonctionnement des infrastructures peut représenter une perte par heure de 8 580$ à 686 250$ selon la taille de l'entreprise. Et en moyenne, les entreprises qui ont des downtimes perdent 163 674$ par an.

En plus de cette perte d'argent due à l’absence de ventes, les coûts humains doivent également être pris en compte. Selon la même étude, 35% des répondants ont affirmé qu'ils devaient consacrer 1 à 12 heures de travail pour réparer les incidents de production.

La première métrique à prendre en compte est donc les incidents de production (panne de serveur, paiement HS, ...). Vous devez donc calculer la perte moyenne de revenus de votre entreprise pour X minutes de downtime, puis regarder l'année dernière le temps total de panne. Puis ajoutez le coût humain pour la réparation des incidents. Cette perte de revenus, c’est ce que vous allez optimiser grâce au DevOps et donc à une infrastructure stable, vous pouvez donc passer cette perte dans la partie Gain de l'Investissement. Sachez qu'il est difficile d'avoir 0 downtime. Même Google fixe un objectif de 99,99% de disponibilité du service. Fixez un objectif de disponibilité et laissez cette marge d'erreur dans le calcul.

Productivité

La deuxième métrique est peut-être plus difficile à calculer. Il s'agit de la productivité des développeurs. Lorsqu'une entreprise passe à une organisation DevOps est la vitesse de production est augmentée. Selon une étude, le DevOps permet 30 fois plus de déploiements effectués pour 60 fois moins d'incidents (réduction des downtimes) et 440 fois moins de temps pour délivrer une nouvelle feature (expérience de développement plus fluide). Il est donc indéniable que le DevOps aura un impact sur votre activité. Et la rapidité n'est pas au détriment de la qualité, bien au contraire ! Pour un de nos clients, l'organisation DevOps a permis d’avoir une plateforme de logs disponible à 99% et de réduire le nombre d'incidents par mois de 42%.

Cette métrique vous permet de fixer des objectifs. Par exemple, avoir un processus d'intégration et de déploiement continu qui diminue le temps de la mise en production de 2 heures. Si vous avez 3 développeurs qui poussent la fonctionnalité en production chaque jour. C'est 6 heures par jour qui peuvent être réaffectées pour produire encore plus de nouvelles fonctionnalités. En fait, 43% des entreprises qui passent au DevOps le font pour augmenter leur time to market (selon le rapport d'IDC). Cela leur permet d'arriver au bon moment sur un nouveau marché, ou de lancer un produit innovant au bon moment avant que les concurrents ne prennent des parts de marché.

Que faire avec ce temps gagné grâce au processus de déploiement plus rapide et à la réparation des incidents minimisée ? Peut-être vous permettra-t-il de faire des économies sur le recrutement d'un développeur ? Ou de créer un produit innovant pour gagner des parts de marché ? Peut-être que vous aurez moins de turnover grâce à des meilleures conditions de travail pour vos développeurs ? Cette métrique est spécifique à votre entreprise en fonction de votre contexte.

Pour la partie coût de l'investissement, vous devez prendre en considération le prix de l'agence DevOps qui vous aidera ou le recrutement d'une équipe Ops par exemple. Ainsi que le prix des nouveaux outils tels que Gitlab, Gitlab CI, Docker, Kubernetes, Prometheus, etc.

Récapitulons le calcul :

ROI = ((argent perdu à cause des downtimes + gain de productivité) - (Coût de l'agence ou du recrutement DevOps + coût des outils) / (Coût de l'agence ou du recrutement DevOps + coût des outils)

Comment maximiser votre ROI DevOps ?

Des objectifs clairs

Avant de commencer un projet, vous devez définir un succès. L’objectif à atteindre doit absolument être mesurable quotidiennement. C’est nécessaire pour observer clairement l'impact de vos actions sur l’objectif. Il doit également être réalisable dans un délai donné et ne pas être trop ambitieux quant à l'échéancier.

Par exemple, un de nos clients souhaitait réduire le nombre d'actions manuelles à un seul clic du merge au staging. Nous avons mesuré ce KPI chaque semaine pendant 4 semaines pour atteindre finalement un clic.

Un outil très efficace que vous pouvez utiliser pour suivre l’atteinte du succès provient de la méthodologie lean : le Kaizen. Pour en savoir plus sur la façon de mettre en place un Kaizen pour réduire le nombre d'incidents, lisez cet article.

Automatisation

Avez-vous déjà entendu parler du lave-vaisselle DevOps de Brian Kelly ? Brian compare le DevOps à un lave-vaisselle. Certaines personnes lavent directement la vaisselle lorsqu'elle est sale et d'autres stockent jusqu'à ne plus en avoir de propre, puis nettoient tout. Aucune de ces deux techniques n'est vraiment efficace parce que ce n'est pas la taille optimale de lot. Il a donc imaginé une utopie de lave-vaisselle DevOps où :

  • Les assiettes sales ne s'empilent jamais dans l’évier
  • Les plats sont nettoyés dès qu'ils sont sales
  • Nous n’avons pas d’effort à faire pour nettoyer la vaisselle
  • Nous n'avons pas besoin d'optimiser le nombre de plats à nettoyer à la fois
  • La vaisselle devient un processus invisible et automatique qui nous libère pour nous concentrer sur d'autres choses

Ce qui correspond à :

  • Une équipe qui délivre très fréquemment des nouvelles fonctionnalités
  • Un système d'intégration continue (CI) fiable et évolutif pour tester automatiquement chaque nouveau code
  • Des tests automatisés fiables et ayant une couverture suffisante
  • Un système de déploiement continu (CD) qui permet de lancer automatiquement un nouveau code en production
  • Une infrastructure scalable
  • Une équipe de développeurs et d'Ops qui collaborent efficacement


Un processus automatisé permet à vos développeurs de se concentrer sur la production de nouvelles fonctionnalités et de réduire le risque d'erreurs humaines. Le processus d'automatisation est comme un lave-vaisselle, pendant qu'il fonctionne, vous pouvez faire autre chose en sachant que ce sera propre à la fin.

Économie d'énergie

Nous entendons souvent parler d'économie d'énergie dans notre vie personnelle, mais elle peut aussi s'appliquer dans votre vie professionnelle. En effet, si vous avez peu de trafic la nuit, vous pouvez éteindre tous les environnements sauf la production et réduire le nombre de clusters sur l'environnement de production. En faisant cela, vous économiserez de l'énergie, mais aussi de l'argent. Vous verrez votre facture diminuer, car vous consommez moins d'énergie. C'est l'avantage du cloud et de la scalabilité. Cela va donc réduire votre coût d'investissement.

Vous avez maintenant toutes les clés pour réussir un projet DevOps avec un ROI positif. Vous connaissez les métriques à suivre pour le calculer, et vous savez comment maximiser votre ROI. N'hésitez pas à nous contacter si vous souhaitez être accompagné sur un projet DevOps.