Lorsque nous parlons du taux d’échec des changements (CFR), nous prenons le pouls de la stabilité des logiciels. Cette mesure, qui indique à quelle fréquence les déploiements se soldent par des échecs, donne un aperçu honnête de la situation réelle d’une équipe logicielle, non seulement les bons jours, mais aussi lorsque les choses ne se déroulent pas comme prévu. C’est la réalité qui empêche les équipes de développement de tomber dans la complaisance, et c’est le genre de chiffre dont les conseils d’administration devraient se préoccuper parce qu’il est directement lié au risque, à l’expérience client et, en fin de compte, au chiffre d’affaires.

Le CFR sert de boussole pour repérer les problèmes exacts qui ne cessent d’apparaître. Pensez aux bogues, aux incidents de production ou même à ces plaintes ennuyeuses des utilisateurs qui vous font vous demander ce qui ne va pas sous la surface. C’est là que réside le véritable pouvoir du CFR, car il s’agit d’un outil qui permet de lever le voile sur les problèmes récurrents. Si quelque chose ne fonctionne pas, il ne s’agit plus de savoir « si », mais « pourquoi » et « comment y remédier ».

Il ne s’agit pas non plus de courir après la licorne du zéro échec. Dans le monde réel, l’absence d’échecs signifie probablement l’absence de risques, ce qui peut indiquer qu’une équipe joue la carte de la sécurité et étouffe l’innovation. Au contraire, le CFR aide à trouver le point d’équilibre qui permet de repousser les limites tout en gardant à l’esprit ce qui se brise et pourquoi.

Le rapport DORA 2024 le confirme. Lorsque le CFR est pris en compte parallèlement à d’autres mesures (comme le taux de reprise), vous obtenez une image plus nuancée de la manière dont les changements évoluent dans votre pipeline.

L’idée est simple : l’échec n’est pas nécessairement une mauvaise chose s’il vous aide à vous adapter et à améliorer les résultats du déploiement. Au lieu d’avoir peur de l’échec, considérez-le comme une pièce maîtresse du puzzle qui révèle des possibilités d’ajustement, d’innovation et de renforcement de la résilience de vos systèmes.

CFR dans le cadre des quatre mesures clés du DORA

Le CFR ne fonctionne pas de manière isolée. Il fait partie d’un quatuor de mesures connues sous le nom de mesures DORA, chacune apportant quelque chose d’important à la table. Détaillons-les :

  • La fréquence de déploiement est une question de cadence. Il mesure la fréquence à laquelle les modifications de code sont mises en ligne. Un taux rapide indique un pipeline fluide et efficace où les équipes ont confiance en la fréquence des livraisons.

  • Le délai d’exécution des modifications est notre chronomètre. Il nous indique le temps nécessaire pour passer du code validé au code en production. Lorsque nous parvenons à raccourcir ce délai, nous obtenons un retour d’information plus rapide et nous pouvons procéder à des itérations plus efficaces.

  • Le temps de rétablissement du service est le point de rencontre entre le caoutchouc et la route. C’est l’indicateur de la rapidité avec laquelle nous nous rétablissons lorsque les choses tournent inévitablement mal. Réduire ce délai permet de limiter les perturbations et témoigne d’une forte capacité d’adaptation.

Ensemble, ces paramètres définissent un cadre complet pour évaluer le rythme du développement ainsi que sa résilience et sa qualité. Ils permettent de s’assurer que nous ne sommes pas obnubilés par l’idée d’aller plus vite – la stabilité et la réactivité sont également importantes. En suivant ces éléments de manière cohérente et en les comparant aux normes du secteur, nous savons où nous nous situons et comment nous pouvons rester compétitifs. En fin de compte, il s’agit de maintenir un équilibre sain : expédier rapidement sans négliger la qualité.

La beauté des mesures DORA, CFR inclus, est qu’elles donnent une image complète de la performance d’une équipe. Bien que l’accent soit toujours mis sur la vélocité, il s’agit avant tout de faire en sorte que tout soit serré et réactif, de réduire les échecs et d’apprendre rapidement lorsqu’ils se produisent.

4 étapes pour définir, suivre et analyser efficacement le CFR

Très bien, voyons maintenant comment faire travailler le CFR pour nous. L’essentiel est de le définir clairement, de suivre les bonnes données et de les analyser pour en tirer des enseignements.

1. Définir la réussite et l’échec

Tout d’abord, nous avons besoin d’une définition claire de ce qui est considéré comme un succès et de ce qui est considéré comme un échec. Sans cela, votre CFR n’est que du bruit. Cette définition n’est pas toujours simple et dépend du contexte. Un échec signifie-t-il quelque chose qui a un impact négatif sur les utilisateurs ? Ou s’agit-il simplement de quelque chose qui nécessite un retour en arrière ou un correctif ?

Cette définition doit être documentée et accessible à tous afin que l’ensemble de l’équipe connaisse les points de référence sur lesquels elle travaille. La catégorisation des échecs (qu’ils soient mineurs, majeurs ou critiques) permet également d’établir un ordre de priorité et d’éviter que les équipes ne soient submergées par des problèmes de faible priorité.

2. Suivre les déploiements

Une fois que vous savez ce que vous mesurez, vous avez besoin de données, ce qui implique un suivi méticuleux des déploiements. Ne vous contentez pas de compter les échecs. Vous devez également savoir quand les déploiements ont lieu, qui est impliqué, quelle version a été poussée et, idéalement, ce qui a changé.

Considérez cela comme l’élaboration d’une histoire pour chaque déploiement. Plus vous avez de détails, plus il est facile de déterminer pourquoi quelque chose n’a pas fonctionné. L’intégration de ce système dans votre système CI/CD ou de contrôle de version automatise une grande partie de la collecte de données, ce qui rend l’ensemble du processus plus efficace.

3. Calculer le CFR

Avec vos données en main, le calcul du CFR devient simple : CFR = (Nombre de changements échoués / Nombre total de changements) x 100.

L’astuce consiste à le calculer sur des périodes cohérentes, hebdomadaires ou mensuelles par exemple, afin de pouvoir observer les tendances qui se dessinent. Si votre définition de l' »échec » évolue (et il se peut qu’elle évolue au fur et à mesure que vous vous améliorez), veillez à ce que ces changements soient documentés afin que tout le monde soit sur la même longueur d’onde. La cohérence est essentielle pour que les données du CFR soient significatives.

4. Analyser et ajuster

C’est ici que le CFR prend toute sa valeur. Si vous devez toujours connaître le taux, ce que vous en faites est tout aussi important. Les choses s’améliorent-elles, se détériorent-elles ou restent-elles inchangées ? Les tendances observées vous indiqueront les points sur lesquels vos processus doivent être examinés. Si le nombre d’échecs augmente, examinez l’endroit où ils se produisent dans le pipeline. Il peut s’agir de la phase de test ou d’un problème au niveau du déploiement lui-même. Les solutions peuvent aller de l’amélioration des pratiques de révision du code à l’augmentation de la couverture des tests dans des domaines spécifiques. Ce qui compte, c’est que les tendances de la CFR conduisent à des changements exploitables.

Analyser les tendances du CFR afin d’assurer une amélioration continue

Les tendances CFR sont la feuille de route pour améliorer les logiciels. Elles nous permettent de mesurer l’impact des changements sur la production et les domaines dans lesquels nous rencontrons des difficultés. Il ne s’agit pas ici de noter quand les choses vont mal, mais plutôt de comprendre pourquoi et d’apporter des améliorations.

L’amélioration de la couverture des tests est l’une des réponses courantes à un taux élevé de CFR. Si les choses continuent à se casser, c’est le signe que nous avons besoin de tests plus complets plus tôt dans le processus. Les tests sont souvent considérés comme un fardeau, mais en réalité, c’est l’un des moyens les plus efficaces de réduire les problèmes de dernière minute qui font dérailler les déploiements. Nous parlons ici de tout, des tests d’intégration aux vérifications au niveau du système.

Les outils CI/CD sont un autre élément de la solution. L’automatisation d’une partie aussi importante que possible du processus permet de garantir la cohérence et de détecter les problèmes avant qu’ils n’atteignent le stade de la production. L’automatisation réduit le risque d’erreur humaine et aide les équipes à avoir confiance dans la qualité de ce qui est déployé.

Le facteur humain est tout aussi important. Le rapport DORA 2024 met en évidence une forte corrélation entre la culture d’équipe et la baisse du CFR. Si la culture est axée sur la rapidité au détriment de la qualité, attendez-vous à des taux d’échec élevés. Si, au contraire, la culture favorise une communication ouverte, l’apprentissage à partir des erreurs et la prise de temps pour bien faire les choses, les échecs diminueront naturellement.

Sept stratégies actionnables pour améliorer le CFR

Voici quelques stratégies pratiques que vous pouvez appliquer dès maintenant pour commencer à faire avancer la CFR :

  1. Testez tôt, testez souvent : N’attendez pas la fin pour découvrir que les choses ne fonctionnent pas bien ensemble. Testez les différents composants du système (comme le front-end, le back-end et les bases de données) avant que les choses n’aillent trop loin. Par exemple, un site de commerce électronique doit avoir des contrôles en place pour s’assurer que chaque interaction, de l’interface utilisateur au traitement des paiements, fonctionne de manière transparente.

  2. Utilisez des outils CI/CD : Automatisez tout ce que vous pouvez. Les outils CI/CD gèrent les constructions, les tests et les déploiements de manière ordonnée, réduisant ainsi les risques à chaque étape. Le plus intéressant ? Ils vous permettent d’arrêter tout ce qui ne semble pas prêt avant qu’il n’atteigne les utilisateurs.

  3. Tirez parti de l’observabilité : L’observabilité est essentielle pour comprendre le fonctionnement interne de votre logiciel. Avec de bons indicateurs clés de performance (ICP), votre équipe peut détecter les problèmes dès leur apparition, en rechercher les sources et les résoudre, bien avant que les utilisateurs ne s’aperçoivent que quelque chose ne va pas.

  4. Utilisez les drapeaux de fonctionnalité : Il s’agit de contrôler les risques en production. Plutôt que de diffuser une fonctionnalité à tout le monde en espérant que tout se passe bien, les drapeaux de fonctionnalité vous permettent de ne diffuser la fonctionnalité qu’à un sous-ensemble d’utilisateurs, d’en évaluer la stabilité, puis de l’étendre. De plus, un interrupteur vous permet de retirer une fonctionnalité problématique en quelques secondes si les choses tournent mal.

  5. Instaurez une culture d’équipe : La productivité est importante, mais pousser les gens à privilégier la rapidité plutôt que la qualité conduit à l’épuisement et aux erreurs. Une culture de soutien où les développeurs n’ont pas peur de communiquer sur les problèmes potentiels se traduit par une meilleure qualité et moins d’échecs. Un environnement adéquat fait toute la différence pour transformer une livraison très stressante en une pratique durable.

  6. Concentrez-vous sur la qualité du code : un code de haute qualité n’est pas le fruit du hasard, c’est le résultat de normes, d’une cohérence et de révisions solides. Utilisez des guides de style de codage pour que le code reste lisible et facile à maintenir, et procédez à des révisions approfondies du code pour détecter rapidement les problèmes potentiels. Il s’agit d’éviter que de petits problèmes ne se transforment en gros échecs de déploiement.

  7. Améliorer en permanence les processus : Le CFR n’est pas un indicateur que l’on calcule une fois et que l’on oublie. C’est une mesure qui encourage l’analyse continue. Lorsque la tendance est à la hausse, étudiez les données pour en comprendre les raisons. La véritable connaissance vient du lien entre les échecs passés et les améliorations de processus exploitables. Les normes industrielles suggèrent de maintenir le CFR en dessous de 20%-30%, mais certains visent un taux aussi bas que 5 %, bien que nous soyons conscients des défis concrets à relever pour y parvenir.

Dernières réflexions

Êtes-vous prêt à continuer à faire les choses à l’ancienne, en espérant des résultats différents, ou allez-vous accepter ce que les données vous disent ? Le taux d’échec des changements est un miroir qui reflète le degré de préparation de votre marque à innover sans craindre de tomber à plat. Il s’agit d’équilibrer le risque et le progrès, la qualité et la rapidité, et l’échec et la croissance. Les entreprises qui prospèrent sont celles qui apprennent, s’adaptent et utilisent l’échec comme carburant.

Tim Boesen

décembre 17, 2024

11 Min