Чтобы заказать разработку ПО и не потерять код, закрепите четыре вещи до начала работ: репозиторий создаётся в вашем аккаунте и код попадает туда с первого коммита; сборка и развёртывание описаны инструкцией, которую проверяет ваш администратор; все доступы и ключи оформлены на вас; приёмка идёт по письменным критериям по этапам. Тогда смена подрядчика превращается в передачу дел, а не в переписывание.
Потерять код можно и при честном подрядчике. Исходники лежат на его ноутбуке «до окончательной оплаты», сборка работает только на его сервере, ключи записаны на его почту, а нужные знания никуда не записаны. Ниже разобраны такие ситуации, состав передачи, порядок заказа по ступеням и красные флаги в предложениях. О самом направлении рассказано на странице «Разработка ПО на заказ», о цене — в статье «Сколько стоит разработка ПО»; здесь мы смотрим на владение.
Шесть способов потерять код при честном подрядчике
Слова «исходники передаются» в договоре ничего не доказывают. Ниже шесть ситуаций, в которых формально всё передано, а работать с системой без исполнителя нельзя.
| Ситуация | Как выглядит | Как проверить до подписания |
|---|---|---|
| Код у подрядчика | Репозиторий в аккаунте исполнителя, вам выдают архив в конце | Спросить, в чьём аккаунте репозиторий и когда в нём появится первый коммит |
| Код есть, сборки нет | Для запуска нужны скрипты, переменные и ручные шаги, которых нет в описании | Потребовать, чтобы приёмка включала развёртывание вашим администратором на чистом сервере |
| Доступы на исполнителе | Домен, сервер, почтовый сервис, ключи и учётные записи оформлены на его компанию или личные адреса | Список всех учётных записей с владельцем каждой и дата перевода на вас |
| Скрытые зависимости | Система опирается на закрытую библиотеку подрядчика или платный компонент, о которых вы не знали | Список зависимостей с лицензиями в составе документации |
| Знания в головах | Почему схема устроена так, понимает один разработчик; решения нигде не записаны | Проверить, что документация описывает решения и причины, а не только перечисляет экраны |
| Нет данных для проверки | Нет тестов и тестовых данных, нельзя понять, сломалось ли что-то после правки | Спросить, как следующий подрядчик узнает, что его правка ничего не сломала |
Все шесть проверяются вопросами и бумагами, а не доверием. Другой подрядчик, которого вы позовёте через год, должен получить репозиторий, сборку, список доступов и пояснения, не разговаривая с первым.
Что передаётся и когда
Передача идёт не в конце, а по ходу работ: так видно, что код есть, а риск не копится до финала. Порядок можно записать в приложение к договору.
| Что передаётся | Когда | Как принять |
|---|---|---|
| Репозиторий с историей изменений | С первого коммита, в вашем аккаунте | Видите коммиты по ходу работ, а не архив в конце |
| Сборка и развёртывание | К сдаче каждого этапа | Ваш администратор поднимает систему на чистом сервере по инструкции |
| Доступы, ключи, учётные записи | По мере появления; полный список к сдаче этапа | Таблица «система, владелец, кто имеет доступ» сверяется с реальностью |
| Миграции и модель данных | Вместе с кодом | База создаётся с нуля из миграций, схема описана |
| Документация | Пишется по ходу, принимается на этапе | По ней новый разработчик находит, что где лежит, и запускает проект |
| Тесты и контрольные данные | Вместе с кодом | Тесты запускаются у вас, а список проверок приёмки сопоставлен с ними |
| Список зависимостей и лицензий | К сдаче этапа | Открытые компоненты остаются под своими лицензиями; вы знаете, какие условия на них действуют |
| Руководства пользователя и администратора | К сдаче | Администратор заводит пользователя и восстанавливает копию без звонка исполнителю |
Если исполнитель возражает против репозитория в вашем аккаунте, спросите, что именно его смущает. Обычно это не техническая причина. Мы работаем так: исходный код лежит в репозитории заказчика с первого коммита, результат работ передаётся по акту. Юридическое оформление передачи прав записывается в договоре; текст готовит юрист заказчика, мы юридических консультаций не даём.
Как заказать по шагам
Порядок заказа совпадает с лестницей ступеней, на каждой из которых можно остановиться. Это защита и от потери кода, и от потери бюджета: вы платите за ступень, видите результат и решаете, идти ли дальше.
- Опишите процесс, а не желаемую программу. Кто что делает, как часто, сколько времени уходит, где ошибаются. Из «нужна CRM» нельзя сделать оценку, из описания процесса можно.
- Назовите владельца задачи. Человек со стороны заказчика, который принимает решения и подписывает приёмку. Без него спор о результате неизбежен.
- Проверьте, не решается ли задача настройкой готовой системы. Если решается, это дешевле; сравнение подходов разобрано в статье «Коробочное ПО или заказная разработка».
- Закажите обследование. Цена фиксирована: 200 000 ₽ за один-два процесса (2–3 недели), 350 000 ₽ за несколько систем (3–4 недели), 500 000 ₽ за производство или контур (4–6 недель). Сумма вычитается из первого этапа при продолжении. Документ годится и для тендера: с ним можно сравнивать предложения, в том числе не наши.
- Начните с первого модуля. Он проверяет подрядчика, подход и передачу на ограниченном объёме. По тарифам это ступень пилота: 150 000–400 000 ₽ за 2–8 недель для лёгкого случая и 400 000–1 200 000 ₽ за 2–3 месяца для тяжёлого. Для личного кабинета или портала нижняя ступень начинается от 250 000 ₽.
- Проверьте передачу на первом модуле. Пусть ваш администратор поднимет его на чистом сервере. Если не получилось на малом объёме, на большом получится хуже.
- Выводите в эксплуатацию этапами. От 1 500 000 ₽ этапами по 300 000–700 000 ₽, от трёх месяцев, у каждого этапа своя приёмка и право остановиться.
- Решите, кто сопровождает. Свои администраторы, исполнитель или другая компания: пакеты 20 000, 60 000 и 120 000 ₽ в месяц, подробнее на странице «Сопровождение ПО».
Все ступени, цены и сроки собраны на странице тарифов. Задание на разработку составляется по итогам обследования; общие правила описаны в статье «Как составить техническое задание на разработку».
Проверка передачи: что сделать до последнего платежа
Самый надёжный тест не требует юриста. Нужен один день и ваш администратор, который не участвовал в разработке.
- Выделить чистый сервер или виртуальную машину, на которой ничего нет.
- Дать администратору репозиторий и инструкцию, без звонков исполнителю.
- Попросить поднять систему, создать пользователя, загрузить тестовые данные и выполнить главный сценарий.
- Попросить восстановить базу из резервной копии и убедиться, что данные на месте.
- Все вопросы, которые возникли у администратора, записать: каждый означает пробел в документации.
- Запустить автоматические проверки и сверить результат со списком приёмки.
- Сверить список доступов: владелец каждой учётной записи теперь вы.
Пока пункты не закрыты, последний платёж этапа не проводится. Условие записывается в договоре заранее и не выглядит как недоверие: оно защищает обе стороны. Подрядчик получает ясный критерий завершения, а вы получаете систему, а не набор файлов. Такая проверка встроена и в нашу приёмку.
Модели оплаты и что они делают с вашим кодом
Способ оплаты влияет на риск потери кода не напрямую, а через стимулы исполнителя. Ниже три модели.
| Модель | Когда годится | Риск для кода | Что поправить |
|---|---|---|---|
| Фиксированная цена за проект | Объём известен и записан: обследование, первый модуль, миграция базы | Исполнитель экономит на документации и тестах, чтобы уложиться | Включить документацию и проверку развёртывания в список приёмки |
| Оплата по времени | Длинный проект с меняющимися требованиями, сопровождение | Отчёты о часах без результата, код копится без структуры | Еженедельная сборка для показа, отчёт «часы и что сделано» |
| Этапы с отдельной ценой | Большинство проектов | Риск ограничен этапом, но передача может откладываться на «после следующего» | Передача кода и сборки входит в приёмку каждого этапа |
Мы используем третью модель: обследование с фиксированной ценой, затем этапы, где у каждого свои цена и приёмка. После любого этапа у вас остаётся работающая часть, а не котлован, и репозиторий уже в вашем аккаунте. Сколько стоит работа и что двигает цену, подробно описано в статье про стоимость разработки ПО.
Красные флаги в предложении подрядчика
Предложение читайте так, как читает его будущий преемник исполнителя. Вот признаки, при которых стоит остановиться и уточнить.
| Признак | Чем грозит | Что спросить |
|---|---|---|
| Не названо, где живёт репозиторий | Исходники окажутся у исполнителя | В чьём аккаунте репозиторий и с какого коммита вы видите код |
| Передача кода «после полной оплаты» | Вы платите за то, чего не видели | Можно ли получать код и сборку по этапам |
| Нет строки про развёртывание и инструкцию | Система запускается только руками исполнителя | Кто и как проверяет, что стенд поднимается без вас |
| Используется собственный закрытый каркас | Любая правка возможна только у автора | Какие компоненты закрыты и на каких условиях они вам доступны |
| Цена за проект целиком, без этапов | Остановиться без потерь нельзя | Что остаётся у меня после каждого этапа |
| Нет критериев приёмки | Спор о готовности, затягивание платежей | Где письменный список проверок с ожидаемым результатом |
| Исполнитель обещает всё и сразу | Объём не ограничен, значит, не ограничена и цена | Что откладывается на следующий этап |
| Единственный разработчик без замены | Болезнь или уход одного человека останавливает проект | Кто ещё знает систему и где это записано |
Общий разбор выбора исполнителя и вопросов до договора дан в статье «Как выбрать подрядчика на разработку ПО». Портфолио и обещания в этом выборе почти ничего не дают, поэтому смотрите на условия передачи.
Если подрядчика уже нет, а кода нет или он не собирается
Ситуация встречается: прошлый исполнитель исчез, документации нет, система работает, но что-то менять страшно. Порядок действий такой.
- Сначала собрать все, что есть. Репозитории, архивы, доступы к серверам, переписку с описанием решений. Составьте список, чего не хватает.
- Закажите разбор состояния. Аудит кода и архитектуры показывает, что запускается, где слабые места и как оценивать продолжение; он лежит на шкале обследования и описан на странице «Аудит кода и архитектуры».
- Восстановить сборку и развёртывание до любых доработок. Пока систему нельзя поднять с нуля, любая правка рискованна.
- Только потом решать: сопровождать, переписывать по частям или заменять. Перепись целиком редко бывает оправдана; один из разборов типовой задачи показывает, как принимают чужую систему после подрядчика.
Берём на сопровождение и чужие системы, если есть исходники или их можно восстановить. Сначала разбор состояния, потом цена: брать то, чего не видел, нельзя.
Что делаем мы и с чего начать
Мы небольшая инженерная команда в Ростове-на-Дону: работаем по всей России, за проект отвечает один человек, а код с первого коммита лежит в вашем репозитории. Берём один участок или один контур, а не внедрение системы за десятки миллионов, не дежурим круглосуточно и не делаем сайты как самостоятельный продукт: веб-часть для нас интерфейс к системе. Работы дешевле 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 ₽.
Что делать, если прежний подрядчик пропал вместе с исходниками?
Собрать все, что осталось: репозитории, архивы, доступы к серверам. Затем заказать разбор состояния и восстановить сборку, прежде чем что-либо менять. Если система работает, её можно принять на сопровождение; цену называем после разбора.
Можно ли остановить проект на середине?
Да. Работа идёт ступенями, после любой можно остановиться. Всё сделанное остаётся у вас по акту: исходники, сборка и инструкция по развёртыванию. Поэтому передача проверяется на каждом этапе, а не только в конце.
Вы делаете сайты?
Нет, это не наш профиль. Мы занимаемся системами: учёт, производство, интеграции, ИИ, кабинеты и порталы. Веб-часть делаем как интерфейс к такой системе.