Nederst på denne siden finner du en liten boks med et bilde av meg. Under bildet og navnet mitt står det «Utvikler». Iblant tenker jeg at det heller burde stått «Avvikler».
Jeg jobber nemlig med avvikling av eldre IT-systemer, som skal erstattes med nye, moderne applikasjoner. At utvikling av nye IT-systemer kan være utfordrende er nokså godt kjent. At avvikling av gamle systemer kan by på sine helt egne utfordringer er noe det dessverre ikke snakkes like mye om.
Jobben med å erstatte systemet jeg jobber med startet en gang på 90-tallet og holder på fremdeles. Det er en lang og spennende historie, men det er ikke den jeg har tenkt å fortelle her. Jeg vil derimot si litt om hvorfor det er behov for å snakke mer om systemavvikling, hvilke vanskeligheter og utfordringer som er vanlig å møte når man forsøker å erstatte noe gammelt med noe nytt, og hvilke lærdommer vi bør ta med oss videre.
Hvorfor er systemavvikling et viktig tema? Er det ikke bare å skru av det gamle systemet når det nye er ferdig bygget?
Som regel er det ikke så enkelt. Overraskende nok kan avviklingen av det gamle systemet være mer komplisert enn utviklingen av det nye.
Må man bygge nye systemer når man allerede har noe som fungerer?
Kanskje et banalt spørsmål, men som jeg likevel mener er verdt å spørre seg. Hvis det eksisterende systemet fungerer bra, og det ligger an til å fungere greit i overskuelig fremtid, mener jeg at det er bedre å heller se på muligheter for å modernisere det systemet man har, fremfor å bygge og ta i bruk noe nytt. Det kan godt hende at det er mulig å bygge et nytt og moderne presentasjonslag over et aldrende, men stabilt og velfungerende system i bunnen.
Hvorfor må man avvikle gamle systemer?
Noen ganger vil man, etter en nøye vurdering, se seg nødt til å avvikle et gammelt system og bygge noe nytt. Ofte dreier det seg om:
- Kostnaden ved å drifte gammel teknologi videre
- Kompetansemangel og alderen på de som jobber med og kjenner systemet og teknologien
- Nye krav og økt kompleksitet som det gamle systemet ikke kan oppfylle
- End-of-life/end-of-support på sentrale komponenter
Drift- og lisenskostnader på en del eldre teknologier kan være betydelige og desto færre som er igjen på gammel teknologi, jo dyrere blir det gjerne. Leverandørene må fordele sine kostnader på færre kunder, eller de rett og slett ser sitt snitt til å håve inn mest mulig penger på de kundene som «sitter fast» på deres teknologiske plattform – fram til programvaren eller plattformen ikke supporteres eller lisensieres lenger. Det kan også være kostbart å skaffe nødvendig kompetanse, hvis det i det hele tatt er mulig, etter hvert som ekspertisen når pensjonsalder.
Samfunnet står heller ikke stille, og nye krav, forventninger, lover og reguleringer, organisasjonsendringer, endrede brukermønster, oppskaleringsbehov og økt kompleksitet kan ofte være faktorer som over tid gjør et ellers robust og godt system utilstrekkelig.
Hva er hovedutfordringene ved systemavvikling?
Det er mange ulike utfordringer, og hvert system er unikt, så det er umulig å svare generelt på dette. Jeg sorterer de vanligste utfordringene inn i følgende hovedområder:
- Økonomi
- Teknologi
- Kompetanse
- Tid
- Kompleksitet
Når man først har bestemt seg for å bytte ut et gammelt system med et nytt, vil fokuset og investeringene alltid være på utvikling av det nye systemet. I den grad man i det hele tatt tenker på avvikling av det gamle, så er det noe man alltids bare kan skyve på inn i fremtiden og som man ønsker å bruke så lite penger på som mulig. Så lenge det fremdeles fungerer og ikke skaper noen store problemer, så er det få som tenker på det.
Nyutvikling er komplisert, tidkrevende og kostbart. Det er to hovedstrategier man må velge mellom. Den første strategien går ut på å rulle ut det nye systemet fortløpende og at det tar over funksjonalitet gradvis. Dette krever at man må drifte både det nye og det gamle systemet i parallell. Dette kan være en svært krevende øvelse for organisasjonen, og noe jeg kaller for «den teknologiske spagaten».
Den andre strategien er mer velkjent. «Big Bang» går ut på at det nye systemet bygges mer eller mindre fullstendig ferdig før det settes i produksjon, og tar da helt og holdent over for det gamle systemet i sin helhet. Dette er iblant nødvendig, men som regel også svært risikabelt. Skulle man være så uheldig at det går fullstendig galt, sitter man tilbake med et ubrukelig nytt og kostbart system. Og enda verre, en fortsatt avhengighet til et gammelt system som sannsynligvis er i enda dårligere forfatning enn det var etter å ha blitt nedprioritert i budsjettene til fordel for en kostbar nyutvikling.
Systemavvikling er sjelden ett enkelt øyeblikk der man «slår av lyset» og går videre, men oftest en lang, krevende og risikofylt prosess som krever planlegging, kompetanse og tilstrekkelig investering.
Likevel behandles avvikling ofte som noe sekundært – et problem man kan ta senere, når det nye systemet endelig er på plass. Det er dette som gjør avvikling mer kostbart, langvarig og smertefullt enn det kunne vært.
Avvikling bør heller ikke være noe man først begynner å tenke på når et system nærmer seg slutten av levetiden. Det burde være en kontinuerlig aktivitet gjennom hele systemets livsløp. Håndtering av teknisk gjeld og fjerning av komponenter som ikke lenger brukes blir sjelden prioritert, fordi det ikke gir noen umiddelbar og målbar verdi. Det vil derimot gi potensielt store gevinster i avviklingsfasen
Gamle systemer forsvinner ikke av seg selv. De fortsetter å koste penger, binde kompetanse, skape risiko og legge føringer for hvordan organisasjonen kan utvikle seg videre. Skal man lykkes med modernisering, må avvikling sees som en integrert del av løsningen – ikke som en ettertanke.
Spørsmålet er derfor ikke om man har råd til å prioritere systemavvikling – men om man har råd til å la være.






