Hvad er et legacy-system?
Et legacy-system er et system som stadig bærer forretningen, men som bygger på teknologi eller viden der er blevet svær at vedligeholde og ændre. Legacy handler ikke om alder: Selv et fem år gammelt system kan være legacy hvis ingen tør røre ved det. Vejene frem er at indkapsle, modernisere trinvis eller erstatte helt.
Legacy-system er et udtryk der ofte udtales med et suk. Det forbindes med støvede, ældgamle systemer som burde være udfaset for længe siden. Men det billede rammer ved siden af og kan føre til forkerte beslutninger. Her er hvad et legacy-system faktisk er, hvordan du genkender det og hvad du kan gøre ved det.
Legacy betyder svært at ændre, ikke gammelt
Den mest udbredte misforståelse er at legacy er ensbetydende med gammelt. Det passer ikke. Et legacy-system er et system der stadig bærer forretningen, altså gør gavn hver dag, men som er bygget på teknologi eller viden der er blevet svær at vedligeholde og ændre.
Alderen er underordnet. Et tyve år gammelt system der er blevet passet godt, dokumenteret og holdt i live, behøver ikke at være legacy. Samtidig kan et system der blev bygget for fem år siden, allerede være legacy hvis det blev lavet sjusket, hvis de folk der byggede det, er væk og hvis ingen længere tør røre ved det. Det er foranderligheden der afgør det, ikke antallet af år.
Med den definition bliver legacy et spørgsmål om risiko og handleevne, ikke om teknologiens fødselsår.
Advarselstegnene
Legacy sniger sig som regel ind på en. Der er sjældent en bestemt dag hvor et system “bliver” legacy, men der er tydelige tegn på at det er sket:
- Én person kender systemet. Viden sidder i hovedet på en eneste medarbejder, og alle ved at netop den person ikke må komme noget til. Det er måske det stærkeste signal af alle.
- Ingen tør opgradere. Ethvert forslag om at opdatere en komponent eller ændre noget mødes med bekymring for hvad der kan gå i stykker, så man lader være og slæber rundt på gammel teknologi og sikkerhedshuller.
- Dokumentationen mangler eller passer ikke. Det der engang blev skrevet ned, er forældet, og sandheden findes kun i koden og i hukommelsen hos nogle få.
- Alt tager uforholdsmæssigt lang tid. Selv små ændringer bliver dyre og langsomme fordi ingen rigtig overskuer konsekvenserne.
Kan du genkende mere end ét af disse tegn, har I med stor sandsynlighed et legacy-system, uanset hvor nyt det føles.
Et konkret scenarie
En virksomhed kører sin ordrehåndtering i et system der blev bygget internt for otte år siden. Det virker, men kun én af de oprindelige udviklere er tilbage, og det er vedkommende der reparerer alt når det driller. Der findes ingen dokumentation der er navnet værd. Når vedkommende går på en længere orlov, tør virksomheden næsten ikke røre ved systemet. En ny integration der burde tage to uger, trækker ud i måneder fordi ingen andre forstår hvordan delene hænger sammen.
Systemet er ikke gammelt målt i år, men det er i allerhøjeste grad legacy: Forretningen afhænger af noget som ingen længere behersker, og frygten for at røre ved det bremser virksomheden.
Tre veje frem
Når I først har identificeret et legacy-system, findes der grundlæggende tre strategier med forskellig risiko og forskellige omkostninger:
- Indkapsle. Lad systemet blive stående, men byg et beskyttende lag omkring det så nye dele kan kobles på uden at røre ved kernen. Hurtigt og med lav risiko, men løser ikke det grundlæggende problem.
- Modernisere trinvis. Udskift én del ad gangen mens systemet kører videre, indtil det gamle gradvist er erstattet. Tager længere tid, men holder risikoen lav og forretningen i gang.
- Erstatte. Byg et nyt system og gå over. Giver en ren start, men er den mest risikable og bekostelige vej, især hvis alt skal skiftes på én gang.
Hvilken vej der er den rigtige, afhænger af hvor forretningskritisk systemet er, hvor stor risikoen er og hvad budgettet tillader. For det meste af det der virkelig bærer forretningen, er trinvis modernisering den tryggeste vej.
Sådan tager du næste skridt
Begynd med en ærlig kortlægning: Hvad afhænger af systemet, hvem kender det og hvad sker der hvis det falder ud? Det billede afgør hvor meget det haster og hvilken vej der passer. Vil I have hjælp til at vurdere et legacy-system og vælge den rigtige strategi, laver vi hos Weapp gerne gennemgangen sammen med jer før I binder jer til en bestemt vej.
Ofte stillede spørgsmål
Betyder legacy bare at systemet er gammelt?
Nej, det er den mest udbredte misforståelse. Legacy handler om at systemet er svært at ændre og vedligeholde, ikke om hvor mange år det har på bagen. Et velholdt system kan være tyve år gammelt uden at være legacy mens et rodet system kan blive legacy på få år. Det er foranderligheden der afgør det, ikke alderen.
Hvordan ved vi om vi har et legacy-system?
Advarselstegnene er tydelige. Én enkelt person kender systemet og bliver uundværlig. Ingen tør opgradere eller ændre noget af frygt for at noget går i stykker. Dokumentationen mangler eller er forældet, og hver ny funktion tager uforholdsmæssigt lang tid. Kan I genkende det, har I sandsynligvis et legacy-system uanset dets alder.
Hvorfor er legacy-systemer en risiko?
Fordi forretningen afhænger af noget som ingen længere behersker fuldt ud. Er viden samlet hos én person, er I sårbare den dag personen stopper. Tør ingen opgradere, hober sikkerhedshullerne sig op, og teknologien forældes. Og når ændringer bliver dyre og langsomme, bremses hele forretningen af et system der burde støtte den.
Hvilke muligheder er der for at komme videre?
Groft sagt tre. Indkapsl: Lad systemet være, men byg et beskyttende lag omkring det så nyt kan kobles på. Modernisér trinvis: Udskift én del ad gangen under drift, med lavere risiko. Erstat: Byg nyt og gå over. Hvad der passer, afhænger af risiko, budget og hvor forretningskritisk systemet er.
Skal vi erstatte hele systemet på én gang?
Sjældent, og ofte er det den dårligste idé. Et stort skifte hvor alt slukkes og det nye tændes samtidig, er den mest risikable vej. For forretningskritiske systemer er trinvis modernisering, én bid ad gangen mens det gamle kører videre, næsten altid tryggere selvom det tager længere tid. Risikoens størrelse bør styre valget.