Går det att modernisera gamla system?

I regnskogen är kampen om ljuset hård. Strangler fig är en grupp växter som överlever genom att ta över gamla träd. Bit för bit växer de sig starkare runt den gamla stammen, tills ett helt nytt träd har tagit över platsen.

Men vänta nu? Har det här blivit en botanisk blogg? Vad har strypande växter med mjukvara att göra? Jo, strangler fig är namnet på en metod som används för att modernisera gamla system. Istället för att hugga ner hela trädet och vänta på att ett nytt ska växa upp, sker övergången sakta men säkert, tills vi en dag har en helt ny produkt.

Låt säga att ett företag sitter med ett stort system med 10 år på nacken. Kunderna klagar på för krångliga processer och hela verksamheten skulle må bra av modernare verktyg. Att bygga nytt från grunden tar tid. Under tiden sitter företaget kvar med det gamla systemet tills det nya är färdigt. Vill det sig illa drar det ut så länge på tiden att arkitekturen för det nya har hunnit bli gammalt innan det är klart.

Att byta ut ett system är nästan alltid en mödosam process. Strangler fig-metoden går inte alltid fortare, men det blir snabbare effekt för företaget och med en lägre risk. Metoden skapar en bättre upplevelse för kunden, än om man jobbar med big bang release där inget sjösätts förrän allt är helt färdigt. Genom åren har vi sett media skriva om stora kostsamma IT-projekt som skrotas eftersom det har visat sig att den tänkta arkitekturen inte håller i slutändan. Miljoner, ibland miljarder, kronor som bara försvinner ut och blir till ingenting.

Med strangler fig-metoden bygger vi nytt, del för del. Det blir två system som ligger parallellt så att inga funktioner försvinner under resans gång. Kanske är det ett nytt bokningssystem som är det första som ska göras? Genom att byta ut en modul i taget får vi effekt direkt. Det dröjer inte 2 år innan det blir förbättringar. Det blir också mycket lättare att jobba med feedback från användare då det faktiskt finns funktioner att testa direkt i verksamheten. Det blir en bättre loop med snabbare iterationer och i slutändan bättre produkter.

Så, nästa gång ni står inför en större systemomvandling, tänk inte big bang, tänk på de stora kraftiga träden i regnskogen, som långsamt byts ut med hjälp av friska nya grenar, ett blad i taget.

Föregående
Föregående

Migrating from System.Runtime.Serialization to System.Text.Json

Nästa
Nästa

Moving from Azure Pipelines to Github Actions