Fimbul Martin Koksrud Bekkelund

Episode 19: If it works, touch it!

Det finnes et uttrykk som heter «If it works, don't touch it!». Jeg slår heller et slag for uttrykket «If it works, touch it!» Om risiko knyttet til å la fungerende kode og løsninger forbli urørt over tid.

Transkripsjon

541 ord

Det finnes et uttrykk som heter «If it works, don't touch it!». Jeg slår heller et slag for uttrykket «If it works, touch it!»

Hei, Martin her, og du lytter til Fimbul!

«If it works, don't touch it!» betyr at ting som fungerer skal du la være i fred, slik at du ikke risikerer å ødelegge det. I teknologibransjen betyr det at fungerende kode og løsninger skal forbli urørt fordi det for øyeblikket fungerer som det skal. Og kjørende kode som fungerer er selvfølgelig det man ønsker aller mest, for da går forretningen av seg selv.

Ved første øyekast virker en slik tilnærming fornuftig. Hvorfor i all verden skal man tukle med noe som fungerer, og dermed tilføre risiko for at det slutter å fungere?

Vel, det er flere årsaker til at du skal tukle med fungerende kode og løsninger.

For det første inngår fungerende kode og løsninger som oftest i en større helhet. Koden er en del av annen kode og koden kjører i en infrastruktur med mange andre avhengigheter som biblioteker, containere, operativsystemer, brannmurer og nettverk. Både kode og infrastruktur må aktivt forvaltes over tid, det betyr at biblioteker må oppdateres, komponenter må oppdateres, operativsystemer må oppdateres og annen kode som tilstøter den fungerende koden ofte skrives om.

For det andre er det ikke slik at fungerende kode er optimal kode. Sannsynligvis kan den skrives bedre. I en nylig omskriving av en funksjon på jobben, fant utviklerne at funksjonen gikk fra å ta 300 millisekunder til 20 millisekunder etter omskrivning og optimalisering. Nå tenker du kanskje at 280 millisekunder ikke er så mye, men gjør man denne operasjonen nok ganger blir plutselig forskjellen i ressursbruk betydelig. Optimalisering av kode gir bedre ressursutnyttelse og dermed reduserte kostnader i driften. Det er blant årsakene til at open source og fri programvare som oftest er å foretrekke, fordi koden er fritt tilgjengelig for alle å forbedre.

For det tredje må man før eller siden ta i fungerende kode, også dersom man har hatt som prinsipp å ikke røre fungerende kode. Den dag i dag finnes det COBOL-kode i drift i kritisk norsk infrastruktur. Den fungerer, men den er vanskelig å forvalte fordi programmeringsspråket tilhører en helt annen tid og ikke er fremtidsrettet. Den har blitt liggende urørt nettopp fordi noen har ment at fungerende kode ikke skal røres. Og nå betaler de prisen. Å finne kompetanse til gamle løsninger blir stadig vanskeligere og dermed dyrere, og til slutt risikerer man å sitte på fungerende kode som ingen klarer å ta i og dermed utgjør en stor risiko hvis den plutselig en dag ikke fungerer lenger, eller man trenger å endre den av forretningsmessige hensyn.

Det finnes sikkert flere årsaker også, men jeg regner med at du allerede nå har forstått poenget. Ting som forblir urørt råtner over tid. Det må aktivt forvaltes, hvis ikke utgjør det bare en stadig økende risiko.

Men nå trenger jeg DIN hjelp! Jeg trenger hjelp til å dele erfaringene i Fimbul. Jeg trenger DIN hjelp til å dele Fimbul med minst én venn! Én venn hvor du tenker: «Dette tror jeg du vil ha nytte av!» Be dem om å besøke fimbul.tech.

Tusen takk for at du lytter til Fimbul, og for at du deler! Vi høres!

Kjenner du deg igjen i noe av dette?

Jeg heter Martin Koksrud Bekkelund og hjelper virksomheter med å levere på strategien sin.