Modernisering af gammelt system, én funktion ad gangen

Det korte svar: et gammelt system moderniseres sjældent bedst ved at slukke det og tænde et nyt. For de fleste virksomheder virker en faseopdelt udskiftning bedre, hvor det nye system overtager én funktion ad gangen, mens det gamle kører videre, indtil data og brugere er flyttet.

24 t
Skriftlig fastpris pr. fase
40+
Færdige integrationer
2016
Bygget software siden

Mange virksomheder kører forretningen på et system, der blev bygget for mange år siden. Det virker stadig, men ingen tør røre det. Den oprindelige udvikler er væk, serveren kører en version, der ikke længere får sikkerhedsopdateringer, og hver ny medarbejder skal læres op i genveje og workarounds. Denne side handler om, hvordan I kommer videre uden et big bang, der lukker driften ned i en uge, og uden at I betaler for at bygge det samme system igen med de samme fejl.

Hvornår er det tid til at udskifte et legacy system?

  • Små ændringer tager uger, fordi ingen kender koden, og alle er bange for at ødelægge noget
  • Systemet kører på software eller servere, der ikke længere bliver sikkerhedsopdateret
  • Medarbejderne fører data i Excel ved siden af, fordi systemet ikke kan det, de har brug for
  • Det kan ikke tale med jeres nye værktøjer, fx regnskab, CRM eller betaling
  • Kun én person ved, hvordan det virker, og den person er på vej på pension eller er allerede væk

Genopbyg, refaktorer eller læg et API udenpå?

Der er grundlæggende fire veje. Valget afhænger mindre af teknologien og mere af, hvor sund datamodellen er, og hvor meget af forretningslogikken der stadig passer til den måde, I arbejder på i dag. Et system med rigtige data og forkerte skærme skal behandles helt anderledes end et system, hvor selve strukturen er forkert.

De fire veje ud af et gammelt system, og hvornår hver af dem giver mening.

TilgangPasser nårRisiko
RefaktoreringKoden er rodet, men teknologien er stadig vedligeholdtLav, men I ender med det samme system, bare pænere
API-lag udenpåKernen virker, men den skal tale med nye apps og integrationerLav til middel, den gamle kerne skal stadig driftes
Faseopdelt udskiftningSystemet skal væk, men forretningen kan ikke stå stilleMiddel, kræver disciplin om rækkefølge og data
Genopbygning på én gangSystemet er lille, eller datamodellen er helt forkertHøj, alt skal virke på skiftedagen

Sådan virker den faseopdelte udskiftning

Udviklere kalder det ofte strangler-mønsteret, opkaldt efter en figenplante, der vokser rundt om et træ, indtil træet kan fjernes. Det nye system bygges ved siden af det gamle og overtager en afgrænset funktion ad gangen. Brugerne mærker en række små skift i stedet for én stor skiftedag.

1

Kortlægning

Vi gennemgår skærme, data og integrationer og finder de funktioner, der gør mest ondt.

2

Lag foran

Et API eller en synkronisering giver det nye system adgang til de gamle data.

3

Første modul

Den mest værdifulde funktion bygges nyt og tages i brug af en lille gruppe.

4

Flyt flere

Modul for modul flyttes brugere og data, mens det gamle system krymper.

5

Sluk

Når intet længere skrives i det gamle system, arkiveres det og lukkes.

Hver fase afsluttes med noget, der er i drift, før næste fase starter.

Datamigrering: det svære er ikke at flytte data

At kopiere tabeller fra en database til en anden er hurtigt. Det tidskrævende er at finde ud af, hvad data faktisk betyder. Felter, der hedder én ting og bruges til noget andet, dubletter af kunder, statusser ingen længere kan forklare, og fritekstfelter med halvdelen af forretningen i. Derfor starter vi altid med en prøvemigrering på en kopi af rigtige data, længe før skiftet.

  • Beslut hvad der skal med, og hvad der kun skal arkiveres
  • Ryd op i dubletter og døde statusser før migreringen, ikke efter
  • Kør migreringen flere gange som script, så den kan gentages på skiftedagen
  • Lad nøglebrugere tjekke stikprøver: kan de genkende deres egne kunder og ordrer?

Kan gammelt og nyt system køre parallelt?

Ja, og det er ofte den sikreste måde. I en periode skriver det nye modul data, mens det gamle system stadig kan læse dem, eller omvendt. Det kræver en klar regel om, hvilket system der er "sandheden" for hver type data, så ingen retter den samme ordre to steder. Parallel drift skal have en slutdato. Ellers ender I med at vedligeholde to systemer i stedet for ét.

Risici ved at udskifte et gammelt system

RisikoHvad der skerSådan styrer vi den
Skjult forretningslogikDet gamle system gjorde noget, ingen vidsteInterview af brugere og gennemgang af rigtige data før design
Dårlig datakvalitetFejl flyttes med over i det nye systemPrøvemigrering og oprydning før skiftet
SkopkrybAlle ønsker lægges oven i udskiftningenFast pris pr. fase, nye ønsker prissættes separat
Modstand hos brugerneFolk bliver i det gamle systemSmå skift, nøglebrugere først og en dato for lukning

Hvad koster det at modernisere et gammelt system?

Det afhænger af, hvor mange moduler der skal flyttes, og hvor rodede data er. Vi har ikke en fast listepris for modernisering. I får en skriftlig fastpris pr. fase inden for 24 timer, når vi har set systemet. Som pejlemærke kan et afgrænset første modul holdes op mod vores webapp-pakker, der starter ved 18.000 kr. + 600 kr./md. med 12 funktioner og én integration. Er I i tvivl om, hvorvidt I overhovedet skal have noget skræddersyet, så læs skræddersyet software vs. standardsystem først.

Vi har bygget portaler, der samler data og arbejdsgange fra flere kilder, blandt andet IT-supportportalen til Mannaz og kundeportaler til Grundfos iGRID. Den nye kode er React, Next.js og TypeScript, og I ejer både kode og data. Læs mere om, hvordan vi bygger webapps.

Udvalgte cases

Bygget af os, i drift i dag

Lederudvikling · IT-supportportal

En IT-supportportal, hvor Mannaz’ medarbejdere selv finder svaret.

Det siger vores kunder

Vi har arbejdet sammen med Ceptiv om flere af vores digitale løsninger, og de er blevet en naturlig del af teamet. De arbejder hurtigt og omsætter idéer til nye designs og klikbare prototyper på kort tid, så vi kan teste med kunderne tidligt i stedet for at diskutere på papir.
Szabolcs Nagy · Lead Global Product Manager, GrundfosLæs casen

FAQ

FAQ om modernisering af gamle systemer

Skal vi bygge helt nyt eller opgradere det gamle system?
Hvis teknologien stadig bliver vedligeholdt, og datamodellen passer til jeres forretning, er refaktorering eller et API-lag ofte nok. Hvis platformen er død, eller strukturen er forkert, betaler det sig at bygge nyt, men i faser. Vi anbefaler sjældent en total genopbygning på én gang, fordi alt så skal virke på samme dag.
Hvad er strangler-mønsteret?
Det er en måde at udskifte et system gradvist. Det nye system bygges ved siden af det gamle og overtager én funktion ad gangen, fx ordrer først, så fakturering, så rapporter. Det gamle system krymper, indtil intet længere skrives i det, og så lukkes det. Brugerne oplever små skift frem for én stor skiftedag.
Mister vi data ved en migrering?
Ikke hvis migreringen testes ordentligt. Vi kører migreringen som et script på en kopi af jeres rigtige data flere gange før skiftet, og nøglebrugere tjekker stikprøver. Det, der ikke skal med i det nye system, arkiveres, så I stadig kan slå gamle sager op. Det gamle system slukkes først, når data er bekræftet.
Hvor lang tid tager en modernisering?
Det afhænger af antallet af moduler og kvaliteten af data. Fordelen ved faser er, at det første modul kan være i drift længe før hele projektet er færdigt, så I får værdi undervejs. I den skriftlige plan får I rækkefølgen af faser, hvad hver fase leverer, og en fast pris pr. fase.
Kan det nye system tale med vores øvrige værktøjer?
Ja. Det er ofte en af hovedgrundene til at modernisere. Vi har over 40 færdige integrationer, blandt andet e-conomic, Dinero, MobilePay, HubSpot og Microsoft 365, og vi bygger forbindelser til jeres egne systemer via API eller synkronisering. Det gamle system kan også kobles på i overgangsperioden.
Hvem ejer koden efter moderniseringen?
I gør. Alt, vi bygger, er skrevet fra bunden i React, Next.js og TypeScript, og I ejer både kode og data. Det er en af de vigtigste forskelle fra mange gamle systemer, hvor viden og kode sidder hos én leverandør. Opsiger I aftalen, tager I koden med.

Fortæl os, hvad der skal bygges

I får et skriftligt fastpristilbud inden for 24 timer. Intet salgsmøde nødvendigt.

Dennis Nielsen

Dennis Nielsen

Head of Operations, Ceptiv

Gratis konsultation

En gratis time med gode råd, før I går i gang.

Beskriv jeres projekt, så kontakter jeg jer hurtigst muligt, og vi aftaler et uforpligtende møde. I går derfra med gode råd til, hvordan projektet kommer godt fra start.

  • Gratis
  • 1 time
  • Uforpligtende