Аудит унаследованного кода и оценка технического долга
Разбираем систему, доставшуюся в наследство, и отвечаем на главный вопрос: чинить, обновлять или переписывать. На выходе отчёт с картой рисков, перечнем проблем по приоритету и оценкой каждого сценария в деньгах и сроках. Аудит не обязывает продолжать работу с нами: с отчётом можно пойти к любому подрядчику.
Коротко о задаче
Решение о судьбе старой системы обычно принимают вслепую, и оба возможных ответа звучат одинаково убедительно.
Разработчик, который смотрит на чужой код впервые, почти всегда говорит «переписать». Это честная реакция: разбираться в чужих решениях труднее, чем писать свои. Но переписывание стоит в разы дороже и растягивается на год, а за этот год бизнес живёт на старой системе, которую никто не развивает.
Обратная крайность — чинить бесконечно. Каждая доработка обходится дороже предыдущей, сроки растут, изменение в одном месте ломает что-то в стороне. Компания годами платит за поддержание системы, которую давно проще было заменить.
Между этими ответами лежит третий, самый частый: систему можно спасти, но не целиком. Часть кода в порядке, часть требует обновления, часть переписывается локально. Понять, где проходят эти границы, можно только заглянув внутрь.
Мы заглядываем и считаем.
Что входит в услугу
- Инвентаризация
Собираем полную картину: репозитории, ветки, среды, серверы, базы данных, внешние сервисы, доступы, лицензии. Часто на этом этапе выясняется, что запущенная версия не совпадает с той, что лежит в репозитории, или что часть кода хранится только на рабочем компьютере уволившегося разработчика.
- Разбор архитектуры
Восстанавливаем устройство системы: модули, зависимости, потоки данных, точки интеграции. Результат — схема, которой обычно не существует и которая нужна для любого дальнейшего разговора.
- Оценка состояния кода
Смотрим на структуру, дублирование, покрытие тестами, версии используемых библиотек, наличие известных уязвимостей, соответствие кода запущенной версии. Отдельно ищем места, где логика зашита в неожиданных местах: в хранимых процедурах, в конфигурации, в задачах по расписанию.
- Оценка данных
Проверяем структуру базы, целостность, объёмы, скорость выполнения тяжёлых запросов, наличие резервных копий и работоспособность восстановления. База переживает приложения и обычно оказывается ценнее кода.
- Карта рисков
Ранжируем найденное: что может остановить бизнес завтра, что создаёт риск утечки, что мешает развитию, что просто некрасиво и терпит. Косметические претензии к коду отделяем от настоящих проблем.
- Сценарии и оценка
Готовим варианты: минимальная стабилизация, поэтапное обновление, частичное переписывание, полная замена. По каждому — объём работ, сроки, бюджет и что получит бизнес. Решение остаётся за вами.
Что это даёт заказчику
- Ответ вместо мнений. Вместо спора «чинить или переписывать» появляются цифры по каждому варианту.
- Понятный размер долга. Вы узнаёте, во что обойдётся привести систему в порядок, до того как начнёте это делать.
- Схема, которой не было. Даже если дальше вы ничего не предпримете, у вас останется описание системы.
- Независимость от результата. Мы не заинтересованы в вердикте «всё переписать»: аудит оплачивается отдельно, и мы одинаково готовы взяться за обновление и признать, что систему выгоднее оставить как есть.
- Основа для переговоров. С отчётом на руках можно разговаривать и с текущим подрядчиком, и с новыми.
Как мы работаем
Для аудита нужен доступ к коду, базе и серверам, а также час-два разговора с тем, кто систему эксплуатирует. Если исходников нет и остался только развёрнутый экземпляр, работаем с тем, что есть, и отдельно оцениваем риск невозможности изменений.
Сроки зависят от размера: небольшая система разбирается за несколько дней, крупная платформа занимает две-три недели.
Дальше в зависимости от вердикта: {{ссылка: Обновление платформы и миграция версий}}, {{ссылка: Приём проекта после предыдущего подрядчика}}, {{ссылка: Восстановление технической документации}} либо {{ссылка: Разработка веб-сервисов и платформ}}, если решено делать заново.
Наш опыт
Мы разбирали и приводили в порядок системы, написанные другими командами, в том числе крупный туристический портал, который перевели с давно неподдерживаемой версии платформы на актуальную. До начала работ был аудит: без него объём такой миграции не оценивается.
Аналогичный разбор мы выполняли для мобильного приложения на прекращённом фреймворке. {{ссылка: Обновление платформы и миграция версий}}
Мы аккредитованная Минцифры IT-компания, в штате более пятнадцати специалистов, за плечами более двадцати проектов по разработке. Смотрим на чужой код без снисходительности: почти всегда решения, которые выглядят странно, объясняются обстоятельствами, о которых мы просто не знаем.
Расскажите, что за система и что с ней не так. Начнём с аудита, а решение о дальнейшем примете вы.
Давайте создавать вместе!
Свяжитесь с нами и мы проконсультируем по вопросам реализации IT-решений и найдем лучший подход к разработке
Контакты
Офис: г. Казань, ул. Островского, 57Б, оф. 110
Почта: info@nabla-lab.ru
Телефон: +7 (965) 595-62-78