Als het niet kapot is, repareer het dan niet
We hebben dat allemaal vaak genoeg gehoord, toch? “Als het niet kapot is, repareer het dan niet.” Mensen gebruiken het overal als een manier om verbeteringen, modernisering of refactoring te ontmoedigen. Veel mensen zeggen het en, zoals bij veel uitdrukkingen van deze aard, lijkt het op het eerste gezicht redelijk. Maar in de praktijk is het dat eigenlijk niet, of in elk geval niet zoals het normaal gesproken wordt gebruikt, omdat het niet goed wordt begrepen.
Dit lijkt sterk op het concept dat je mensen vertelt om niet al je eieren in één mandje te leggen, waar het vaker wel dan niet wordt toegepast op situaties waarin de analogie van de eieren en het mandje niet van toepassing is of omgekeerd is aan de werkelijkheid. Maar omdat het een uit het hoofd geleerde uitdrukking is, vergeten ze dat er een metafoor is die stand moet houden om hem te laten werken. Het kan leiden tot vreselijke beslissingen omdat het een irrationele angst oproept die nergens op gebaseerd is.
Op vergelijkbare wijze komt het idee om dingen die niet kapot zijn niet te repareren voort uit de theorie dat iets wat volkomen goed en functioneel is, niet uit elkaar gehaald en aan geprutst zou moeten worden alleen maar om eraan te prutsen. Dit is logisch. Maar om de een of andere reden wordt deze logica vrijwel nooit toegepast op dingen waarbij het wél logisch zou zijn (ik kan zelfs niet eens een goed voorbeeld van zoiets bedenken), maar wordt deze in plaats daarvan toegepast op complexe apparaten die regelmatig onderhoud en zorg vereisen om goed te werken.
Natuurlijk, als je schoen niet kapot is, scheur hem dan niet uit elkaar en probeer hem niet weer aan elkaar te lijmen. Maar de infrastructuursystemen van je bedrijf lijken in niets op een schoen. Het zijn levende systemen met een enorme mate van complexiteit die functioneren in een voortdurend veranderend landschap. Ze vereisen constant onderhoud, toezicht, updates enzovoort om gezond te blijven. Net als een auto, maar in veel sterkere mate.
Je hoort, hopen we, nooit iemand je vertellen dat je de olie in je auto niet hoeft te verversen totdat de motor is vastgelopen. Natuurlijk niet, want ook al is het nog niet kapot, het punt is om onderhoud te plegen om te voorkomen dat het kapotgaat. We weten met een auto dat als we wachten tot hij kapotgaat, hij echt kapot zal zijn. Op vergelijkbare wijze zouden we niet weigeren om lucht in de banden te doen totdat de lekke banden van de wielen zijn gescheurd. Het slaat gewoon nergens op.
Iemand vertellen om systemen niet te onderhouden totdat het te laat is, is hetzelfde als hem vertellen om ze kapot te maken. Een goed onderhouden auto kan honderdduizenden kilometers meegaan, misschien wel miljoenen. Een auto zonder olie zal blij mogen zijn als hij de stad doorkomt. Elke paar dagen een nieuwe motor kopen in plaats van zorg te dragen voor de motor die je hebt, betekent dat je een heel leven lang kunt rijden zonder een motor te vernielen.
Hetzelfde geldt voor de infrastructuur van je bedrijf. Code veroudert, systemen slijten, nieuwe technologie komt op, nieuwe behoeften ontstaan, het netwerk heeft interactie met de buitenwereld, nieuwe functies zijn nodig, kwetsbaarheden en fragiliteit worden geïdentificeerd en verholpen, updates komen uit, nieuwe aanvallen worden ontwikkeld enzovoort. Zelfs als er nooit nieuwe functies werden gecreëerd, moeten systemen zorgvuldig beheerd en onderhouden worden om een veilige en betrouwbare werking te waarborgen – net als een auto, maar duizend keer complexer.
In termen van IT-systemen betekent kapot: onnodig blootgesteld aan hacking, gegevensdiefstal, gegevensverlies, downtime en inefficiënties. In de echte wereld zouden we het systeem als kapot moeten beschouwen op het moment dat er onderhoud nodig is. Hoeveel ransomware zou vandaag de dag geen bedreiging vormen als systemen simpelweg goed onderhouden werden? Als IT moeten we opstaan en uitleggen dat niet-onderhouden systemen al kapot zijn, de ramp heeft alleen nog niet toegeslagen.
Als we het mantra van “als het niet kapot is, repareer het dan niet” in IT zouden volgen, dan zouden we wachten *totdat* onze gegevens gestolen waren om kwetsbaarheden te patchen, of wachten totdat gegevens onherstelbaar waren om te kijken of we werkende back-ups hadden. Dat slaat natuurlijk nergens op. Maar dit is wat er vaak wordt gesuggereerd wanneer mensen je vertellen om je systemen niet te repareren totdat ze kapotgaan – ze vertellen je om ze kapot te laten gaan! Verzet je ertegen, accepteer dat soort advies niet. Leg uit dat het doel van goed IT-onderhoud is om te voorkomen dat systemen kapotgaan, waar maar mogelijk. Een ramp vermijden, in plaats van hem uit te nodigen.