Восстановление проекта без документации и прежнего разработчика: как не начинать всё с нуля
Разработчик ушёл, документации нет, а сайт или интеграция продолжает принимать заказы. Первое действие здесь не переписывание проекта. Сначала восстановите контроль над репозиторием, хостингом, резервными копиями и доступами, затем выясните, какие операции критичны для работы.
После этого составьте карту системы на фактах: входы и выходы данных, задания по расписанию, зависимости и точки отказа. Отдельно проверьте права на код и договоры. Только после аудита имеет смысл решать, документировать систему, чинить отдельные модули или менять архитектуру.
Содержание 11 разделов
Коротко о главном
Проект без документации и без автора — это решаемая, хотя и трудоёмкая задача. Сначала нужно вернуть технический контроль (доступы, репозиторий, база данных), затем провести технический аудит и реверс-инжиниринг логики системы, и только после этого решать, что делать дальше: восстанавливать документацию и дорабатывать, частично переписывать проблемные модули или строить систему заново. Юридически права на код и обязанность передать исходники зависят от формулировок в договоре — по умолчанию они не закреплены автоматически ни за одной из сторон.
Знакомая ситуация
Разработчик или подрядчик перестал выходить на связь. Или ушёл ключевой сотрудник, который держал в голове всю логику работы системы. Документации нет — ни технической, ни бизнес-описания того, зачем система вообще устроена именно так. Доступы разбросаны по переписке, а где-то и вовсе есть только у бывшего исполнителя.

Дальше типично два вопроса: что происходит с правами на этот код и с самим проектом, и как вообще понять, что внутри, если читать код некому.
Что происходит, когда разработчик пропадает
Специалисты по анализу legacy-систем выделяют несколько уровней проблемности унаследованного проекта. Наименее рискованный уровень — когда отсутствует только техническая документация: систему в этом случае можно потестировать и восстановить логику через её поведение. Гораздо хуже, когда исчезла ещё и бизнес-документация — тогда не помнит уже никто, ни разработчики, ни бизнес-заказчик, что именно должен делать продукт [1].
Похожая ситуация возникает и без конфликта — при плановом уходе ключевого специалиста, если знания держались "в головах", а не в документах. Такой риск в индустрии называют bus-фактором: это показатель риска остановки проекта из-за потери информации и компетенций, не распределённых между членами команды [2]. На практике это означает, что команда способна в один день потерять большую часть понимания системы просто потому, что ключевой человек ушёл [3].
Как восстанавливают понимание системы без документации

Обратное проектирование
Базовый метод для разбора кода без документации — обратное проектирование, то есть изучение системы через анализ её поведения и исходного кода, а не через чтение готовых описаний. Такой подход помогает восстановить бизнес-логику работы системы, опираясь на то, что реально делает код [4].
Практически это означает: сначала — карта системы (модули, точки входа, внешние интеграции), затем — трассировка ключевых сценариев, и только потом — попытка зафиксировать требования в виде документации и архитектурных решений.
Технический аудит
Параллельно с реверс-инжинирингом логики имеет смысл провести технический аудит — более широкую диагностику состояния проекта. В неё обычно входит анализ архитектуры и выявление критических уязвимостей, оценка качества кода (соблюдение стандартов, наличие документации, покрытие тестами), а также проверка производительности. Качественная диагностика требует времени — от нескольких дней до нескольких недель в зависимости от масштаба системы, и торопить этот этап не стоит: ошибки в оценке состояния проекта на этом шаге впоследствии многократно увеличивают стоимость восстановления [5].
Дополнительный практический ориентир — тест на онбординге: если новый разработчик, подключившись к проекту, делает первый осмысленный коммит за день-два, структура и документация в целом в порядке; если неделями блуждает без результата, это диагноз самой кодовой базе, а не человеку [6].
Роль ИИ-инструментов
Современные LLM с большим контекстным окном заметно ускоряют реконструкцию документации по коду. Объём контекстного окна от 400 тысяч до более миллиона токенов позволяет загрузить в модель весь код, логи ошибок и связанные файлы проекта без потери важных деталей на больших объёмах [7]. Существуют и специализированные инструменты для генерации документации и поиска по коду на естественном языке [8], а также ассистенты для автоматического ревью, которые анализируют pull request'ы и оставляют комментарии прямо в коде [9].
Важно понимать границы такого подхода: модель не разбирает код и не выдаёт готовую папку с документацией сама по себе — она превращает рутинный разбор кодовой базы в управляемый процесс с конкретными артефактами (черновики требований, диаграммы, архитектурные решения), которые команда должна проверить и подтвердить или опровергнуть [10].
Российская специфика: у кого права на код и на доступы
Права на программу для ЭВМ
Это едва ли не самый частый источник конфликтов при разрыве с разработчиком, и здесь правовая база не так однозначна, как кажется на первый взгляд.
Если код создавался по договору подряда или оказания услуг, действует общее правило ст. 1296 ГК РФ: право использования разработки для собственных нужд предоставляется на условиях простой безвозмездной лицензии, а закрепление исключительных прав на ПО именно за подрядчиком возможно только при включении соответствующих положений в договор — то есть по умолчанию заказчик считается основным правообладателем [11]. Но это правило легко переворачивается прямой формулировкой в договоре в пользу исполнителя, поэтому первое, что стоит сделать при разрыве с разработчиком — поднять договор и проверить, что там написано про права на результат.
Отдельная и более рискованная ситуация — когда разработчик был штатным сотрудником компании. Само по себе наличие трудового договора и регулярная зарплата не означают автоматической передачи прав работодателю: без правильно оформленного пакета документов и вознаграждения за отчуждение исключительных прав право на созданное программное обеспечение по умолчанию остаётся у автора-работника, а не у компании [12].
Ещё один нюанс — передача самого исходного кода. Даже если исключительное право на программу по договору перешло заказчику в полном объёме, обязанность передать именно исходный код, а не только скомпилированный продукт, должна быть прямо прописана в договоре отдельно — если в договоре об этом ничего не сказано, спор о том, обязан ли исполнитель передавать исходники, может решиться не в пользу заказчика [13].
Доступы, домен и хостинг
Отдельная категория проблем — не права на код, а физический контроль над инфраструктурой. Частая рекомендация здесь: у разработчика должен быть рабочий доступ, но домен и хостинг стоит регистрировать на себя, чтобы никто не мог удержать проект «в заложниках» [14]. Практический список того, что нужно собрать в первую очередь при разрыве с подрядчиком, включает доступы к хостингу и админке, доступы к домену, переписку с прошлым исполнителем, договор и акты выполненных работ, а также резервные копии сайта и базы данных [14].
Если услуга хостинга оформлена на заказчика, но пароли утеряны, обычно можно восстановить доступ через техническую поддержку провайдера, указав данные договора и email регистрации [15]. Хуже, если домен изначально был зарегистрирован на самого разработчика, — тогда вернуть его без суда может быть сложно и долго, и такой сценарий стоит по возможности предотвращать заранее, а не решать постфактум [16]. Первым практическим шагом при разрыве отношений часто становится письменный (а не только в мессенджере) запрос всех доступов и материалов у прежнего исполнителя — это ещё и фиксирует добросовестную попытку урегулировать ситуацию [17].
Что делать с проектом: три сценария
Восстановить документацию и продолжить работу. Подходит, если аудит показал в целом рабочую архитектуру без критичных уязвимостей, а бизнес-логика восстановима по коду и памяти команды или заказчика.

Частично переписать проблемные модули. Разумно, когда можно выделить компоненты с критическим техническим долгом, при том что остальная система в целом работоспособна. Существуют подходы к обновлению legacy-систем без полной переделки — от API-обёрток и ETL-витрин до контейнеризации, которые позволяют модернизировать систему поэтапно, а не «большим взрывом» [18].
Переписать систему полностью. Оправдано, если экспертиза утеряна почти полностью, документации нет вообще ни в каком виде, а исправление старого кода обходится дороже, чем построение новой архитектуры.
Практические этапы восстановления проекта

- Зафиксировать факт разрыва — письменно запросить у прежнего исполнителя доступы, код, бэкапы и документацию.
- Восстановить контроль над инфраструктурой — проверить, на кого оформлены домен, хостинг, лицензии.
- Собрать всё, что осталось — репозиторий, выгрузки БД, переписку, техническое задание, акты.
- Провести технический аудит архитектуры и качества кода.
- Провести реверс-инжиниринг ключевых сценариев работы системы.
- Оформить права на результат — свериться с договором.
- Выбрать стратегию: восстановление, частичный рефакторинг или переписывание.
- Начать документировать заново, встроив это в процесс, а не откладывая.
Ограничения, ошибки и риски
- «Просто перепишем всё с нуля» без аудита — дорогое решение, если реальная проблема лишь в отсутствии документации, а не в качестве кода.
- Игнорирование юридической стороны перед началом технической работы над кодом, права на который не подтверждены документально.
- Доверие устной договорённости о доступах — домен и хостинг, оформленные на подрядчика «для удобства», частый источник конфликтов именно в момент разрыва.
- Внедрение статического анализа сразу по всему коду — при большом legacy-проекте это может демотивировать команду избыточным числом предупреждений; практикуется постепенный подход, при котором анализатор сначала проверяет только новый и изменённый код, а к старому долгу возвращаются отдельно [19].
- Переоценка возможностей ИИ-инструментов — черновик документации от модели легко принять за подтверждённый факт без проверки командой.
Как может помочь «Пятый фактор»
Ситуация с проектом без документации и без прежнего разработчика — это в первую очередь задача на диагностику: нужно понять фактическое состояние кода и данных, прежде чем принимать решение, что делать дальше. Команда «Пятого фактора» может изучить существующую систему, интеграции и обмен данными с внешними сервисами и учётными системами, оценить риски и предложить оптимальный вариант — восстановление документации, частичный рефакторинг или разработку нового решения. Компания, в частности, работает с задачами, где важно понимать, какие интеграции и каналы передачи данных фактически существуют в системе, — это особенно актуально, когда прежний разработчик, знавший о таких интеграциях, уже недоступен [20]. Похожая логика применяется и в проектах точечной интеграции учётных систем с внешними API, где основная сложность обычно не в самом факте подключения, а в сопоставлении данных и обработке ошибок обмена [21].
Вывод
Проект без документации и без автора — неприятная, но управляемая ситуация. Первый шаг — не паника и не немедленное переписывание кода, а возврат технического контроля: доступы, репозиторий, бэкапы. Второй — трезвый аудит и реверс-инжиниринг логики, желательно с использованием современных инструментов анализа кода, включая ИИ-ассистентов, но с обязательной проверкой результата людьми. Третий — юридическая сверка: кому на самом деле принадлежат права на код и обязан ли прежний исполнитель передать исходники. И только после этого — осознанный выбор между восстановлением, частичной модернизацией или переписыванием системы.
Источники
[1] habr.com — Как выруливать с legacy code, когда проект нужно было на вчера — https://habr.com/ru/articles/431562/
[2] en.wikipedia.org — Bus factor — https://en.wikipedia.org/wiki/Bus_factor
[3] habr.com (SimpleOne) — Вася уволился — и унёс с собой 80% знаний о системе — https://habr.com/ru/companies/simpleone/articles/1017882/
[4] habr.com — Как аналитику разобраться в legacy-системе без документации — https://habr.com/ru/articles/953748/
[5] 1istochnik.ru — Спасение проблемных IT-проектов: как реанимировать разработку после провала — https://1istochnik.ru/news/156477
[6] ya.zerocoder.ru — Кодовая база: подробно об основе — https://ya.zerocoder.ru/pgt-kodovaya-baza-codebase-osnova-vashego-programmnogo-proekta/
[7] kod.ru — Лучшие нейросети для программирования: ТОП-14 ИИ для написания кода 2026 года — https://kod.ru/luchshie-neuroseti-dlya-programmirovaniya
[8] github.com (rodion-m) — awesomeaifor_programmers — https://github.com/rodion-m/awesome_ai_for_programmers
[9] aihubnews.ru — Топ 5 ИИ для ревью кода разработчикам — https://aihubnews.ru/articles/top-5-ii-instrumentov-dlya-revyu-koda
[10] markovpavel.ru — AI для анализа устаревших систем: восстановление требований и документации из кода — https://markovpavel.ru/ii/ai-analiz-ustarevshih-sistem-vosstanovlenie-trebovanij-i-dokumentacii
[11] smartlogos.ru — Договор на разработку ПО. Исключительные права — https://smartlogos.ru/dogovor-na-razrabotku-po-isklyuchitelnye-prava/
[12] rtmtech.ru — Передача прав на программу — https://rtmtech.ru/services/oformlenie-prav-na-po/
[13] law.ru — Передача исходного кода программы — https://www.law.ru/question/23786-peredacha-ishodnogo-koda-programmy
[14] denisbunakov.ru — Сайт тормозит, а старый разработчик пропал: что делать с «заброшенным» проектом — https://denisbunakov.ru/blog/biznes-poleznosti/sayt-tormozit-a-staryy-razrabotchik-propal-chto-delat-s-zabroshennym-proektom-13/
[15] siteclinic.ru — Ключи к сайту: доступы, которые должны быть у каждого владельца сайта — https://siteclinic.ru/blog/raznoe/klyuchi-k-sajtu/
[16] iseo.ru — Инструкция по восстановлению доступов к сайту — https://iseo.ru/instrukcziya-po-vosstanovleniyu-dostupov-k-sajtu
[17] mtsite.ru — Как забрать доступы к сайту у подрядчика — готовое письмо — https://mtsite.ru/news/kak-zabrat-dostupy
[18] machineheads.ru — 7 способов обновить легаси-систему без переписывания кода — https://machineheads.ru/blog/7-sposobov-ozhivit-it-legacy-i-ne-perepisat-vse-s-nulya/
[19] pvs-studio.ru — Как внедрить статический анализатор кода в legacy-проект и не демотивировать команду — https://pvs-studio.ru/ru/blog/posts/0743/
[20] 5factor.ru — Пятый фактор: нарушения 152-ФЗ под постоянным контролем — https://5factor.ru/
[21] 5factor.ru — Интеграция СберБизнес API с 1С и корпоративными системами — https://5factor.ru/resources/integracziya-sberbiznes-api-s-1s-i-korporativnymi-sistemami