При подготовке документа главное — не наименование договора, а его содержание. Для IT-проекта предмет договора подряда нужно описывать через конкретный результат. Формулировки вроде «разработка ПО», «техническая поддержка продукта» или «выполнение задач по проекту» для этого не подходят. По ним нельзя понять, какие именно услуги оказывает исполнитель и что он обязан передать после завершения работ.
В договор с разработчиком обычно включают четыре группы условий: что делает исполнитель, в каком виде сдает результат, как проходит приемка и какие материалы входят в итоговый комплект. Для заказчика это базовые существенные условия договора. Без них спор возникает вокруг объема работ, сроков и состава переданных файлов. Также для договора подряда предмет является существенным условием (ст. 702 ГК РФ).
В описании результата лучше сразу перечислить, что входит в предмет: модуль, интеграция, бот, скрипт, доработка существующего кода, база данных, API, документация, инструкции по развертыванию, тесты, конфиги, коммиты в репозитории, архив исходников. Если проект разбит на этапы, это тоже стоит зафиксировать в договор: какой результат передается по каждому этапу, какой акт подписывается и что считается завершением этапа.
После составления договора рекомендуем проверить:
- можно ли по тексту понять конечный результат без переписки в мессенджерах и дополнительных обсуждений;
- отделен ли результат от процесса работы;
- привязана ли приемка к конкретным файлам, доступам и документам (результатам);
- разграничены ли этапы работ;
- можно ли по тексту в договоре определить, за что заказчик платит.
Отдельно полезно прописать технические детали. Например, куда загружается код, в каком формате передается документация, какие доступы заказчик должен получить и входят ли в результат библиотеки, конфиги и SQL-скрипты. При работе с программистами именно такие пункты снимают большую часть споров после сдачи задачи.