Si ce n’est pas cassé, ne le réparez pas
Nous avons tous entendu cela bien souvent, n’est-ce pas ? “Si ce n’est pas cassé, ne le réparez pas.” Les gens l’emploient partout comme moyen de décourager les améliorations, la modernisation ou la refonte. Beaucoup le disent et, comme pour de nombreuses formules de ce genre, en apparence cela semble raisonnable. Mais dans la pratique, ce ne l’est pas vraiment ou, du moins, pas tel qu’on l’emploie habituellement, parce que c’est mal compris.
Cela ressemble beaucoup au principe consistant à dire aux gens de ne pas mettre tous leurs œufs dans le même panier, où il est le plus souvent appliqué à des situations dans lesquelles l’analogie des œufs et du panier ne s’applique pas ou est inversée par rapport à la réalité. Mais comme il s’agit d’une formule apprise par cœur, on oublie qu’il existe une métaphore qui doit tenir debout pour que cela fonctionne. Cela peut conduire à des décisions désastreuses, car cela suscite une peur irrationnelle fondée sur rien.
De même, l’idée de ne pas réparer ce qui n’est pas cassé provient de la théorie selon laquelle une chose parfaitement bonne et fonctionnelle ne devrait pas être démontée et triturée pour le seul plaisir d’y toucher. Cela a du sens. Mais pour une raison ou une autre, cette logique n’est presque jamais appliquée aux choses où elle aurait du sens (je ne suis même pas sûr d’un bon exemple de ce type de chose), mais est au contraire appliquée à des dispositifs complexes qui nécessitent un entretien et une maintenance réguliers afin de fonctionner correctement.
Bien entendu, si votre chaussure n’est pas cassée, ne la mettez pas en pièces pour tenter de la recoller. Mais les systèmes d’infrastructure de votre entreprise n’ont rien à voir avec une chaussure. Ce sont des systèmes vivants, dotés d’un niveau de complexité énorme, qui fonctionnent dans un paysage en perpétuelle évolution. Ils exigent un entretien, une surveillance, des mises à jour constantes, et ainsi de suite, pour rester en bonne santé. Tout comme une voiture, mais bien davantage.
Vous n’entendez jamais, espérons-le, quelqu’un vous dire que vous n’avez pas besoin de changer l’huile de votre voiture tant que le moteur n’a pas serré. Bien sûr que non ; même s’il n’est pas encore cassé, le but est d’effectuer une maintenance pour l’empêcher de casser. Nous savons, avec une voiture, que si nous attendons qu’elle casse, elle sera réellement cassée. De même, nous ne refuserions pas de mettre de l’air dans les pneus tant que les pneus à plat ne sont pas arrachés des roues. Cela n’a tout simplement aucun sens.
Dire à quelqu’un de ne pas entretenir ses systèmes jusqu’à ce qu’il soit trop tard revient à lui dire de les casser. Une voiture correctement entretenue peut durer des centaines de milliers de kilomètres, peut-être des millions. Une voiture sans huile aura de la chance d’atteindre l’autre bout de la ville. Acheter un nouveau moteur tous les quelques jours plutôt que de prendre soin de celui que vous possédez signifie que vous pourriez passer toute une vie sans détruire de moteur.
Il en va de même pour l’infrastructure de votre entreprise. Le code vieillit, les systèmes s’usent, de nouvelles technologies émergent, de nouveaux besoins apparaissent, le réseau interagit avec le monde extérieur, de nouvelles fonctionnalités sont nécessaires, des vulnérabilités et des fragilités sont identifiées et corrigées, des mises à jour sortent, de nouvelles attaques sont développées, et ainsi de suite. Même si aucune nouvelle fonctionnalité n’était jamais créée, les systèmes doivent être gérés et entretenus avec diligence afin de garantir un fonctionnement sûr et fiable – comme une voiture, mais mille fois plus complexe.
En matière de systèmes informatiques, « cassé » signifie inutilement exposé au piratage, au vol de données, à la perte de données, aux interruptions de service et aux inefficacités. Dans le monde réel, nous devrions considérer un système comme cassé dès l’instant où une maintenance est nécessaire. Quelle part des rançongiciels (ransomware) ne constituerait plus une menace aujourd’hui si les systèmes étaient simplement correctement entretenus ? En tant qu’informaticiens, nous devons nous lever et expliquer que des systèmes non entretenus sont déjà cassés ; la catastrophe n’a tout simplement pas encore frappé.
Si nous devions suivre le mantra du “si ce n’est pas cassé, ne le réparez pas” en informatique, nous attendrions *que* nos données soient volées pour corriger les vulnérabilités, ou nous attendrions que les données soient irrécupérables pour vérifier si nous disposions de sauvegardes fonctionnelles. Bien entendu, cela n’a aucun sens. Mais c’est précisément ce qui est souvent suggéré lorsque les gens vous disent de ne pas réparer vos systèmes tant qu’ils ne sont pas cassés – ils vous disent de les laisser casser ! Opposez-vous-y, n’acceptez pas ce genre de conseil. Expliquez que le but d’une bonne maintenance informatique est d’éviter, autant que possible, que les systèmes ne cassent. Éviter la catastrophe, plutôt que de la provoquer.