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

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

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

Опись передаваемого: 14 пунктов

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

Что передаётсяКак проверить, что передано на самом деле
1. Репозиторий с полной историей коммитовСкачать и открыть журнал изменений: видны ли даты, авторы и комментарии, а не один коммит «initial»
2. Учётные записи и права на три среды: разработка, тест, боеваяВойти самостоятельно, без участия подрядчика, и сменить пароль
3. Инструкция по развёртыванию с нуляПройти её на чистой машине силами нового исполнителя за оплаченный день
4. Схема данных и миграцииРазвернуть пустую базу и применить миграции по порядку до текущего состояния
5. Описание интеграций: адреса, форматы, кто инициирует обменСверить со списком систем: каждая интеграция должна быть названа и описана
6. Ключи и секреты внешних сервисовПроверить, на чьё юрлицо оформлен каждый сервис и кто может их перевыпустить
7. Конфигурации сред и переменные окруженияУбедиться, что отличия тестовой среды от боевой описаны, а не хранятся в голове
8. Список известных дефектов и обходных путейСверить с обращениями в поддержку за последние три месяца
9. Перечень нереализованного из согласованного объёмаСопоставить с техническим заданием и актами закрытых этапов
10. Автотесты и порядок их запускаЗапустить и посмотреть, сколько проходит; отсутствие тестов — тоже ответ
11. Резервные копии базы и порядок восстановленияВосстановить копию в тестовую среду и убедиться, что она разворачивается
12. Проектная переписка и принятые решенияНайти обоснование хотя бы трёх нестандартных решений; если его нет, закладывать время на разбор
13. Лицензии на использованные компоненты и подпискиПроверить, на кого оформлены и до какой даты оплачены
14. Контакты участников разработкиХотя бы один человек, готовый ответить на вопросы платно и по договору

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

Платный аудит состояния — обязательный первый шаг

Оценить незавершённую работу по описи и разговору нельзя. Нужен аудит: новый исполнитель разворачивает то, что получил, проходит по заявленным сценариям, читает ключевые куски решения и проверяет, что действительно работает. Это 3–10 календарных дней и около 24 часов работы — 72 000 ₽ по рыночной ставке инженера 3 000 ₽/час.

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

  • Карта готовности по сценариям. Не «проект готов на 45 %», а перечень: этот сценарий работает целиком, этот наполовину, этот не начат. Проценты готовности по строкам кода не значат ничего — считать надо по тому, что можно показать заказчику.
  • Оценка двух путей с погрешностью. Сколько часов на «досчитать чужое» и сколько на «переписать по уже известным требованиям», с явным указанием разброса. Оценка чужого решения даёт погрешность около ±40 %, своего — около ±15 %, и это надо видеть числом, а не узнавать потом.
  • Список блокеров. То, что делает продолжение невозможным до устранения: недоступная среда, отсутствующий ключ внешнего сервиса, компонент с истёкшей лицензией, база без резервной копии.
  • Перечень недостающего из описи. Какие из 14 пунктов не переданы и во сколько часов обойдётся восстановление каждого.
  • Явное разграничение: что берём, что не берём. Отдельным разделом, потому что именно из него потом растут споры о происхождении дефекта.
этапыperedacha-nezavershennogo-proekta--01
Лента аудита состояния на 3–10 дней и пять документов, которые он должен выдать на выходе

Горизонтальная лента времени на 10 дней с четырьмя отрезками: «Развёртывание среды по инструкции», «Прогон заявленных сценариев», «Чтение ключевых узлов и схемы данных», «Оценка двух путей и сборка отчёта». Под лентой — ряд из пяти карточек-результатов: «Карта готовности по сценариям», «Оценка: досчитать / переписать, с погрешностью ±40 % и ±15 %», «Список блокеров», «Недостающее из описи на 14 пунктов», «Разграничение ответственности». Справа от ленты подпись «24 часа × 3 000 ₽ = 72 000 ₽». Чертёжный стиль, подписи по-русски.

Аудит стоит 72 000 ₽ и заканчивается документом, который можно унести к другому исполнителю

Доделать или переписать: четыре признака

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

  1. 1Доля готовности выше 60 % по работающим сценариям. Считается по тому, что можно показать: сценарий либо проходит целиком, либо нет. Половинчатые сценарии засчитываются как незавершённые.
  2. 2Среда разворачивается на чистой машине по инструкции за один рабочий день. Если развернуть не удаётся, вы получаете не проект, а архив: сопровождать то, что нельзя запустить, невозможно.
  3. 3Есть воспроизводимая проверка. Автотесты, или хотя бы описанный набор ручных проверок с ожидаемым результатом. Без неё каждое изменение в чужом решении — это лотерея, и цена часа растёт.
  4. 4Архитектура понятна за день чтения. Новый инженер должен за восемь часов объяснить, где что лежит и как проходит основной поток данных. Если не может — дальше будет дороже, чем написать заново.

Три-четыре «да» — досчитывать. Ноль или одно — переписывать. Два — считать оба пути честно, и решение почти всегда окажется внутри погрешности оценок: именно такой случай мы разбирали на модельном проекте в 900 000 ₽ с готовностью 45 %, где досчитать выходило 588 000 ₽, переписать 792 000 ₽, а диапазоны с учётом погрешности перекрывались.

Почему совет «переписать» стоит слушать особенно внимательно

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

Наценка на чужое наследство: из чего складываются 24–36 %

Наценка — это не коэффициент, который исполнитель придумывает, а сумма конкретных работ, которых не было бы при разработке с нуля. Считаем на модельном остатке: работа, которая с чистого листа заняла бы 100 часов, то есть 300 000 ₽ по ставке 3 000 ₽/час.

Что добавляется к оценке при работе с чужим решением
Оценка остатка работ, как если бы писали с нуля: 100 часов × 3 000 ₽300 000 ₽
Чтение чужого решения и восстановление логики: 18 часов+54 000 ₽
Развёртывание среды по неполной инструкции: 8 часов+24 000 ₽
Проверка того, что уже работает, до внесения изменений: 10 часов+30 000 ₽
Итого без документации408 000 ₽, наценка 36 %
То же с полной описью и рабочей инструкцией: чтение 12 часов, среда 2 часа, проверка 10 часов372 000 ₽, наценка 24 %
Итого36 000 ₽ разницы получены документацией, а не переговорами. Требовать снижения наценки без описи бессмысленно — часы всё равно придётся отработать

Отсюда практический вывод для переговоров. Наценку не сбивают торгом — её сбивают полнотой передачи. Если старый подрядчик готов потратить свои часы на нормальную инструкцию по развёртыванию и опись, это прямо конвертируется в вашу экономию. Если не готов или недоступен, закладывайте верхнюю границу и не удивляйтесь ей в смете.

сравнениеperedacha-nezavershennogo-proekta--02
Две сметы остатка работ: 408 тысяч без документации и 372 тысячи с полной описью

Сравнение двух вертикальных столбцов с накоплением. Левый «Без документации — 408 000 ₽»: базовый сегмент «Работа с нуля 300 000 ₽», сверху три сегмента «Чтение 54 000 ₽», «Среда 24 000 ₽», «Проверка 30 000 ₽», подпись «наценка 36 %». Правый «С описью и инструкцией — 372 000 ₽»: тот же базовый сегмент 300 000 ₽ и сегменты «Чтение 36 000 ₽», «Среда 6 000 ₽», «Проверка 30 000 ₽», подпись «наценка 24 %». Между столбцами стрелка с подписью «−36 000 ₽». Чертёжный стиль, подписи по-русски.

Наценка снижается описью и инструкцией, а не торгом на переговорах

Разграничение ответственности и приёмка чужого наследства

Главный источник споров через полгода — происхождение дефекта. Клиент видит, что что-то не работает, и обращается к тому, кто работает сейчас; тот отвечает, что это осталось от предшественника. Чтобы этот разговор не повторялся каждый месяц, разграничение фиксируется письменно и в момент приёмки, а не когда сломается.

  1. 1Акт состояния на дату передачи. Перечень сценариев с отметкой «работает / работает частично / не реализовано» и список известных дефектов из аудита. Подписывается заказчиком и новым исполнителем; старый в нём не участвует и участвовать не обязан.
  2. 2Зона ответственности нового исполнителя. Что он берёт на себя: обычно это заявленный остаток работ плюс дефекты, попавшие в акт состояния как принятые к устранению. Всё остальное — отдельные работы по заявке.
  3. 3Зона, которую он не берёт. Прямо перечисляется: компоненты, которые не разворачиваются, интеграции без документации, участки, которые решено не трогать. Отсутствие такого раздела — не щедрость, а отложенный спор.
  4. 4Порядок работы с дефектом неизвестного происхождения. Разумная схема: до 2 часов разбора включено в сопровождение, дальше — по отдельной оценке. Так снимается основная масса мелких споров.
  5. 5Срок «карантина». Первые 4–6 недель после передачи новый исполнитель не отвечает за общую работоспособность решения, а стабилизирует его. Считать SLA от даты передачи некорректно: он ещё не знает системы.

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

Что сделать в текущем проекте, чтобы будущая передача была дешёвой

Всё описанное выше стоит денег ровно в той мере, в какой не было сделано заранее. Четыре вещи, которые ничего не стоят на старте проекта и превращаются в 36 000 ₽ и три недели, когда о них вспоминают в момент расставания.

  • Свой репозиторий с первого дня. Код пишется в репозиторий, принадлежащий вашей компании, а подрядчик получает доступ к нему. Не наоборот. Это одна строка в договоре и ноль рублей на старте.
  • Свои доступы и свои учётные записи. Домен, хостинг, база, ключи внешних сервисов оформляются на юрлицо заказчика; исполнителю выдаётся именная роль. Порядок по каждой позиции разобран в статье про оформление доступов, а порядок их возврата при штатном завершении — в материале про передачу доступов.
  • Документация как часть каждого этапа. Инструкция по развёртыванию и описание интеграций входят в результат этапа и проверяются при приёмке. Проверка простая: инженер разворачивает по инструкции на чистой машине. Не развернулось — этап не принят.
  • Регулярная выгрузка данных к себе. Копия базы и файлов на вашей стороне по расписанию. Это страховка не только от расставания, но и от любой аварии; стоит она обычно меньше 5 000 ₽ в месяц и снимает самый неприятный сценарий из всех.

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

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