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

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

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

Семь артефактов, которые забираются до последнего платежа

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

АртефактКак выглядит принятымЧто будет, если не забрали
Исходный кодРепозиторий на вашем аккаунте, подрядчик — участник с правом записи, а не владелецПодхват невозможен в принципе: остаётся переписывать с нуля
Учётные записи у провайдеровДомен, хостинг, SMS-шлюз, платёжный и почтовый сервисы оформлены на ваше юрлицо, счета приходят вамУслуга отключается за неоплату, восстановление идёт через процедуру смены владельца и занимает недели
Ключи и секретыСписок ключей в вашем хранилище с пометкой, где каждый используетсяПеревыпуск вслепую роняет интеграции по одной, и каждую находят по жалобе пользователя
Схема интеграцийОдна страница: какие системы связаны, что передаётся, с какой периодичностью, что происходит при сбоеНовый инженер восстанавливает её чтением кода — 20–40 часов только на это
Экспорт данныхВыгрузка в открытом формате плюс описание структуры таблицДанные остаются в базе, которую вы не можете ни прочитать, ни перенести
Инструкция на развёртываниеКак поднять систему с нуля на пустом сервере, проверено на пустом сервере при васПереезд с сервера подрядчика превращается в отдельный проект на две-три недели
Журнал измененийЧто и когда меняли, с датами хотя бы за последние три месяцаНепонятно, что сломалось последним и от какой правки откатываться
схема процессаpodryadchik-ischez-posle-sdachi--01
Схема приёмки: ворота из семи артефактов между сданной системой и последним платежом

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

Последний платёж — это ворота, и створок у них семь

Кому принадлежат узлы вашей системы

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

карта связейpodryadchik-ischez-posle-sdachi--02
Карта узлов системы с пометками, на кого оформлен каждый: домен, хостинг, репозиторий, шлюзы

Карта связей: в центре узел «система», вокруг восемь узлов с подписями «домен», «DNS», «хостинг или сервер», «репозиторий кода», «SMS-шлюз», «платёжный сервис», «почтовый сервис», «сертификат». У каждого узла бирка «на кого оформлен» с двумя вариантами написания — «заказчик» и «подрядчик». Узлы «домен», «репозиторий», «SMS-шлюз» помечены как оформленные на подрядчика и выделены штриховкой. Внизу подпись «каждая штриховка — это от 2 до 6 недель на возврат». Подписи по-русски.

Карта на одну страницу, которую стоит нарисовать до того, как она понадобится

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

Шесть признаков, по которым исчезновение видно заранее

Все шесть наблюдаются в ходе проекта и не требуют технических знаний. Один признак — повод задать вопрос, три и больше — повод не платить финальный платёж до передачи артефактов.

  • Узлы оформлены на подрядчика. Домен, хостинг и учётные записи у провайдеров заведены на его юрлицо или на личную почту его сотрудника.
  • Кода вы не видели ни разу. Вам показывают работающий адрес и экраны, но репозиторий «у нас внутри, там ничего интересного».
  • Ответы идут через одного человека. Отпуск или болезнь этого человека останавливает проект целиком — значит, знание не распределено и передавать его будет некому.
  • Нет журнала изменений. На вопрос «что вы выкатили на прошлой неделе» отвечают по памяти, а не ссылкой на запись.
  • Нет документации даже на страницу. Схема интеграций рисуется на каждом созвоне заново и каждый раз немного другая.
  • Меняется юридический адресат. Счета приходят то от ООО, то от ИП, реквизиты за проект поменялись — значит, адресата претензии в нужный момент может не оказаться.

Пять шагов, если связь уже потеряна

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

  1. 1
    Сутки первые: зафиксировать состояние

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

  2. 2
    День второй: письменное требование по договору

    Одно письмо с перечнем артефактов из таблицы выше и сроком 3 рабочих дня, отправленное тремя каналами сразу: на рабочую почту, в мессенджер и заказным письмом на юридический адрес из выписки. Формулировка деловая, без оценок: «просим передать в срок до такого-то следующие материалы по договору №». Это же письмо станет доказательством, если дело дойдёт до суда.

  3. 3
    Дни 3–5: инвентаризация зависимостей и оплат

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

  4. 4
    Недели 1–2: перевод сервисов на своё юрлицо

    У всех крупных провайдеров есть процедура смены владельца по документам: заявление, подтверждение прав, иногда нотариальное согласие прежнего владельца. Именно здесь возникает разброс в 2–6 недель, и именно поэтому шаг запускается параллельно с остальными, а не после них.

  5. 5
    Недели 2–3: аудит новым инженером с фиксированной ценой

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

этапыpodryadchik-ischez-posle-sdachi--03
Лента из пяти шагов: сутки на фиксацию, письмо, инвентаризация, перевод сервисов, аудит

Горизонтальная лента времени на три недели, пять отметок с подписями: «сутки 1 — резервные копии, выгрузка, скриншоты панелей», «день 2 — письменное требование, срок 3 рабочих дня», «дни 3–5 — инвентаризация оплат и зависимостей», «недели 1–2 — перевод сервисов на своё юрлицо, 2–6 недель», «недели 2–3 — аудит новым инженером, 3–5 дней». Под каждой отметкой — что заказчик получает на выходе. Отдельной полосой снизу отмечено, что шаг перевода сервисов идёт параллельно остальным. Чертёжный стиль.

Три недели от потери связи до сметы, по которой можно принимать решение

Сколько стоит подхватить чужое решение

Модельный случай: связка CRM с 1С и сайтом, обошлась в 850 000 ₽, работает год, исходники у заказчика есть, документации нет, тестового контура нет, ключи прописаны внутри кода. Подхват в такой конфигурации — 30–60 % стоимости исходной разработки; ниже — раскладка по часам при ставке 3 500 ₽.

Подхват решения стоимостью 850 000 ₽: 132 часа инженера
Чтение кода и восстановление схемы интеграций — 40 часов140 000 ₽
Восстановление окружения и сборки без инструкции — 24 часа84 000 ₽
Перевыпуск ключей и перенос учётных записей на юрлицо заказчика — 16 часов56 000 ₽
Повторное подключение домена, сертификата, почтового и платёжного сервисов — 10 часов35 000 ₽
Прогон на боевых данных и исправление найденного — 30 часов105 000 ₽
Документация и журнал изменений, которых не было — 12 часов42 000 ₽
Итого462 000 ₽, около трёх с половиной недель — 54 % стоимости исходной разработки

Полезно сравнить с альтернативой. Переписать тот же контур с нуля — 720 000 ₽ и восемь недель: дешевле оригинала, потому что требования уже известны и придумывать их заново не надо. Подхват в этом расчёте выходит в 64 % цены переписывания и вдвое быстрее, поэтому в модельном случае выигрывает. Но четыре обстоятельства двигают эту цифру, и каждое из них проверяется до начала работ.

графикpodryadchik-ischez-posle-sdachi--04
Столбики: исходная разработка 850 000, подхват 462 000, переписывание с нуля 720 000

Столбиковая диаграмма из трёх столбцов с подписанными значениями: «исходная разработка — 850 000 ₽», «подхват — 462 000 ₽, 3,5 недели», «переписывание с нуля — 720 000 ₽, 8 недель». Над столбцом подхвата подписи «54 % от исходной разработки» и «64 % от переписывания». Пунктирная горизонтальная линия на уровне 70 % от 720 000 ₽ с подписью «граница решения: выше — переписывать». Ось в рублях, подписи по-русски.

Пока подхват держится ниже 70 % цены переписывания, он выигрывает
ОбстоятельствоКак двигает смету подхватаПочему
Нет тестового контураплюс 25–30 %Каждая правка проверяется на боевых данных, значит по ночам, с резервной копией и планом отката
Нет документации и журнала измененийплюс 30–40 %Логика восстанавливается чтением кода, а не чтением страницы описания
Самописная платформа вместо распространённойплюс 50 % и вышеКруг инженеров, готовых в этом разбираться, сужается до единиц, и ставка растёт вместе с риском
Учётные записи оформлены на подрядчикаплюс 2–6 недель календаряСмена владельца у провайдера идёт по документам и не ускоряется деньгами
Ключи прописаны внутри кодаплюс 8–16 часовПеревыпуск требует найти все места использования, иначе интеграции падают поочерёдно
Решение опирается на сервис, недоступный в РФподхват теряет смыслПоддерживать нечего: контур всё равно переносится на доступный стек

Пункты договора, которые дают право забрать всё без спора

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

  1. 1Исключительные права переходят по этапам. Формулировка «права переходят после полной оплаты договора» означает, что при остановке на середине у вас нет прав ни на что. Правильная привязка — к оплате конкретного этапа.
  2. 2Срок на выдачу материалов при расторжении. 3–5 рабочих дней на передачу исходников, доступов и данных при прекращении договора по любому основанию, с неустойкой за каждый день просрочки. Без неустойки срок остаётся пожеланием.
  3. 3Учётные записи у третьих лиц оформляются на заказчика. Отдельный пункт, иначе домен, хостинг и шлюзы окажутся чужими по умолчанию.
  4. 4Приёмка этапа включает артефакты. Акт не подписывается без схемы интеграций, инструкции на развёртывание и выгрузки данных. Это превращает список из таблицы выше в обязанность, а не в просьбу.
  5. 5Право привлекать третьих лиц. Заказчик вправе передать сопровождение другому исполнителю без согласия подрядчика — иначе подхват формально упрётся в права на результат.
  6. 6Адрес для юридически значимых сообщений и второй контакт. Письмо, отправленное по адресу из договора, считается полученным. Без этого пункта доказывать факт обращения придётся отдельно.
Финальный платёж — это не формальность, а рычаг

Удержание 15–20 % суммы до передачи артефактов — нормальная практика, которую спокойно принимают добросовестные исполнители. Именно эти проценты оплачивают ту работу, которую подрядчику делать скучно: документацию, инструкцию на развёртывание и перенос учётных записей. Если исполнитель категорически против такой схемы, это отдельный признак из списка выше.

Когда дешевле переписать заново

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

  • Исходников нет, есть только работающий сервер. Подхват технически невозможен: восстановить код из собранного приложения дороже, чем написать его.
  • Объём кода мал. Три-четыре сценария интеграции на пару тысяч строк переписываются за 3–4 недели, и любой реверс-инжиниринг здесь дороже самой работы.
  • Платформа самописная. Не типовая CRM с доработками, а собственный движок подрядчика: поддерживать его сможет только он, и зависимость воспроизведётся с новым исполнителем.
  • Решение стоит на сервисе, недоступном в РФ. Контур всё равно переносится, поэтому подхватывать нечего — разбор доступных замен есть на странице интеграций.
  • Нет ни одного человека, кто видел систему изнутри. Ни с вашей стороны, ни со стороны исполнителя. Тогда цена подхвата не оценивается заранее и в смете появляется открытый счёт, а это худший вид расхода.
Переписывание не отменяет первых четырёх шагов

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

Систему вы покупаете один раз, а возможность её изменить — на каждом акте приёмки.