Nazaj na zapise
M-04·Prenova

Prenova zastarelega sistema

ModernizacijaArhitekturaTveganje

Kako prenovimo sistem, od katerega je odvisno poslovanje, ne da bi tvegali s popolnim prepisom.

FIG.Pristop
01 · IZZIVV čem je pravi problem02 · PRISTOPKako se lotimo03 · REZULTATKaj se spremeni
01 · Izziv

Sistem je ključen za poslovanje, vendar je zastarel in občutljiv na spremembe. Vsak poseg je tvegan, popoln prepis pa se pogosto zavleče ali obstane na pol poti.

02 · Pristop

Obstoječi sistem ohranimo v uporabi, posamezne dele pa postopoma izločamo in nadomeščamo. S samodejnimi testi ves čas preverjamo, ali vse še vedno deluje pravilno.

03 · Rezultat

Spremembe postanejo manj tvegane in bolj predvidljive. Nove različice lahko objavljamo pogosto, saj je tveganje razdeljeno na majhne in obvladljive korake.

Ta zapis prikazuje naš pristop k tovrstnemu izzivu. Ne opisuje projekta za konkretno stranko.

Zakaj sistema ne prepišemo v celoti

Popoln prepis se zdi kot nov začetek, vendar v praksi pogosto pomeni več mesecev vzporednega dela: stari sistem mora še vedno delovati, novi pa še ni pripravljen. Poslovanje ne more čakati. Zato obstoječi sistem ohranimo v uporabi in ga prenavljamo po delih.

Kako se lotimo

  • Najprej razumemo dejansko delovanje sistema. V njem so pogosto nenapisana pravila, od katerih so odvisni pomembni delovni postopki.
  • Samodejno preverjanje. Pred prvo spremembo s testi zabeležimo pričakovano delovanje, da morebitne napake odkrijemo takoj.
  • Prenova po delih. Izločimo eno zaključeno funkcionalnost, jo nadomestimo in šele nato nadaljujemo z naslednjo. Obstoječi sistem medtem nemoteno deluje.
  • Vsak korak gre v uporabo. Vsako fazo zaključimo z delujočo izboljšavo v produkciji, ne z nedokončano kodo, ki čaka na oddaljeni končni rok.

Kaj se spremeni

Ekipa lahko nove različice objavlja pogosteje in z manj skrbi, saj je tveganje razdeljeno na majhne korake. Tehnični dolg se zmanjšuje sproti, namesto da bi se vse reševanje prelagalo na popoln prepis, ki morda nikoli ne bo končan.

Odprti za projekte

Imate podoben problem?

Povejte nam, kaj želite doseči. Iskreno vam bomo povedali, kako bi se izziva lotili in kaj predlagamo kot naslednji korak.