Планът за модернизация е готов, бюджетът предварително одобрен. Изпълнителят задава първия въпрос: „Къде е документацията на системата?". Оказва се, че има wiki, актуализирана за последно преди пет години, няколко схеми „някъде на мрежовия диск" и код, който сам си служи за документация. Офертата нараства с една трета. Защото изпълнителят не оценява работата, а несигурността.
Този текст описва практика, която сваля тази несигурност от масата: преди някой да докосне кода на старото приложение, знанието за него се възстановява. Доскоро такъв етап означаваше седмици работа на аналитик и малцина се решаваха на него. Днес AI извършва по-голямата част от този анализ за работни дни. И това променя реда на целия проект.
Първо картата, после кодът
Модернизацията на система без актуална документация прилича на ремонт на сграда без план на инсталациите. Може, но всяко разбиване на стена е лотария: може зад нея да няма нищо, а може и тръба, от която зависи половин етаж. В приложенията тази тръба понякога е интеграцията със склада, за която е помнел само авторът на кода, или нощният експорт, който счетоводството тихомълком използва.
Затова разумният ред е обратен на интуитивния. Не се започва с писане на нов код, нито дори с оферта. Започва се с карта.
Какво AI извлича от кода, базата и логовете
Съвременните инструменти за анализ могат да прочетат три източника на истина за системата: изходния код, структурата на базата данни и логовете от продукционната работа. От тяхното кръстосване се получава карта на системата, която обхваща четири слоя.
Първият са модулите: от какво се състои системата и за какво отговаря всеки фрагмент, описани на език, разбираем и за хора извън IT. Вторият са потоците от данни: откъде влизат данните, какво се случва с тях по пътя, къде се озовават. Третият са интеграциите, тоест всички места, на които приложението разговаря с други системи: счетоводство, склад, магазин, партньори. Именно те най-често се чупят при промени.
Четвъртият слой е най-малко очевидният: мъртвият код. Анализът на логовете показва кои функции не са били извиквани от години и в кои таблици никой не пише от 2019 г. В по-старите системи такъв баласт често е значителна част от цялото. Всеки ред, който не трябва да се пренася, е реална икономия в проекта.
Какво променя картата в решението „да пренапишем или да модернизираме"
За самото решение писахме отделно, в текста за четирите критерия: рамка за вземане на решение. Картата на системата дава на тези критерии твърди данни. Без нея технологичният дълг се оценява на усет, а рискът — по анекдоти. С нея се вижда черно на бяло: кои модули носят бизнес стойност, кои са мъртви, къде седят интеграциите, повишаващи риска на всяка промяна.
Резултатите понякога са изненадващи и в двете посоки. Понякога система, която „трябва да се пренапише от нулата", се оказва на три четвърти здрава и е достатъчно да се подменят два модула. Понякога обратното: приложението изглежда невинно, а картата разкрива десетина недокументирани връзки, които правят частичната модернизация по-скъпа от пренаписването. И в двата случая решението се взема върху данни, не върху емоции. А изпълнителят, който получава карта вместо загадка, оценява работата, а не риска.
Според нас възстановяването на картата трябва да бъде отделен, първи етап от договора за модернизация, със собствено приемане. Дори ако след този етап решите, че модернизацията ще прави някой друг или изобщо няма да я правите, документацията остава в компанията и продължава да работи.
Как да верифицирате това, което AI е генерирал
Автоматично генерираната документация не е оракул. Трябва да бъде проверена. Най-ефективният метод е прост: преглед с човека, който познава системата най-добре, често единствения такъв в компанията. Разликата спрямо класическия подход е в ролята на този човек. Не го молите да опише знанието си, което никой не обича и се точи с месеци. Молите го за рецензия на готово описание, а посочването „тук е вярно, тук не" върви многократно по-бързо от писането от нулата.
Добра практика е преминаването през няколкото най-важни процеса от началото до края: поръчка, фактура, рекламация. Ако картата коректно описва критичните потоци и проверените на извадков принцип детайли, може да ѝ се вярва и в останалите области. Това може да се направи за един ден.
Какво AI няма да възстанови
Тук едно честно уточнение: кодът казва какво прави системата, но не казва защо. Странното изключение в изчисляването на отстъпката може да е грешка, а може и да е търговска уговорка от 2016 г., която все още важи за един голям клиент. Това никакъв анализ на кода няма да разреши. Бизнес намеренията отпреди десетилетие се възстановяват с интервюта: кратки разговори с хората от продажбите, счетоводството и операциите, водени вече с картата в ръка. Картата подсказва какво да питате, но отговорите ги има човекът.
Отделна тема е и обкръжението на приложението: сървъри, мрежа, резервни копия. За документирането на този слой писахме в текста за одита на документацията на инфраструктурата.
В ESKOM AI провеждаме етапа на картографиране с екип от специализирани AI агенти под надзора на опитни инженери: анализът на типична фирмена система отнема работни дни, а резултатът е документация, четима за борда и за техническия екип. Ако след нея бъде взето решение за модернизация, по-нататъшната работа протича в автоматизиран процес на разработка на софтуер с пълен набор от тестове — единични, интеграционни, E2E, UI, за сигурност и за производителност.
Откъде да започнете при себе си
Изберете една система: тази, чиято модернизация отлагате най-дълго, или тази, която най-много се страхувате да докоснете. Възложете възстановяването на нейната карта като самостоятелен, малък етап, преди да помолите когото и да било за оферта за преустройство. На безплатната консултация ще Ви подскажем как да планирате такъв етап и какво да очаквате след него.
Запишете си безплатна консултация през контактния формуляр →