Planul de modernizare e gata, bugetul aprobat preliminar. Executantul pune prima întrebare: „Unde este documentația sistemului?”. Se dovedește că există un wiki actualizat ultima dată acum cinci ani, câteva scheme „undeva pe discul de rețea” și un cod care își ține singur loc de documentație. Oferta crește cu o treime. Pentru că executantul nu evaluează munca, ci incertitudinea.
Acest text descrie o practică ce ia această incertitudine de pe masă: înainte ca cineva să atingă codul unei aplicații vechi, se reconstituie cunoștințele despre ea. Până nu demult, o asemenea etapă însemna săptămâni de muncă de analist și puțini se hotărau la ea. Astăzi, AI execută cea mai mare parte a acestei analize în zile lucrătoare. Iar asta schimbă ordinea întregului proiect.
Întâi harta, apoi codul
Modernizarea unui sistem fără documentație actuală seamănă cu renovarea unei clădiri fără planul instalațiilor. Se poate, dar fiecare spargere de perete e o loterie: poate în spatele lui nu e nimic, poate e o țeavă de care depinde jumătate de etaj. În aplicații, țeava aceea este uneori integrarea cu depozitul de care își amintea doar autorul codului sau exportul nocturn pe care contabilitatea îl folosește pe tăcute.
De aceea, ordinea rezonabilă este inversă celei intuitive. Nu se începe cu scrierea de cod nou și nici măcar cu oferta de preț. Se începe cu harta.
Ce extrage AI din cod, bază și loguri
Instrumentele moderne de analiză pot citi trei surse de adevăr despre sistem: codul-sursă, structura bazei de date și logurile din funcționarea în producție. Din intersectarea lor rezultă o hartă a sistemului care cuprinde patru straturi.
Primul sunt modulele: din ce se compune sistemul și de ce răspunde fiecare fragment, descrise într-un limbaj înțeles și de oameni din afara IT. Al doilea sunt fluxurile de date: pe unde intră datele, ce se întâmplă cu ele pe drum, unde ajung. Al treilea sunt integrările, adică toate locurile în care aplicația vorbește cu alte sisteme: contabilitatea, depozitul, magazinul, partenerii. Ele sunt cele care crapă cel mai des la modificări.
Al patrulea strat este cel mai puțin evident: codul mort. Analiza logurilor arată care funcții nu au mai fost apelate de ani și în ce tabele nu mai scrie nimeni din 2019. În sistemele mai vechi, un asemenea balast este adesea o parte considerabilă a întregului. Fiecare linie care nu trebuie migrată este o economie reală în proiect.
Ce schimbă harta în decizia „rescriem sau modernizăm”
Despre decizia în sine am scris separat, în textul despre cele patru criterii: cadrul de decizie. Harta sistemului dă acestor criterii date concrete. Fără ea, datoria tehnologică se evaluează după fler, iar riscul pe baza anecdotelor. Cu ea se vede negru pe alb: care module aduc valoare de business, care sunt moarte, unde stau integrările care ridică riscul fiecărei modificări.
Rezultatele pot surprinde în ambele direcții. Uneori, sistemul care „trebuie rescris de la zero” se dovedește sănătos în proporție de trei sferturi și e de ajuns să fie înlocuite două module. Alteori invers: aplicația arată nevinovat, iar harta scoate la iveală zeci de conexiuni nedocumentate care fac modernizarea parțială mai scumpă decât rescrierea. În ambele cazuri, decizia se ia pe date, nu pe emoții. Iar executantul care primește o hartă în locul unei enigme evaluează munca, nu riscul.
În opinia noastră, reconstituirea hărții ar trebui să fie o etapă separată, prima, a contractului de modernizare, cu propria recepție. Chiar dacă după această etapă decideți că modernizarea o face altcineva sau nu o faceți deloc, documentația rămâne în firmă și lucrează mai departe.
Cum verificați ce a generat AI
Documentația generată automat nu este un oracol. Trebuie verificată. Cea mai eficientă metodă e simplă: o trecere în revistă cu persoana care cunoaște sistemul cel mai bine, adesea singura de acest fel din firmă. Diferența față de abordarea clasică stă în rolul acestei persoane. Nu îi cereți să-și pună cunoștințele pe hârtie, lucru pe care nimeni nu-l agreează și care se întinde pe luni. Îi cereți o recenzie a unei descrieri gata făcute, iar indicarea „aici corespunde, aici nu” merge de multe ori mai repede decât scrisul de la zero.
O practică bună este parcurgerea câtorva procese esențiale de la început până la sfârșit: comanda, factura, reclamația. Dacă harta descrie corect fluxurile critice și detaliile verificate prin sondaj, i se poate acorda încredere în celelalte zone. Asta se poate face într-o zi.
Ce nu poate reconstitui AI
Aici, o precizare onestă: codul spune ce face sistemul, dar nu spune de ce. O excepție ciudată în calculul unei reduceri poate fi o eroare sau poate fi o înțelegere comercială din 2016 care e valabilă în continuare pentru un client mare. Asta nicio analiză de cod nu o va tranșa. Intențiile de business de acum un deceniu se reconstituie prin interviuri: discuții scurte cu oamenii din vânzări, contabilitate și operațiuni, purtate deja cu harta în mână. Harta sugerează ce să întrebați, dar răspunsurile le are omul.
Un subiect separat este și mediul aplicației: serverele, rețeaua, copiile de rezervă. Despre documentarea acestui strat am scris în textul despre auditul documentației de infrastructură.
La ESKOM AI conducem etapa de cartografiere cu o echipă de agenți AI specializați sub supravegherea unor ingineri cu experiență: analiza unui sistem de firmă tipic durează zile lucrătoare, iar rezultatul este o documentație lizibilă pentru conducere și pentru echipa tehnică. Dacă după ea se ia decizia de modernizare, lucrările ulterioare se desfășoară într-un proces automatizat de dezvoltare software cu o gamă completă de teste — unitare, de integrare, E2E, UI, de securitate și de performanță.
Cu ce să începeți la dumneavoastră
Alegeți un singur sistem: cel a cărui modernizare o amânați de cel mai mult timp sau de care vă temeți cel mai tare să vă atingeți. Comandați reconstituirea hărții lui ca etapă de sine stătătoare, mică, înainte să cereți cuiva o ofertă de reconstrucție. La o consultație gratuită vă spunem cum să planificați o asemenea etapă și la ce să vă așteptați după ea.
Programați o consultație gratuită prin formularul de contact →