Stari sustav koji „radi, ali više ne odgovara potrebama” jedna je od najčešćih situacija u B2B projektima. Objašnjavamo kako pristupiti migraciji bez rizika.
„Imamo sustav koji radi 15 godina. Nitko točno ne zna kako funkcionira, a jedini čovjek koji ga je razvijao otišao je u mirovinu. Trebamo novo rješenje, ali si ne možemo priuštiti zastoj.”
S takvom se situacijom redovito susrećemo. Rješiva je, ali traži pažljiv pristup.
Zašto je migracija legacy sustava složena?
Nedokumentirana poslovna logika
Legacy sustav godinama se nadograđivao i u kodu je nakupio mnogo poslovne logike. Provjere, izračuni i posebni slučajevi negdje su zakopani u if-else blokovima koji su nastajali usput, prema potrebi.
Zato migracija znači više od prenošenja podataka: treba razumjeti postojeću poslovnu logiku i ponovno je napisati.
Integracije za koje nitko ne zna
Stari je sustav vjerojatno povezan s računovodstvenim programom, e-poštom, a možda i s nekim vanjskim servisom. Neke su od tih integracija dokumentirane, a mnoge nisu.
Korisnici navikli na staro sučelje
Promjena sučelja uvijek nailazi na otpor. Korisnicima koji godinama rade na isti način treba vremena za prilagodbu, koju treba planirati, a ne prepustiti slučaju.
Naš pristup: paralelni rad
Ne gasimo stari sustav i ne pokrećemo novi istog jutra. Oba sustava neko vrijeme rade usporedno:
- Analiza: dokumentiramo postojeću poslovnu logiku, mapiramo podatke i popisujemo integracije.
- Razvoj: izrađujemo novi sustav s novim sučeljem i suvremenom arhitekturom.
- Testiranje: novi sustav radi usporedno sa starim, a mi uspoređujemo njihove rezultate.
- Prelazak: korisnike postupno prebacujemo na novi sustav, a stari još neko vrijeme ostaje kao pričuva.
Migracija podataka
Podaci iz starih baza rijetko su uredni. Ima duplikata, praznih (null) vrijednosti tamo gdje ih ne bi smjelo biti i formata koji se razlikuju od zapisa do zapisa.
Zato su čišćenje i normalizacija podataka uvijek dio migracije, a to je klijentu korisno i samo po sebi.
Studija slučaja: od desktop aplikacije do web aplikacije
Jedan je naš klijent imao desktop aplikaciju razvijenu u staroj .NET tehnologiji. Radila je samo na Windows računalima, bila je spora i nije podržavala istodoban rad više korisnika.
Što smo napravili:
- tri tjedna analize poslovne logike (razgovori s korisnicima, pregled koda)
- suvremenu web aplikaciju s istom poslovnom logikom, ali novim korisničkim sučeljem
- migraciju podataka iz Access baze u SQL Server
- dva tjedna paralelnog rada starog i novog sustava
- postupan prelazak, ured po ured
Rezultat: poslovanje nije stalo nijednom. Korisnici su već u prvom tjednu pohvalili brzinu nove aplikacije i to što joj mogu pristupiti s bilo kojeg uređaja.
Ukratko
Migracija legacy sustava ne radi se na brzinu, ali uz dobar plan ne mora biti rizična. Najvažniji su temeljita analiza, dokumentiranje i razdoblje paralelnog rada.
Ako imate sustav koji „radi, ali bi mogao bolje”, razgovarajmo.
Autor
Osnivač Unitpicka i softverski arhitekt. Poslovni softver razvija od 2003., a danas vodi razvoj vlastitog SaaS proizvoda UnitLook.
Imate projekt na umu?
Javite nam se i razgovarajmo o vašem projektu, bez obveze.