Kada smo se uključili, sistem je radio na .NET Frameworku, njegovi delovi su komunicirali preko WCF-a, a veliki deo poslovne logike bio je skriven u uskladištenim procedurama baze podataka. Svaka izmena je trajala dugo i lako je izazivala greške.
Arhitekturu i put modernizacije osmislio je Andor: odluke je beležio u tehničkim dizajnima i ADR-ovima i davao ih klijentu na odobrenje. Prateći taj plan, išli smo korak po korak: po obrascu strangler fig novi moduli su postepeno preuzimali posao starog koda, dok se nije uobličio modularni monolit čiji moduli međusobno komuniciraju preko medijatora.
On je izgradio i tim: osmislio je proces zapošljavanja i domaći zadatak, vodio tehničke intervjue, pregledao rešenja i bio mentor novim kolegama kako je tim rastao.
I način rada je oblikovao on: napravio je sopstveni MCP server iz kog AI agenti za programiranje na osnovu opisa zadatka pronalaze odgovarajuće delove koda i projekta, a tim je svakodnevno radio sa alatima GitHub Copilot i Claude.
Usput su nastali i novi moduli. Upravljanje pravima pristupa napravljeno je kao modul za višekratnu upotrebu i ušlo je u još tri proizvoda kompanije; modul za izveštavanje je podatke učitavao pomoću Azure Data Factoryja. Na ta dva modula smo zatim od nule izgradili novi proizvod.
Zamenili smo i ručni unos podataka sa papira: posebna Azure Functions usluga je pomoću Azure OpenAI-ja čitala strukturirane podatke iz učitanih dokumenata i upisivala ih pravo u bazu.