Til innhold
Aktuelt

AI gjør modernisering av legacy-systemer enklere enn noen gang

Gamle, forretningskritiske systemer kan være både dyre og risikable å modernisere. Men alternativet trenger ikke være å rive alt og starte på nytt. Med AI har utviklere fått helt nye muligheter til å forstå komplekse kodebaser, avdekke konsekvensene av endringer og modernisere steg for steg – raskere og med lavere risiko. 

Runar Hvamb Hannevold

Runar Hannevold er Tech Lead og Fagleder Backend i Vokser.

Anniken Tangerud

Anniken Tangerud

Senior UX - innhold og analyse

For bare få år siden innebar det å modernisere eldre løsninger lange analysefaser, omfattende manuell kartlegging og høy risiko.

 

Kunstig intelligens har endret dette. Ikke ved å erstatte utviklerne, men ved å gi dem en helt ny måte å forstå, analysere og videreutvikle komplekse systemer på.

 

Vi tok en prat med Tech Lead og Fagleder Backend, Runar Hvamb Hannevold, for å snakke litt om hva virksomheter og utviklere kan tjene på ved å bruke AI når de moderniserer legacy-systemer og kvitter seg med teknisk gjeld.

 

Men først bittelitt bakgrunn.

 

Fra 1998 til 2026 - den korte versjonen

Runar har jobbet med utvikling av webbaserte løsninger og digitale plattformer siden 1998. . I utviklerøyne blir vel det nesten som å si at han har overlevd både opplysningstiden og samtlige av fasene til den industrielle revolusjonen. 

 

I dag hjelper han team med å designe og utvikle moderne digitale løsninger med fokus på skalerbar arkitektur, skybaserte applikasjoner og utvikling av vedlikeholdbar programvare som skaper langsiktig forretningsverdi.

 

De siste årene har han jobbet mye med  headless-arkitektur, Next.js, TypeScript, ASP.NET Core, Optimizely, Umbraco, Azure og AI-assistert programvareutvikling, og er en forkjemper for ryddig og robust arkitektur og gode brukeropplevelser.

 

Runar jobber ofte på tvers av hele utviklingsløpet; fra arkitektur og teknisk strategi til forretningsforståelse og implementering og denne helhetlige tilnærmingen og solide erfaringen, gir flere fordeler.

 

Hva er et legacy-system og hvorfor blir det et problem?

Legacy-systemer er gjerne forretningskritiske systemer som over tid har blitt krevende å vedlikeholde og videreutvikle. Det kan skyldes utdatert teknologi, manglende leverandørstøtte, teknisk gjeld, komplekse avhengigheter eller at kunnskapen om løsningen har forsvunnet.

 

 Et typisk eksempel er systemer bygget på gamle versjoner av .NET Framework eller andre teknologier som ikke lenger får oppdateringer. Hele løsningen er bygd på det, og det krever mye arbeid å flytte den over til noe nytt. 

 

Samtidig er ofte kunnskapen om hvordan de faktisk henger sammen, spredt mellom kode, mangelfull dokumentasjon og erfaringen til utviklere som ikke lenger er i selskapet.

 

Hva er konsekvensene for en virksomhet som sitter på slike systemer?

 

– Det verste som kan skje er at det oppdages sikkerhetshull i teknologien som systemet bygger på, slik at løsningen kan bli hacket, forteller Runar, og fortsetter:

 

– En annen konsekvens er at utviklingen går tregere. Nye og mer moderne måter å utvikle på kan ikke tas i bruk, fordi man er bundet til den gamle teknologien.

 

Samtidig ser han også at systemene ofte er utviklet over mange år av mange forskjellige utviklere.

 

– Systemet kan ha blitt utviklet gjennom mange år av forskjellige team, på ulike tidspunkter og med ulike arkitekturprinsipper, designmønstre og teknologier. Logikken blir spredt rundt i systemet, og det blir vanskelig å forstå hva som faktisk skjer.

 

Og det er her Runars solide bakgrunn har en stor fordel. Når han kommer inn i et slikt prosjekt, kan han ofte kjenne igjen de ulike teknikkene.

 

– Det betyr ikke at de var feil da systemet ble skrevet, men utviklingsmetodene har endret seg. Erfaring gjør det lettere å forstå hvorfor systemet ser ut som det gjør, forklarer han.

 

Å starte med blanke ark er ikke alltid den beste løsningen

Hva er det kundene bekymrer seg mest for når de sitter på legacy-systemer?

 

– De kvier seg ofte for å gjøre noe med systemet og de tror det ofte blir veldig dyrt å fikse. Det ligger gjerne tusenvis av utviklingstimer bak løsningen, og mange får høre at de bør starte helt på nytt, forteller Runar.

 

Fra et utviklerperspektiv kan det være fristende å begynne med blanke ark, men det er ofte ikke den beste løsningen, mener han.

 

– Det finnes veldig mye forretningslogikk som bare ligger i koden. Den er kanskje aldri dokumentert, og personene som bygde systemet har sluttet. Da blir kundene redde for å miste viktig funksjonalitet hvis de starter helt på nytt. Og når man begynner å grave, finner man ofte mye mer enn man trodde. Derfor sprekker både estimater og tidsplaner, smiler han.

 

Og det er gjerne her den største feilen ligger.

 

Den største feilen ved modernisering av legacy-systemer

Runar mener den største feilen ofte er å starte helt fra bunnen av.

 

– Da må man oppdage alle forretningsreglene på nytt etter hvert som man utvikler løsningen. Slike prosjekter blir enorme. Man kan bruke flere tusen utviklingstimer og kanskje ikke lansere før om to år. Og da blir det fort utdatert igjen. Samtidig må selskapet leve med og vedlikeholde den gamle løsningen parallelt, forteller han.

 

Så langt det lar seg gjøre, mener Runar heller at det er bedre å modernisere gradvis.

 

– Løsriv deler av systemet og skriv om bit for bit, understreker han.

 

Men heller ikke det er helt risikofritt.

 

 – Det jeg pleier å være mest bekymret for er jo hva slags ringvirkninger det å endre en liten del av løsningen vil ha. Gjør jeg det på samme måte som de har gjort det tidligere? innrømmer Runar.

 

Og det er her kunstig intelligens kommer på banen.

 

Slik gjør AI modernisering av leacy-systemer tryggere

 

Fordel 1: AI gir helhetskontroll, forståelse og tilgjengelighet

 

Det er ingen hemmelighet at kunstig intelligens har endret måten utviklere nå jobber på. Den ene er at AI genererer kode og sparer mye tid.

 

– Den andre – og kanskje viktigste – er at jeg kan spørre kodebasen direkte. Jeg kan spørre hva som skjer hvis jeg gjør en endring, hvilke konsekvenser den får, hvor logikken ligger, og hvordan ting er bygget opp, forklarer Runar og fortsetter:

 

– Ja, AI gjør at jeg kan produsere kode raskere. Men den største forskjellen når man gjør endringer i eksisterende systemer er at den hjelper meg å analysere og forstå konsekvensene før jeg gjør endringer.

 

– Jeg har egentlig fått en sparringspartner som kan analysere store deler av kodebasen og hjelpe meg å se sammenhenger på tvers av den. Jeg leser fortsatt alltid koden før jeg bruker den, men AI har fullstendig endret arbeidsmåten min.

 

"Jeg har egentlig fått en sparringspartner som kan analysere store deler av kodebasen og hjelpe meg å se sammenhenger på tvers av den. Jeg leser fortsatt alltid koden før jeg bruker den, men AI har fullstendig endret arbeidsmåten min".

 

Er du imponert?

 

– Ja, jeg blir jo det. Jeg vil jo si at jeg blir helt slått av banen noen ganger, innrømmer han. 

 

Runar trekker også frem en annen positiv side ved denne nye måten å jobbe på. Nemlig at kontrollen, forståelsen og tilgjengeligheten over komplekse systemer AI gir, også gir utviklerne (og selskapene) trygghet og at den reduserer risikoen for feil.

 

Fordel 2: trygghet og mindre risiko

 

Kunstig intelligens gjør rett og slett utviklere tryggere når de skal deploye endringer i gamle systemer. 

 

– Jeg føler meg mye tryggere på at det jeg leverer faktisk fungerer fordi jeg har langt bedre forståelse av systemet og hvordan det påvirkes før jeg gjør endringer, forteller han og fortsetter:

 

– Den kan analysere og søke på tvers av en stor kodebase langt raskere enn jeg kan manuelt, og hjelpe meg å finne sammenhenger som ellers kunne tatt dager å kartlegge.

 

Den kan også holde oversikt over mye mer kontekst og langt flere sammenhenger enn jeg klarer å ha i hodet samtidig.

 

– Dermed kan jeg spørre hvor logikken ligger, hvilke teknikker som allerede brukes og hvilke følger en endring vil få. Jeg går inn i endringen med et bedre beslutningsgrunnlag, ser konsekvensene tidligere og får færre overraskelser på veien. 

 

For virksomheter som vurderer å modernisere eldre løsninger, tror Runar dette er den største verdien AI tilfører. For det handler ikke alltid om å starte på nytt. Det handler om å ta med seg det beste fra fortiden og bygge videre for fremtiden. 

 

– Du trenger ikke forkaste flere tiår med opparbeidet kunnskap bare fordi teknologien har blitt for gammel. Med moderne AI-verktøy kan vi bevare det som fungerer, forbedre det som bør forbedres og bygge videre på en moderne teknologisk plattform - med langt bedre innsikt enn vi hadde for bare få år siden, understreker han.

 

"Med moderne AI-verktøy kan vi bevare det som fungerer, forbedre det som bør forbedres og bygge videre på en moderne teknologisk plattform - med langt bedre innsikt enn vi hadde for bare få år siden".

 

Men det har jo noen fallgruver, og her kommer over 30 års erfaring med i bagasjen til unnsetning.

 

– AI gir ofte et overbevisende svar, også når grunnlaget er mangelfullt. Derfor må man være kritisk, kvalitetssikre forslagene og fortsatt ta de tekniske beslutningene selv, understreker han.

 

Runar har også et konkret eksempel på hvordan AI kan spare virksomheter for både tid og penger rundt oppgraderinger av systemer.

 

Fra flere dagers arbeid til under én time

 

– Vi skulle oppgradere en løsning til .NET 10. Vi brukte et eksternt komponentbibliotek som ikke lenger kunne brukes uten lisens. Logikken skulle være helt lik, men komponentene måtte byttes ut, forteller han.

 

Det var flere tusen linjer kode, men i stedet for å gå over alt manuelt, tok han i bruk kunstig intelligens. 

 

– AI hjalp meg først med å finne den beste tilnærmingen, og deretter skrev den om koden. Jeg hadde enhetstester som kunne verifisere at logikken fortsatt fungerte.

 

Det som sannsynligvis ville tatt flere dager manuelt, tok under én time.

 

– Da sparte vi både tid og reduserte risikoen for feil. 

 

En annen gevinst kundene kan sitte igjen med kommer når et mindre team med utviklere kan ta ansvar for en større del av løsningen.

 

AI fjerner ikke alle flaskehalser - ennå

 

I en typisk modernisering av et legacy-prosjekt er det vanlig at flere team leverer hver sin del før man ferdigstiller en funksjon. Da går det fortsatt mye tid med til koordinering og venting.

 

– For selv om du nå kan utvikle ting på en halv dag som før tok en uke, er det fortsatt mange avhengigheter av andre. Da får du ikke utnyttet potensialet i all effektiviteten det er snakk om. Du sitter fortsatt og venter. Så den flaskehalsen må vi ta tak i, forklarer han og fortsetter:

 

–  Skal et prosjekt ta kortere tid, er vi nødt til å la et team ta ansvar for en større del av løsningen og verdikjeden. Og den muligheten kan AI gi oss. 

 

Hvordan tror du utviklerrollen ser ut i tiden som kommer? 

 

– Utviklere kommer til å bruke mye mindre tid på å skrive kode. I stedet kommer de til å bruke mer tid på å forstå virksomheten, forretningen og kundens behov. Når AI kan skrive stadig større deler av selve implementasjonen, blir det viktigere å forstå hva som skal bygges enn hvordan hver enkelt kodelinje skrives.

 

Når skjønte du at AI kom til å endre måten vi jobber på? 

 

– Jeg kan ikke peke på ett bestemt øyeblikk. Men utviklingen det siste året har gått ekstremt raskt, og jeg tror faktisk vi bare har sett starten på det, avslutter Runar.

 

 

Nysgjerrig på hvordan vi kan hjelpe deg?

Vi tar gjerne en prat. Du trenger ikke ha hele planen klar. Fortell oss hva som lugger i hverdagen. Sammen finner vi ut hva som er verdt å gjøre nå, hva som kan vente og hvordan dere kan komme videre uten å gjøre det mer komplisert enn nødvendig.