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

Потерять код можно и при честном подрядчике. Исходники лежат на его ноутбуке «до окончательной оплаты», сборка работает только на его сервере, ключи записаны на его почту, а нужные знания никуда не записаны. Ниже разобраны такие ситуации, состав передачи, порядок заказа по ступеням и красные флаги в предложениях. О самом направлении рассказано на странице «Разработка ПО на заказ», о цене — в статье «Сколько стоит разработка ПО»; здесь мы смотрим на владение.

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

Шесть способов потерять код при честном подрядчике

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

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

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

Что передаётся и когда

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

Что передаётсяКогдаКак принять
Репозиторий с историей измененийС первого коммита, в вашем аккаунтеВидите коммиты по ходу работ, а не архив в конце
Сборка и развёртываниеК сдаче каждого этапаВаш администратор поднимает систему на чистом сервере по инструкции
Доступы, ключи, учётные записиПо мере появления; полный список к сдаче этапаТаблица «система, владелец, кто имеет доступ» сверяется с реальностью
Миграции и модель данныхВместе с кодомБаза создаётся с нуля из миграций, схема описана
ДокументацияПишется по ходу, принимается на этапеПо ней новый разработчик находит, что где лежит, и запускает проект
Тесты и контрольные данныеВместе с кодомТесты запускаются у вас, а список проверок приёмки сопоставлен с ними
Список зависимостей и лицензийК сдаче этапаОткрытые компоненты остаются под своими лицензиями; вы знаете, какие условия на них действуют
Руководства пользователя и администратораК сдачеАдминистратор заводит пользователя и восстанавливает копию без звонка исполнителю

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

Как заказать по шагам

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

  1. Опишите процесс, а не желаемую программу. Кто что делает, как часто, сколько времени уходит, где ошибаются. Из «нужна CRM» нельзя сделать оценку, из описания процесса можно.
  2. Назовите владельца задачи. Человек со стороны заказчика, который принимает решения и подписывает приёмку. Без него спор о результате неизбежен.
  3. Проверьте, не решается ли задача настройкой готовой системы. Если решается, это дешевле; сравнение подходов разобрано в статье «Коробочное ПО или заказная разработка».
  4. Закажите обследование. Цена фиксирована: 200 000 ₽ за один-два процесса (2–3 недели), 350 000 ₽ за несколько систем (3–4 недели), 500 000 ₽ за производство или контур (4–6 недель). Сумма вычитается из первого этапа при продолжении. Документ годится и для тендера: с ним можно сравнивать предложения, в том числе не наши.
  5. Начните с первого модуля. Он проверяет подрядчика, подход и передачу на ограниченном объёме. По тарифам это ступень пилота: 150 000–400 000 ₽ за 2–8 недель для лёгкого случая и 400 000–1 200 000 ₽ за 2–3 месяца для тяжёлого. Для личного кабинета или портала нижняя ступень начинается от 250 000 ₽.
  6. Проверьте передачу на первом модуле. Пусть ваш администратор поднимет его на чистом сервере. Если не получилось на малом объёме, на большом получится хуже.
  7. Выводите в эксплуатацию этапами. От 1 500 000 ₽ этапами по 300 000–700 000 ₽, от трёх месяцев, у каждого этапа своя приёмка и право остановиться.
  8. Решите, кто сопровождает. Свои администраторы, исполнитель или другая компания: пакеты 20 000, 60 000 и 120 000 ₽ в месяц, подробнее на странице «Сопровождение ПО».

Все ступени, цены и сроки собраны на странице тарифов. Задание на разработку составляется по итогам обследования; общие правила описаны в статье «Как составить техническое задание на разработку».

Проверка передачи: что сделать до последнего платежа

Самый надёжный тест не требует юриста. Нужен один день и ваш администратор, который не участвовал в разработке.

  1. Выделить чистый сервер или виртуальную машину, на которой ничего нет.
  2. Дать администратору репозиторий и инструкцию, без звонков исполнителю.
  3. Попросить поднять систему, создать пользователя, загрузить тестовые данные и выполнить главный сценарий.
  4. Попросить восстановить базу из резервной копии и убедиться, что данные на месте.
  5. Все вопросы, которые возникли у администратора, записать: каждый означает пробел в документации.
  6. Запустить автоматические проверки и сверить результат со списком приёмки.
  7. Сверить список доступов: владелец каждой учётной записи теперь вы.

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

Модели оплаты и что они делают с вашим кодом

Способ оплаты влияет на риск потери кода не напрямую, а через стимулы исполнителя. Ниже три модели.

МодельКогда годитсяРиск для кодаЧто поправить
Фиксированная цена за проектОбъём известен и записан: обследование, первый модуль, миграция базыИсполнитель экономит на документации и тестах, чтобы уложитьсяВключить документацию и проверку развёртывания в список приёмки
Оплата по времениДлинный проект с меняющимися требованиями, сопровождениеОтчёты о часах без результата, код копится без структурыЕженедельная сборка для показа, отчёт «часы и что сделано»
Этапы с отдельной ценойБольшинство проектовРиск ограничен этапом, но передача может откладываться на «после следующего»Передача кода и сборки входит в приёмку каждого этапа

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

Красные флаги в предложении подрядчика

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

ПризнакЧем грозитЧто спросить
Не названо, где живёт репозиторийИсходники окажутся у исполнителяВ чьём аккаунте репозиторий и с какого коммита вы видите код
Передача кода «после полной оплаты»Вы платите за то, чего не виделиМожно ли получать код и сборку по этапам
Нет строки про развёртывание и инструкциюСистема запускается только руками исполнителяКто и как проверяет, что стенд поднимается без вас
Используется собственный закрытый каркасЛюбая правка возможна только у автораКакие компоненты закрыты и на каких условиях они вам доступны
Цена за проект целиком, без этаповОстановиться без потерь нельзяЧто остаётся у меня после каждого этапа
Нет критериев приёмкиСпор о готовности, затягивание платежейГде письменный список проверок с ожидаемым результатом
Исполнитель обещает всё и сразуОбъём не ограничен, значит, не ограничена и ценаЧто откладывается на следующий этап
Единственный разработчик без заменыБолезнь или уход одного человека останавливает проектКто ещё знает систему и где это записано

Общий разбор выбора исполнителя и вопросов до договора дан в статье «Как выбрать подрядчика на разработку ПО». Портфолио и обещания в этом выборе почти ничего не дают, поэтому смотрите на условия передачи.

Если подрядчика уже нет, а кода нет или он не собирается

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

  • Сначала собрать все, что есть. Репозитории, архивы, доступы к серверам, переписку с описанием решений. Составьте список, чего не хватает.
  • Закажите разбор состояния. Аудит кода и архитектуры показывает, что запускается, где слабые места и как оценивать продолжение; он лежит на шкале обследования и описан на странице «Аудит кода и архитектуры».
  • Восстановить сборку и развёртывание до любых доработок. Пока систему нельзя поднять с нуля, любая правка рискованна.
  • Только потом решать: сопровождать, переписывать по частям или заменять. Перепись целиком редко бывает оправдана; один из разборов типовой задачи показывает, как принимают чужую систему после подрядчика.

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

Что делаем мы и с чего начать

Мы небольшая инженерная команда в Ростове-на-Дону: работаем по всей России, за проект отвечает один человек, а код с первого коммита лежит в вашем репозитории. Берём один участок или один контур, а не внедрение системы за десятки миллионов, не дежурим круглосуточно и не делаем сайты как самостоятельный продукт: веб-часть для нас интерфейс к системе. Работы дешевле 150 000 ₽ не берём.

Начинаем с обследования: 200 000 ₽ и 2–3 недели за один-два процесса. На выходе документ с составом работ, критериями приёмки, порядком передачи и вилкой бюджета. Дальше первый модуль, вывод в эксплуатацию этапами и сопровождение, на каждой ступени можно остановиться, и всё сделанное остаётся у вас по акту. Цены и сроки всех ступеней указаны на странице тарифов, направление описано на странице «Разработка ПО на заказ».

Частые вопросы

Как заказать разработку ПО и не потерять исходный код?

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

Кому принадлежит код, написанный на заказ?

Это определяется договором, а не фактом написания. Мы передаём результат работ (исходный код, конфигурации, документацию) по акту, код лежит в репозитории заказчика с первого коммита; открытые компоненты остаются под своими лицензиями, их список входит в документацию. Формулировку прав проверяет юрист заказчика.

Достаточно ли получить исходники архивом в конце?

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

Что такое проверка развёртывания и зачем она нужна?

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

Сколько стоит заказать разработку ПО?

Обследование стоит 200 000 ₽ за один-два процесса, 350 000 ₽ за несколько систем и 500 000 ₽ за производство или контур. Пилот первого модуля — 150 000–400 000 ₽ или 400 000–1 200 000 ₽, вывод в эксплуатацию — от 1 500 000 ₽ этапами по 300 000–700 000 ₽. Для личного кабинета или портала нижняя ступень от 250 000 ₽.

Что делать, если прежний подрядчик пропал вместе с исходниками?

Собрать все, что осталось: репозитории, архивы, доступы к серверам. Затем заказать разбор состояния и восстановить сборку, прежде чем что-либо менять. Если система работает, её можно принять на сопровождение; цену называем после разбора.

Можно ли остановить проект на середине?

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

Вы делаете сайты?

Нет, это не наш профиль. Мы занимаемся системами: учёт, производство, интеграции, ИИ, кабинеты и порталы. Веб-часть делаем как интерфейс к такой системе.