Apie technologinius iššūkius ir sukurtą sprendimą įžvalgomis dalijosi IT įmonės „Devbridge“ programuotojas ir projekto vadovas Benas Radzevičius.
Per septynerius darbo „Devbridge“ įmonėje metus šis projektas jums buvo neeilinis. Nuo ko viskas prasidėjo ir kuo sukurtas sprendimas išsiskyrė kitų projektų kontekste?
Į mūsų klientą nuolat kreipiasi investicinės kompanijos, kurios perka verslus, juos perstruktūrizuoja, optimizuoja ir po 3 ar net 10 metų sėkmingai ir pelningai parduoda. Mūsų klientas padeda suskirstyti nupirktos kompanijos vertę į akcijos paketus, kuriuos parduodant surenkamos lėšos kompanijos pirkimui iš privačių investuotojų. Šis verslas iš esmės buvo paremtas intensyviu „Excel“ naudojimu. Klientas jau penkerius metus bandė šį projektą įgyvendinti išbandydamas įvairiausius naujus sprendimus su skirtingomis programavimo kompanijomis. Produktą bandė sukurti net 7 kartus, tačiau nei vienai įmonei nepavyko pasiūlyti tokio sprendimo, kuris pilnai įgyvendintų kliento poreikius. Tad kai klientas kreipėsi į mus, jie neslėpė pesimizmo, kad tokios sistemos sukurti gali būti neįmanoma. Mūsų komanda buvo pirmoji, kuri įrodė, kad toks produktas išties gali egzistuoti.
Kokį technologinį sprendimą įgyvendinote, kiek tai užtruko?
Kliento prašymu, per vos vieną mėnesį turėjome pateikti sprendimo idėją, kuri padėtų atsikratyti minėtų „Excel“ programos failų, taip optimizuojant jų verslo procesą. Įvairūs skaičiavimai bei ataskaitų kūrimas, jiems užtrukdavo kelias savaites. Todėl pagrindinis siekis buvo tuos skaičiavimus ir ataskaitos formavimą atlikti per kelias dienas, o ne savaites. Pradėję analizuoti jų procesus, verslo modelį bei „Excel“ failus – pradėjome siūlyti įvairiausius sprendimus, tačiau galutiniame rezultate visada trūkdavo to lankstumo. Galiausiai priėjome išvados, kad jiems reikia naujos programavimo kalbos, kuri būtų optimizuota būtent jų verslui (angl. Domain Specific Language (DSL)), su kuria jie galėtų naujoje Web platformoje aprašyti bet kokius skaičiavimus. Tai ir buvo sprendimas, kuris konceptualiai įrodė klientui, kad yra įmanoma pasiekti jų norimą lankstumą.
Kas kėlė daugiausiai iššūkių projekte?
Nepaisant iššūkių, kuriant naują programavimo kalbą, didžiausias iššūkis šiuo metu projekte yra vartotojo patirties kūrimas (angl. user experience (UX)) – lankstumas yra tik vienas iš kintamųjų, kurio neužtenka, norint optimizuoti kliento verslo procesus, jei mūsų platforma bus labai lanksti, bet jiems vis tiek užtruks kelias savaites suvesti visus duomenis – platforma netektų prasmės. Sugalvoję techninį sprendimą labai daug derinome klausimų tiek su mūsų dizaineriais bei klientu, taip pat darėme interviu su potencialiais sistemos vartotojais, bandėme išsiaiškinti juos labiausiai neraminančius klausimus bei kokius asmeninius procesus jie yra susikūrę, kurie atliktų jų kasdieninius darbus ir kaip tai įkomponuoti į mūsų kuriamą sistemą. Kuo lankstesnę sistemą kuriame, tuo labiau potencialiai kenčia efektyvumas kasdieniuose kliento darbuose, tad buvo labai svarbu išlaikyti šį balansą – jei nebus pakankamai lankstu, sistemos klientas visai negalės naudotis, bet jei sistema nebus patogi – nelaimėsime norimo efektyvumo rezultato.
Kaip pavyko išspręsti šias problemas? Kaip šis sprendimas palengvins kasdieninius darbus?
„Excel“ sistema yra nuostabi dėl jos lankstumo, tačiau tai kainuoja – labai daug skaičiavimų, kuriuos reikia atlikti rankiniu būdu. Taip pat yra sunku patikrinti ar visi skaičiavimai yra atlikti teisingai, įvyksta ir daug susidubliavimo. Pavyzdžiui, klientas atlieka ateities simuliacijas, nustatant potencialią kompanijos vertę ateityje, į kiekvieną simuliaciją įeina įvairiausių scenarijų, apsvarstant tikimybę, kada kompanija bus parduodama ir pan. Visa tai sudaro šimtus tūkstančių skaičiavimų ir visą tai jiems reikia atlikti rankiniu būdu. Mūsų siūlomas sprendimas pasiūlė naudingas abstrakcijas, kuriomis naudojantis pašalinama didžioji dalis rankinio darbo, sukūrėme patogią sistemą skaičiavimų tikrinimui – kiekvienas skaičius turi detalius paaiškinimus kaip tai buvo suskaičiuota, taip pat kursime automatines grafines ataskaitas, kurias jie šiuo metu taip pat vis dar kuria rankiniu būdu. Sistema ne tik optimizuos kliento darbą, bet atvers ir naujas galimybes, pavyzdžiui, interaktyviai su jų klientu keisti akcijų paketų taisykles, sudėtį, ko iki šiol jie negalėjo padaryti, nes pakeitimai „Excel“ faile kartais užtrukdavo kelias valandas ar net dienas.
Kas jums buvo įdomiausia iš techninės pusės, kuriant tokį projektą?
Projektas yra naujas ir kuriamas nuo nulio (angl. Green Field), tad turime galimybę rinktis naujausias technologijas. Komandoje naudojame geriausias programavimo praktikas tokias, kaip „Hexagonal Architecture“, „Domain Driven Design“, „Test Driven Development“, „Monorepo“, visa infrastruktūra yra debesyse su automatizuotais „build“, „deployment“ procesais. Žinoma, taip pat ir galimybė kurti savo kompiliatorių naujajai programavimo kalbai su visomis įprastomis kompiliatoriaus funkcijomis. Tai mums yra nauja patirtis su labai įdomiais iššūkiais. Darbą su klientu pradėjome šių metų vasarį, o po mėnesio jau pasirašėme sutartį tęsti darbus ir įgyvendinti mūsų pasiūlytus sprendimus. Prie projekto šiuo metu dirbame vos dešimt žmonių, tačiau džiugu, kokį reikšmingą pokytį galime įgyvendinti.
Kaip manote, kaip šis sukurtas sprendimas transformuos kliento verslą?
Šiuo metu kliento verslo aplinkoje, nėra jokio panašaus produkto, visi konkurentai savo verslą taip pat turi „pastatę“ ant „Excel“ failų, tad ši nauja sistema suteiks jiems didelį konkurencinį pranašumą rinkoje, kadangi jie galės laiko kaštus sumažinti nuo savaičių iki dienų. Tikiu, kad tai atvers jiems naujas verslo galimybes, kaip, pavyzdžiui, interaktyvus plano kūrimas su klientu – ko rinkoje niekas nedaro, nes tai su naudojamais įrankiais padaryti labai sudėtinga. Taip pat suteiksime efektyvesnes analizės galimybes, visi istoriniai duomenys bus ranka pasiekiami ir paremti patarimais, tad sistema galės patarti vartotojui dėl įvairių skaičiavimų bei užtikrinti, kad jie atitinka rinkos geriausias praktikas.
Kaip toliau vyks bendradarbiavimas su klientu, kas laukia šio projekto netolimoje ateityje?
Šiuo metu mūsų fokusas sutelktas ties dabartinio kliento procesų optimizavimu, tada įgalinsime naujas galimybes, kurios kurs pridėtinę vertę ir konkurencinį pranašumą tokias, kaip interaktyvūs projekto pakeitimai, galimybė klientui pasidalyti į sistemą nukreipiančia nuoroda, kad klientas galėtų sau patogiu metu peržiūrėti informaciją. Taip pat planuojame ateityje pereiti į prenumeravimo verslo modelį, kad mūsų kliento verslai ir partneriai patys galėtų susidėlioti preliminarų planą akcijų paketų ir ištestuoti įvairius scenarijus, ar net pardavinėti projektus savo konkurentams. Tai galbūt sukurs ir dar vieną papildomą pajamų šaltinį bei žinoma atvers galimybes dirbtinio intelekto potencialui, kuris pasitelkiant istorinius duomenis galės automatizuoti nemažą dalį planavimo bei skaičiavimų. Tikiu, kad visa tai padės laimėti vis daugiau naujų užsakymų ir konkuruoti dėl klientų bei optimizuos vis daugiau rankinio darbo.