Moderniseringsplanen er klar, budgettet foreløbigt godkendt. Leverandøren stiller det første spørgsmål: »Hvor er systemdokumentationen?«. Det viser sig, at der findes en wiki, sidst opdateret for fem år siden, nogle diagrammer »et sted på netværksdrevet« og kode, der fungerer som sin egen dokumentation. Tilbuddet vokser med en tredjedel. For leverandøren prissætter ikke arbejdet, men usikkerheden.
Denne artikel beskriver en praksis, der fjerner den usikkerhed fra bordet: før nogen rører ved koden i en gammel applikation, genskaber man viden om den. Indtil for nylig betød sådan en fase ugers analytikerarbejde, og de færreste valgte den til. I dag udfører AI størstedelen af analysen på nogle få arbejdsdage. Og det ændrer rækkefølgen i hele projektet.
Først kortet, så koden
At modernisere et system uden aktuel dokumentation minder om at renovere en bygning uden installationstegninger. Det kan lade sig gøre, men hver væg, der hugges op, er et lotteri: måske er der intet bag den, måske et rør, som en halv etage afhænger af. I applikationer er det rør ofte integrationen med en grossist, som kun kodens forfatter huskede, eller den natlige eksport, som bogholderiet i al stilhed bruger.
Derfor er den fornuftige rækkefølge den modsatte af den intuitive. Man begynder ikke med at skrive ny kode og heller ikke med et tilbud. Man begynder med kortet.
Hvad AI trækker ud af kode, database og logfiler
Moderne analyseværktøjer kan læse tre sandhedskilder om systemet: kildekoden, databasestrukturen og logfilerne fra produktionsdriften. Ved at krydse dem opstår et systemkort med fire lag.
Det første er modulerne: hvad systemet består af, og hvad hver del har ansvaret for, beskrevet i et sprog, som også folk uden for IT forstår. Det andet er datastrømmene: hvor data kommer ind, hvad der sker med dem undervejs, hvor de lander. Det tredje er integrationerne, altså alle de steder, hvor applikationen taler med andre systemer: økonomisystemet, lageret, webshoppen, partnerne. Det er dem, der oftest knækker ved ændringer.
Det fjerde lag er det mindst indlysende: død kode. Analysen af logfilerne viser, hvilke funktioner der ikke er blevet kaldt i årevis, og hvilke tabeller ingen har skrevet til siden 2019. I ældre systemer udgør den slags ballast ofte en pæn del af helheden. Hver linje, der ikke skal flyttes med, er en reel besparelse i projektet.
Hvad kortet ændrer i beslutningen »omskrive eller modernisere«
Selve beslutningen har vi behandlet separat i artiklen om de fire kriterier: et beslutningsframework. Systemkortet giver de kriterier hårde data. Uden det vurderes den tekniske gæld på fornemmelsen og risikoen ud fra anekdoter. Med det står det sort på hvidt: hvilke moduler bærer forretningsværdi, hvilke er døde, hvor de integrationer sidder, som hæver risikoen ved enhver ændring.
Resultaterne kan overraske i begge retninger. Nogle gange viser et system, der »skal skrives om fra bunden«, sig at være trekvart sundt, og det rækker at udskifte to moduler. Andre gange omvendt: applikationen ser uskyldig ud, men kortet afslører over ti udokumenterede forbindelser, der gør en delvis modernisering dyrere end en omskrivning. I begge tilfælde træffes beslutningen på data, ikke på følelser. Og en leverandør, der får et kort i stedet for en gåde, prissætter arbejde i stedet for risiko.
Efter vores mening bør genskabelsen af kortet være en selvstændig, første etape i moderniseringsaftalen med sin egen godkendelse. Selv hvis du efter den etape beslutter, at moderniseringen skal udføres af en anden, eller at den slet ikke skal gennemføres, bliver dokumentationen i virksomheden og arbejder videre.
Sådan verificerer du det, AI har genereret
Automatisk genereret dokumentation er ikke et orakel. Den skal efterprøves. Den mest effektive metode er enkel: en gennemgang med den person, der kender systemet bedst, ofte den eneste af slagsen i virksomheden. Forskellen fra den klassiske tilgang ligger i personens rolle. Du beder ikke vedkommende om at nedskrive sin viden, hvilket ingen bryder sig om, og hvilket trækker ud i måneder. Du beder om en gennemlæsning af en færdig beskrivelse, og at pege på »her passer det, her gør det ikke« går mange gange hurtigere end at skrive fra bunden.
En god praksis er at gå nogle af de vigtigste processer igennem fra start til slut: ordre, faktura, reklamation. Beskriver kortet de kritiske datastrømme korrekt sammen med stikprøvevis kontrollerede detaljer, kan man stole på det i de øvrige områder. Det kan gøres på en dag.
Hvad AI ikke kan genskabe
Her et ærligt forbehold: koden fortæller, hvad systemet gør, men ikke hvorfor. En mærkelig undtagelse i rabatberegningen kan være en fejl, eller den kan være en kommerciel aftale fra 2016, der stadig gælder for én stor kunde. Det afgør ingen kodeanalyse. Forretningsintentioner fra et årti tilbage genskabes gennem interviews: korte samtaler med folk fra salg, bogholderi og drift, gennemført med kortet i hånden. Kortet fortæller, hvad man skal spørge om, men svarene har mennesket.
Et emne for sig er applikationens omgivelser: servere, netværk, backup. Om dokumentationen af det lag har vi skrevet i artiklen om audit af infrastrukturdokumentation.
Hos ESKOM AI gennemfører vi kortlægningsfasen med et team af specialiserede AI-agenter under opsyn af erfarne ingeniører: analysen af et typisk virksomhedssystem tager nogle få arbejdsdage, og resultatet er dokumentation, der kan læses af både ledelsen og det tekniske team. Falder beslutningen om modernisering derefter, fortsætter arbejdet i en automatiseret softwareudviklingsproces med fuld testdækning — unit-, integrations-, E2E-, UI-, sikkerheds- og performancetests.
Hvor du starter hos dig selv
Vælg ét system: det, hvis modernisering du har udskudt længst, eller det, du er mest bange for at røre ved. Bestil genskabelsen af dets kort som en selvstændig, lille etape, før du beder nogen om et tilbud på ombygningen. På en gratis konsultation fortæller vi, hvordan sådan en etape planlægges, og hvad du kan forvente af den.
Book en gratis konsultation via kontaktformularen →