Баку, Азербайджан info@viasoft.az +994 50 345 10 11
viasoft

Модернизация и спасение унаследованных систем

Берём систему, которую писали неизвестно кто и когда, разбираемся в ней и приводим в рабочее состояние — аудитом, рефакторингом и миграцией без остановки бизнеса. Сначала честно отвечаем на главный вопрос: дорабатывать или менять.

Проблема, которую решаем

Система работает, но автор пропал, документации нет, а каждое изменение — риск всё уронить. Бизнес заложник одного приложения и боится его трогать. Новые подрядчики, едва взглянув, предлагают «переписать всё с нуля» за огромные деньги и полгода простоя — потому что разбираться в чужом коде долго и невыгодно им, а не вам. Мы идём иначе: сначала аудит, потом честная рекомендация — и чаще всего систему можно спасти дешевле, чем переписать.

Что входит

Аудит кода и архитектуры: что внутри, где риски, что держится на честном слове. Рефакторинг критичных участков без переписывания всего. Миграция данных и процессов на актуальный стек. Восстановление документации. Поэтапный перевод без остановки работы бизнеса.

Как устроена работа

Первый этап — аудит — даёт вам карту системы и честный вердикт: дорабатывать или заменять. Аудит входит в бесплатный этап анализа — как и в любом нашем проекте по «Пути 10%»: разбор, концепцию и план модернизации мы делаем за свой счёт, а вы понимаете объём и стоимость до того, как вкладываете основной бюджет. Платить вы начинаете не раньше, чем увидите план и согласитесь с ним. → как мы работаем

«Дорабатывать или менять» — как решаем

Считаем не эмоции, а стоимость владения: во что обойдётся поддержка текущего против стоимости замены и риска миграции. Если переписывать невыгодно — не предложим переписывать. Это и есть разница между подрядчиком, который зарабатывает на вашем страхе, и инженерами, которые считают ваш бюджет. Развёрнутый фреймворк решения с таблицей критериев — в статье «Старую систему чинить или переписать».

Технологии

Работаем с любым наследием: устаревшие версии языков и фреймворков, монолиты, забытые стеки. Переносим на актуальную основу — Python, TypeScript, Go, современные базы данных — выбирая целевой стек под вашу задачу, а не под моду. При необходимости подключаем редкие компетенции под конкретную старую технологию. (см. матрицу: Услуги)

Модель оплаты

По «Пути 10%»: аудит и план модернизации — за наш счёт; первый рабочий результат (например, отрефакторенный критичный модуль или мигрированный участок) — 10% от зафиксированной оценки; дальше — поэтапная оплата. Стоимость считается индивидуально и фиксируется до старта основных работ. Масштаб проекта можно прикинуть в калькуляторе.

Чек-лист аудита legacy-системы (что проверяем)

Артефакт нашего процесса — по нему проходит каждый аудит:

  1. Исходный код — есть ли он целиком, собирается ли, какая версия, кто последний правил.
  2. Архитектура — монолит или модули, где «узкие места», что упадёт первым под нагрузкой.
  3. Данные — структура БД, целостность, дубли, что потеряется при миграции.
  4. Зависимости — устаревшие библиотеки и платформы без поддержки, уязвимости.
  5. Документация и знания — есть ли описание, или всё «в голове» у пропавшего автора.
  6. Интеграции — с чем связана система, что сломается при изменениях.
  7. Безопасность — доступы, хранение паролей/данных, открытые дыры.
  8. Стоимость владения — во что обходится поддержка сейчас и куда растёт.

Выход аудита: карта системы + вердикт по каждому модулю (оставить / отрефакторить / заменить) + расчёт «доработать vs переписать».

Типовой сценарий (иллюстрация, не реальный клиент)

Учётное приложение десятилетней давности, исходники частично потеряны, разработчик недоступен, бизнес боится обновлений. Как это обычно решается у нас: аудит → восстановление сборки и документации → рефакторинг критичных модулей → поэтапная миграция данных без остановки. Цель — вернуть управляемость, а не начать с нуля.

FAQ

  • Вы всегда советуете переписать с нуля? Нет. Сначала аудит, потом честный вердикт. Часто доработка дешевле замены — так и скажем.
  • А если исходники потеряны? Восстанавливаем сборку и документацию по тому, что есть; оцениваем риски на этапе аудита.
  • Бизнес остановится на время работ? Нет — переводим поэтапно, старое и новое работают параллельно во время миграции.
  • Кому принадлежит результат? Заказчику, после оплаты этапа.