Aller au contenu principal

Le problème que le DevOps résout

Résumé : avant le DevOps, le développement et l'exploitation étaient deux services séparés, évalués sur des objectifs contradictoires. Ce n'était pas un problème de mauvaise volonté : la structure organisationnelle produisait mécaniquement le conflit. Cette leçon explique le mur de la confusion, ses causes profondes, et le coût qu'il fait payer.


1. Le mur de la confusion

C'est le point à comprendre avant tout le reste. Le conflit entre développement et exploitation n'est pas un problème de caractère, de génération ou de compétence. C'est une conséquence mécanique de la façon dont on évalue les deux équipes.

Si vous récompensez une équipe pour la vitesse de changement et l'autre pour l'absence de changement, vous obtiendrez un conflit — quelles que soient les personnes recrutées. Remplacez tout le monde et le conflit réapparaîtra.

La conséquence pratique : on ne résout pas ce problème avec un séminaire de cohésion d'équipe. On le résout en changeant les objectifs.


2. La scène classique

Le cercle vicieux de l'étape 6 est le cœur du problème. Comme les mises en production font peur, on les espace. Comme on les espace, elles contiennent davantage de modifications. Comme elles contiennent davantage de modifications, elles échouent plus souvent. Ce qui augmente la peur.

Le DevOps casse ce cercle par le côté contre-intuitif : déployer plus souvent pour déployer plus sûrement. Un déploiement contenant trois modifications est infiniment plus facile à diagnostiquer qu'un déploiement en contenant deux cents.


3. Les six problèmes structurels

Le problème 4 est le plus déterminant sur la qualité du logiciel. Un développeur qui n'est jamais réveillé la nuit par son code n'a aucune raison concrète de le rendre observable, robuste ou facile à redémarrer. Ce n'est pas un manque de professionnalisme : c'est l'absence de boucle de retour.

C'est de là que vient le principe « vous le construisez, vous l'exploitez » (you build it, you run it), formulé chez Amazon et sur lequel nous reviendrons en leçon 7.

Le problème 5 est celui que les directions sous-estiment le plus. Si vous cartographiez le temps réel entre l'idée et la mise à disposition de l'utilisateur, vous constaterez que le temps d'attente — validations, fenêtres de déploiement, disponibilité d'un environnement de test — dépasse largement le temps de travail effectif. Optimiser le travail des développeurs quand 80 % du délai est de l'attente ne sert à rien.


4. Le coût réel des silos

Le coût 5 est le plus important à long terme, et le plus invisible. Une organisation où livrer coûte trois semaines n'expérimente plus. Elle ne teste pas d'idées, ne mesure pas les réactions de ses utilisateurs, ne se corrige pas. Elle continue de construire ce qu'elle a décidé un an plus tôt, sans savoir si c'était juste.

Le lien avec le coût 4 est direct : une équipe qui a peur de déployer évite de toucher au code existant. La dette technique s'accumule, ce qui rend les déploiements encore plus risqués. Là encore, un cercle vicieux.


5. Pourquoi cela a changé maintenant

Le point 5 est le plus important, et il mérite d'être bien compris parce qu'il contredit une intuition très solide.

Pendant des décennies, on a considéré comme évident qu'il fallait choisir entre aller vite et être fiable. Les données récoltées auprès de milliers d'organisations montrent l'inverse : les équipes qui déploient le plus souvent ont aussi les taux d'échec les plus faibles et les temps de rétablissement les plus courts.

L'explication est logique : de petits changements fréquents sont plus faciles à tester, à comprendre et à annuler que de gros changements rares. La vitesse produit la fiabilité, elle ne s'y oppose pas. Ce résultat est le fondement empirique de tout le mouvement DevOps.


6. Ce que le DevOps change concrètement

Le point 5 produit un changement de comportement remarquable. Un développeur qui sait qu'il sera d'astreinte sur son propre code écrit spontanément de meilleurs journaux, de meilleurs messages d'erreur et des mécanismes de redémarrage plus propres. Aucune consigne n'est nécessaire : la boucle de retour suffit.


7. Ce que le DevOps ne résout pas

Le point 4 est l'échec le plus fréquent des transformations en entreprise. Renommer l'équipe d'exploitation en « équipe DevOps » tout en conservant la même organisation, les mêmes objectifs et le même mur produit exactement les mêmes résultats — avec en plus une perte de crédibilité durable auprès des équipes.


Retenir en 30 secondes

  • Le mur de la confusion vient d'objectifs contradictoires : le développement est évalué sur le changement, l'exploitation sur son absence.
  • Ce n'est pas un problème de personnes. Remplacez tout le monde, le conflit réapparaîtra. Changez les objectifs, il disparaîtra.
  • Le cercle vicieux : déployer fait peur → on espace → les lots grossissent → ils échouent plus → la peur augmente.
  • Le DevOps casse ce cercle à l'envers : déployer plus souvent pour déployer plus sûrement.
  • Six problèmes structurels : objectifs opposés, environnements divergents, transmissions coûteuses, aucune responsabilité de bout en bout, délais d'attente dominants, aucun apprentissage.
  • Le temps d'attente dépasse largement le temps de travail dans la plupart des organisations.
  • Le compromis vitesse / fiabilité est un mythe : les équipes les plus rapides sont aussi les plus fiables. C'est le résultat empirique fondateur du DevOps.
  • « Vous le construisez, vous l'exploitez » — la boucle de retour change le comportement mieux que n'importe quelle consigne.
  • Le DevOps ne résout pas une mauvaise stratégie produit, un manque de compétences ni une architecture inadaptée.
  • Renommer l'exploitation en « équipe DevOps » ne change rien — c'est l'échec de transformation le plus fréquent.

Suivant : Qu'est-ce que le DevOps ? Définition et histoire →