
Stvarnost razvoja, iskustvo i odluke koje stoje iza InDoc EDGE-a
Razvoj enterprise platforme rijetko izgleda onako kako ga ljudi zamišljaju izvana. Nije riječ o linearnom napretku od zahtjeva do rješenja. Kako članovi razvojnog tima kažu, to je više poput slaganja priče ili slagalice. Imaš viziju, a zatim kroz vrijeme dodaješ dijelove, neke zamijeniš, a ponekad shvatiš da određeni dio treba izgraditi drugačije.
To je stvarnost koju razvojni tim InDoc EDGE-a poznaje iz prve ruke. Upravo iz te stvarnosti proizlaze odluke koje oblikuju platformu.
Razvoj nije dodavanje funkcionalnosti
Ako pitate developere InDoc EDGE-a što rade, nećete dobiti popis funkcionalnosti.
„Razvijamo i održavamo platformu koja mora pouzdano raditi čak i kada je kompleksna, opterećena i pod pritiskom“, objašnjava tim. „Velik dio našeg rada nije vidljiv korisnicima. Često se radi o poboljšavanju, ispravljanju i pojednostavljivanju stvari koje su u prošlosti možda napravljene brže nego što bismo ih danas napravili.“
U enterprise okruženjima svaka nova funkcionalnost donosi dodatnu složenost, nove ovisnosti i nove rizike. Zato razvoj InDoc EDGE-a nije usmjeren na što brže dodavanje funkcionalnosti, nego na očuvanje dugoročne stabilnosti dokumentnog sustava i poslovnih procesa koje podržava.
Tehnologije biramo svjesno, a ne zbog trendova
Na frontendu platforma postupno prelazi na React. Ne zato što je popularan, nego zato što ima dugoročnu podršku i omogućuje lakše održavanje u budućnosti.
Nikad ne znaš što će biti za pet godina, ali možeš odlučiti što danas ima najviše smisla.
Ovakav pristup vrijedi za svaku tehničku odluku. Ono što danas radi brzo, sutra može značiti složeniju nadogradnju ili veći rizik kod integracija. Zato tim ne optimizira samo za danas, nego za to kako će sustav funkcionirati godinama unaprijed.
Arhitektura koja raste zajedno sa sustavom
Svaki sustav koji se razvija više od deset godina i prilagođava stvarnim potrebama korisnika nosi tragove tog puta. InDoc EDGE nije nastao u vakuumu - rastao je zajedno sa zahtjevima korisnika, integracijama i iskustvima iz prakse.
Zbog toga neke odluke iz prošlosti danas izgledaju drugačije. „Kad promijenite jednu stvar, nenamjerno utječete na drugu. To je iskustvo, a ne teorija“, objašnjava tim. Zato svaka nova verzija uključuje i vrijeme za tehnička poboljšanja - sustavno i bez žurbe.
„Radimo na sustavu koji ima svoju povijest. I tu povijest treba razumjeti, a ne ignorirati.“
Platforma postupno prelazi na modularniji pristup, što timu omogućuje veću kontrolu nad promjenama i smanjuje rizik pri svakoj nadogradnji.
Greške su dio procesa, odgovornost je u reakciji
Kada su se ograničenja sustava pokazala pri većim opterećenjima, tim nije tražio brzo rješenje. Postavili su simulacijska okruženja, identificirali uzroke i utvrdili gdje se zapravo nalazi problem.
„Neke probleme ne možeš riješiti dodavanjem više servera. Ponekad moraš popraviti temelje.“
U praksi najveće opterećenje ne dolazi od količine dokumenata. Dolazi od procesa: automatiziranih tijekova rada, masovnih promjena prava pristupa i složene poslovne logike.
Kada se pojave problemi, tim prati sustav, pronalazi uska grla i uklanja ih - ponekad optimizacijom koda, a ponekad poboljšanjem infrastrukture.
Greške su dio razvoja. Odgovornost je u onome što napraviš nakon toga.
Kako taj proces izgleda u praksi - od prijave greške do ponovnog testiranja - objašnjava Klavdija Blatnik u blogu Kako zagotavljamo zanesljivost dokumentnega sistema v praksi.
Kako nadogradnje prolaze bez utjecaja na produkciju
Svaka nova verzija InDoc EDGE-a prvo dolazi u demo okruženje. Ondje je testiraju i developeri i korisnici, posebno integracije i procesi koji su ključni za pojedinu organizaciju.
Migracije se izvode programski, bez ručnih intervencija. Verzija ulazi u produkciju tek kada je tim dovoljno siguran u njezinu stabilnost.
„Znamo da su nadogradnje osjetljiva stvar“, objašnjava tim.
Upravo je ta svijest srž njihovog pristupa: ne žuriti, razumjeti posljedice i reagirati kada nešto pođe po zlu.
UX nije dodatak - on je dio pouzdanostiti
Developeri sustav poznaju iznutra i toleriraju određene stvari jer razumiju što se događa u pozadini. Korisnici to ne znaju - i ne trebaju znati.
„Ono što očekuju jest jasnoća i pouzdanost.“
Ako sustavu treba vrijeme za obradu, to mora jasno pokazati. Ako korisnik ne razumije što se događa, povjerenje se brzo gubi – čak i kada sustav tehnički radi ispravno.
Zato tim korisničko iskustvo vidi kao sastavni dio pouzdanosti, a ne kao zaseban sloj.
AI: pitanje nije hoće li, nego gdje
Danas tim koristi AI kao podršku u razvoju. Ne žure s njegovim uključivanjem u sam proizvod.
„Prvo moramo razumjeti gdje AI zaista pomaže korisnicima, a gdje bi bio samo dodatak zbog trenda. Ne želimo funkcionalnosti koje dobro zvuče na prezentacijama, a ne rješavaju stvarne probleme.“
Razvoj InDoc EDGE-a nije usmjeren na brzinu. Usmjeren je na stabilnost - kroz promišljene odluke, razumijevanje posljedica i spremnost da se izazovi rješavaju, a ne zaobilaze.
Izvor: Ovaj blog nastao je na temelju razgovora s članovima razvojnog tima InDoc EDGE-a. Cijeli intervju dostupan je na posebnoj jubilarnoj stranici Mikrocopa.