Modernləşdirmə və miras qalmış sistemlərin xilası
Kim və nə vaxt yazdığı bəlli olmayan sistemi götürür, onu başa düşür və işlək vəziyyətə gətiririk — audit, refaktorinq və biznesi dayandırmadan miqrasiya ilə. Əvvəlcə əsas suala dürüst cavab veririk: təkmilləşdirmək, yoxsa dəyişmək.
Həll etdiyimiz problem
Sistem işləyir, amma müəllifi yoxa çıxıb, sənədləşmə yoxdur, hər dəyişiklik isə hər şeyi uçurmaq riskidir. Biznes bir tətbiqin əsiridir və ona toxunmaqdan qorxur. Yeni podratçılar bir baxışla «hər şeyi sıfırdan yenidən yazmağı» təklif edir — böyük pula və yarımillik dayanmaya — çünki özgə kodda baş çıxarmaq uzun çəkir və onlara sərf etmir, sizə yox. Biz başqa cür gedirik: əvvəlcə audit, sonra dürüst tövsiyə — və çox vaxt sistemi yenidən yazmaqdan daha ucuz xilas etmək olar.
Nə daxildir
Kod və arxitektura auditi: içəridə nə var, risklər haradadır, nə «can sözünə» dayanıb. Hər şeyi yenidən yazmadan kritik sahələrin refaktorinqi. Verilənlərin və proseslərin aktual stekə miqrasiyası. Sənədləşmənin bərpası. Biznesin işini dayandırmadan mərhələli keçid.
İş necə qurulur
Birinci mərhələ — audit — sizə sistemin xəritəsini və dürüst hökmü verir: təkmilləşdirmək, yoxsa dəyişmək. Audit pulsuz analiz mərhələsinə daxildir — bizim hər layihəmizdə «10% Yolu» üzrə olduğu kimi: təhlili, konsepsiyanı və modernləşdirmə planını öz hesabımıza edirik, siz isə əsas büdcəni qoymazdan əvvəl həcmi və dəyəri başa düşürsünüz. Ödəməyə planı görüb onunla razılaşandan əvvəl başlamırsınız. → necə işləyirik
«Təkmilləşdirmək, yoxsa dəyişmək» — necə qərar veririk
Emosiyaları yox, sahiblik dəyərini hesablayırıq: cari sistemin saxlanması nəyə başa gəlir — dəyişmənin dəyəri və miqrasiya riski ilə müqayisədə. Yenidən yazmaq sərf etmirsə — yenidən yazmağı təklif etmərik. Sizin qorxunuzdan qazanan podratçı ilə büdcənizi sayan mühəndislər arasındakı fərq də elə budur. Meyar cədvəlli geniş qərar çərçivəsi — «Köhnə sistemi düzəltmək, yoxsa yenidən yazmaq» məqaləsində.
Texnologiyalar
İstənilən miras ilə işləyirik: dillərin və freymvorkların köhnəlmiş versiyaları, monolitlər, unudulmuş steklər. Aktual əsasa köçürürük — Python, TypeScript, Go, müasir verilənlər bazaları — hədəf steki dəbə yox, sizin tapşırığınıza uyğun seçərək. Lazım olduqda konkret köhnə texnologiya üçün nadir kompetensiyaları cəlb edirik. (matrisaya bax: Xidmətlər)
Ödəniş modeli
«10% Yolu» üzrə: audit və modernləşdirmə planı — bizim hesabımıza; ilk işlək nəticə (məsələn, refaktorinq edilmiş kritik modul və ya miqrasiya olunmuş sahə) — qeyd olunmuş qiymətləndirmənin 10%-i; sonra — mərhələli ödəniş. Dəyər fərdi hesablanır və əsas işlərə başlamazdan əvvəl qeydə alınır. Layihənin miqyasını kalkulyatorda qiymətləndirmək olar.
Legacy-sistem auditinin çek-listi (nəyi yoxlayırıq)
Prosesimizin artefaktı — hər audit bunun üzrə keçir:
- İlkin kod — bütövlükdə varmı, yığılırmı, hansı versiyadır, sonuncu kim düzəldib.
- Arxitektura — monolit, yoxsa modullar, «dar yerlər» haradadır, yük altında ilk nə çökəcək.
- Verilənlər — BB strukturu, tamlıq, dublikatlar, miqrasiyada nə itəcək.
- Asılılıqlar — dəstəklənməyən köhnəlmiş kitabxanalar və platformalar, zəifliklər.
- Sənədləşmə və biliklər — təsvir varmı, yoxsa hər şey yoxa çıxmış müəllifin «başındadır».
- İnteqrasiyalar — sistem nə ilə bağlıdır, dəyişikliklərdə nə qırılacaq.
- Təhlükəsizlik — girişlər, parolların/verilənlərin saxlanması, açıq deşiklər.
- Sahiblik dəyəri — dəstək indi nəyə başa gəlir və hara doğru artır.
Auditin nəticəsi: sistemin xəritəsi + hər modul üzrə hökm (saxlamaq / refaktorinq / dəyişmək) + «təkmilləşdirmək vs yenidən yazmaq» hesabı.
Tipik ssenari (illüstrasiya, real müştəri deyil)
On il əvvəlin uçot tətbiqi, ilkin kodları qismən itib, developer əlçatmazdır, biznes yeniləmələrdən qorxur. Bu, adətən bizdə necə həll olunur: audit → yığımın və sənədləşmənin bərpası → kritik modulların refaktorinqi → verilənlərin dayanmadan mərhələli miqrasiyası. Məqsəd — sıfırdan başlamaq yox, idarəolunanlığı qaytarmaqdır.
FAQ
- Siz həmişə sıfırdan yenidən yazmağı məsləhət görürsünüz? Xeyr. Əvvəlcə audit, sonra dürüst hökm. Çox vaxt təkmilləşdirmə dəyişmədən ucuzdur — elə də deyəcəyik.
- Bəs ilkin kodlar itibsə? Olan əsasında yığımı və sənədləşməni bərpa edirik; riskləri audit mərhələsində qiymətləndiririk.
- İşlər zamanı biznes dayanacaq? Xeyr — mərhələli köçürürük, miqrasiya zamanı köhnə və yeni paralel işləyir.
- Nəticə kimə məxsusdur? Mərhələ ödənildikdən sonra sifarişçiyə.