Приём проекта после предыдущего подрядчика

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

Коротко о задаче

Ситуация повторяется от компании к компании и почти всегда застаёт врасплох.

Система работает. Подрядчик, который её писал, перестаёт отвечать: закрылся, потерял интерес к небольшому клиенту, поссорился с заказчиком, потерял единственного разработчика, знавшего проект. Иногда расставание проходит мирно, но передача сводится к архиву с кодом и словам «там всё понятно».

Дальше выясняется масштаб. Пароли от серверов и репозитория есть у бывшего сотрудника. Домен зарегистрирован на подрядчика. Проект не собирается, потому что нужны библиотеки из закрытого хранилища. Часть настроек живёт только на боевом сервере и нигде не записана. Документации нет вообще либо она описывает первую версию трёхлетней давности.

При этом система продолжает работать и приносить деньги, но любое изменение в ней невозможно. Компания оказывается в заложниках у собственного продукта.

Мы такие проекты принимаем. Это не самая приятная работа, но она делается.

Что входит в услугу

  • Инвентаризация активов

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

  • Восстановление доступов

Помогаем вернуть контроль над доменом, хостингом, репозиторием, аккаунтами внешних сервисов. Часть вопросов решается через регистраторов и провайдеров, часть требует переписки с бывшим подрядчиком, часть — обхода: развернуть заново то, к чему доступ утрачен окончательно.

  • Восстановление сборки

Добиваемся, чтобы проект собирался и разворачивался из исходников на чистой машине. До этого момента изменения в систему вносить нельзя, и это первый рубеж.

  • Сверка с боевой версией

Проверяем, соответствует ли код тому, что запущено. Расхождения встречаются часто: правки вносили прямо на сервере. Все такие места нужно найти и вернуть в исходники.

  • Разбор устройства системы

Восстанавливаем архитектуру, потоки данных, точки интеграции, фоновые задачи, логику ключевых процессов. Смотрите {{ссылка: Аудит унаследованного кода и оценка технического долга}}.

  • Документирование

Фиксируем то, что восстановили: схема, порядок развёртывания, описание конфигурации, инструкции по типовым операциям. Смотрите {{ссылка: Восстановление технической документации}}.

  • Стабилизация

Закрываем срочное: настраиваем резервное копирование, если его не было, устраняем очевидные уязвимости, чиним то, что мешает работе прямо сейчас.

  • Переход к сопровождению

После стабилизации переходим в обычный режим поддержки и развития: {{ссылка: Техническая поддержка и развитие собственного продукта заказчика}}.

Что это даёт заказчику

  • Возврат контроля над продуктом. Доступы, код и инфраструктура собираются в ваших руках.
  • Возможность что-то менять. Работающая сборка означает, что доработки снова возможны.
  • Снятая зависимость. Система перестаёт быть заложницей одного подрядчика или одного человека.
  • Понимание реального состояния. Разбор показывает, что там на самом деле, включая неприятное.
  • Документация, которой не было. Следующая передача пройдёт нормально.
  • Без переписывания с нуля. Приём почти всегда дешевле новой разработки, даже когда код оставляет желать лучшего.

Как мы работаем

Начинаем с инвентаризации, потому что без неё непонятен объём. Она занимает несколько дней и уже даёт результат: становится видно, что критично, а что терпит.

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

Если по итогам разбора окажется, что систему выгоднее заменить, скажем прямо и покажем расчёт. Но за приём беремся и в тех случаях, когда код далёк от идеала: работающая система с плохим кодом лучше, чем год без системы.

Наш опыт

Мы принимали и приводили в порядок продукты, написанные другими командами. Крупный туристический портал перевели с давно неподдерживаемой версии платформы на актуальную, начав с разбора чужого кода. Мобильное приложение на прекращённом фреймворке вернули в собираемое состояние.

Мы сопровождаем более десяти проектов по IT-инфраструктуре и держим системы в эксплуатации годами: платформа фармаконадзора находится на непрерывном сопровождении с 2023 года. Долгая поддержка кода, своего и чужого, — наш основной формат работы, а не исключение.

Расскажите, что за система и в каком она положении. Начнём с инвентаризации: она за несколько дней покажет реальную картину.

Давайте создавать вместе!

Свяжитесь с нами и мы проконсультируем по вопросам реализации IT-решений и найдем лучший подход к разработке

Контакты

Офис: г. Казань, ул. Островского, 57Б, оф. 110
Почта: info@nabla-lab.ru
Телефон: +7 (965) 595-62-78