Modernizācijas plāns gatavs, budžets sākotnēji apstiprināts. Izpildītājs uzdod pirmo jautājumu: „Kur ir sistēmas dokumentācija?". Izrādās, ka ir wiki, kas pēdējoreiz atjaunināta pirms pieciem gadiem, dažas shēmas „kaut kur tīkla diskā" un kods, kas pats sev kalpo par dokumentāciju. Tāme pieaug par trešdaļu. Jo izpildītājs nenovērtē darbu, bet nenoteiktību.
Šis teksts apraksta praksi, kas šo nenoteiktību noņem no galda: pirms kāds pieskaras vecas lietotnes kodam, tiek atjaunotas zināšanas par to. Vēl nesen šāds posms nozīmēja nedēļām ilgu analītiķa darbu, un reti kurš uz to izšķīrās. Šodien MI lielāko daļu šīs analīzes paveic darba dienās. Un tas maina visa projekta secību.
Vispirms karte, tad kods
Sistēmas modernizācija bez aktuālas dokumentācijas atgādina ēkas remontu bez komunikāciju plāna. Var, bet katra sienas atkalšana ir loterija: varbūt aiz tās nekā nav, bet varbūt caurule, no kuras atkarīgs puse stāva. Lietotnēs šī caurule mēdz būt integrācija ar noliktavu, ko atcerējās tikai koda autors, vai nakts eksports, ko klusām izmanto grāmatvedība.
Tāpēc saprātīgā secība ir pretēja intuitīvajai. Nesāk ar jauna koda rakstīšanu un pat ne ar tāmi. Sāk ar karti.
Ko MI izvelk no koda, datubāzes un žurnāliem
Mūsdienu analīzes rīki spēj izlasīt trīs patiesības avotus par sistēmu: pirmkodu, datubāzes struktūru un žurnālus no darbības produkcijā. No to krustpunkta rodas sistēmas karte, kas aptver četrus slāņus.
Pirmais ir moduļi: no kā sistēma sastāv un par ko katrs fragments atbild, aprakstīts valodā, kas saprotama arī cilvēkiem ārpus IT. Otrais ir datu plūsmas: no kurienes dati ienāk, kas ar tiem notiek pa ceļam, kur tie nonāk. Trešais ir integrācijas, tas ir, visas vietas, kurās lietotne sarunājas ar citām sistēmām: grāmatvedību, noliktavu, veikalu, partneriem. Tieši tās visbiežāk plīst pie izmaiņām.
Ceturtais slānis ir vismazāk acīmredzamais: mirušais kods. Žurnālu analīze parāda, kuras funkcijas nav izsauktas gadiem un kurās tabulās neviens neraksta kopš 2019. gada. Vecākās sistēmās šāds balasts bieži ir prāva daļa no kopuma. Katra rinda, kas nav jāpārnes, ir reāls ietaupījums projektā.
Ko karte maina lēmumā „pārrakstīt vai modernizēt"
Par pašu lēmumu rakstījām atsevišķi, tekstā par četriem kritērijiem: lēmumu ietvars. Sistēmas karte šiem kritērijiem dod cietus datus. Bez tās tehnoloģisko parādu vērtē pēc sajūtas, bet risku — balstoties anekdotēs. Ar to ir redzams melns uz balta: kuri moduļi nes biznesa vērtību, kuri ir miruši, kur sēž integrācijas, kas paaugstina katras izmaiņas risku.
Rezultāti mēdz pārsteigt abos virzienos. Reizēm sistēma, kura „jāpārraksta no nulles", izrādās trīs ceturtdaļās vesela, un pietiek nomainīt divus moduļus. Reizēm otrādi: lietotne izskatās nevainīga, bet karte atklāj vairāk nekā desmit nedokumentētu savienojumu, kas daļēju modernizāciju padara dārgāku par pārrakstīšanu. Abos gadījumos lēmums tiek pieņemts uz datiem, ne emocijām. Un izpildītājs, kurš saņem karti mīklas vietā, novērtē darbu, ne risku.
Mūsuprāt, kartes atjaunošanai vajadzētu būt atsevišķam, pirmajam modernizācijas līguma posmam ar savu nodošanu un pieņemšanu. Pat ja pēc šī posma izlemsi, ka modernizāciju veic kāds cits vai neveic to nemaz, dokumentācija paliek uzņēmumā un strādā tālāk.
Kā pārbaudīt to, ko ģenerēja MI
Automātiski ģenerēta dokumentācija nav orākuls. Tā ir jāpārbauda. Iedarbīgākā metode ir vienkārša: caurskatīšana ar cilvēku, kurš sistēmu pazīst vislabāk, bieži vienīgo tādu uzņēmumā. Atšķirība no klasiskās pieejas slēpjas šī cilvēka lomā. Tu nelūdz viņam pierakstīt zināšanas, ko neviens nemīl un kas velkas mēnešiem. Tu lūdz recenzēt gatavu aprakstu, un norādīšana „šeit sakrīt, šeit ne" iet daudzkārt ātrāk nekā rakstīšana no nulles.
Laba prakse ir iziet cauri dažiem svarīgākajiem procesiem no sākuma līdz beigām: pasūtījums, rēķins, reklamācija. Ja karte pareizi apraksta kritiskās plūsmas un izlases veidā pārbaudītās detaļas, tai var uzticēties pārējās jomās. To var izdarīt dienas laikā.
Ko MI neatjaunos
Šeit godīga atruna: kods pasaka, ko sistēma dara, bet nepasaka, kāpēc. Dīvains izņēmums atlaides aprēķinā var būt kļūda, bet var būt arī tirdzniecības vienošanās no 2016. gada, kas joprojām ir spēkā vienam lielam klientam. To neviena koda analīze neizšķirs. Biznesa nodomus no pirms desmit gadiem atjauno ar intervijām: īsām sarunām ar pārdošanas, grāmatvedības un operāciju cilvēkiem, ko ved jau ar karti rokā. Karte pasaka priekšā, ko jautāt, bet atbildes ir cilvēkam.
Atsevišķa tēma ir arī lietotnes apkārtne: serveri, tīkls, rezerves kopijas. Par šī slāņa dokumentēšanu rakstījām tekstā par infrastruktūras dokumentācijas auditu.
ESKOM AI kartēšanas posmu vedam ar specializētu MI aģentu komandu pieredzējušu inženieru uzraudzībā: tipiskas uzņēmuma sistēmas analīze aizņem darba dienas, un rezultāts ir dokumentācija, kas lasāma gan valdei, gan tehniskajai komandai. Ja pēc tās tiek pieņemts lēmums par modernizāciju, tālākie darbi notiek automatizētā programmatūras izstrādes procesā ar pilnu testu klāstu — vienībtestiem, integrācijas, E2E, UI, drošības un veiktspējas testiem.
Ar ko sākt pie sevis
Izvēlies vienu sistēmu: to, kuras modernizāciju atliec visilgāk, vai to, kurai visvairāk baidies pieskarties. Pasūti tās kartes atjaunošanu kā patstāvīgu, nelielu posmu, pirms lūdz kādam pārbūves tāmi. Bezmaksas konsultācijā ieteiksim, kā šādu posmu ieplānot un ko no tā sagaidīt.
Piesaki bezmaksas konsultāciju caur saziņas veidlapu →