← Блог

Сколько стоит разработка системы на заказ

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

Вопрос «сколько стоит разработать систему» звучит как вопрос «сколько стоит построить здание». Ответ зависит от того, склад это или поликлиника, но порядок величин и структуру сметы назвать можно до проекта — и по ней уже видно, где деньги.

Разберем, из чего складывается цена, что ее двигает сильнее всего и по каким признакам смета вырастет вдвое к середине работ.

Структура бюджета

Первое, что удивляет заказчиков: программирование — не самая большая статья, а самая рискованная — не она.

Структура бюджета проекта разработки по статьям Пять горизонтальных полос: разбор и проектирование пятнадцать процентов, данные и серверная часть тридцать, интерфейсы двадцать пять, интеграции двадцать, приемка и запуск десять. ДОЛЯ В БЮДЖЕТЕ ПРОЕКТА разбор и ТЗ данные и сервер интерфейсы интеграции приемка и запуск 15% 30% 25% 20% 10%
Пропорции усредненные и сдвигаются под проект. Но соотношение устойчивое: работа с данными и связями стоит дороже, чем рисование экранов, а интеграции почти всегда недооценивают.

Из этой картинки следуют два вывода.

Первый: экономия на разборе и ТЗ ничего не экономит. Пятнадцать процентов бюджета определяют, насколько точно потрачены остальные восемьдесят пять.

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

Пять вещей, которые двигают цену

Количество сущностей

Сколько разных объектов живет в системе — заказы, машины, смены, договоры, склады. Каждая сущность это таблица, экран списка, карточка, права и связи с остальными. Цена растет не линейно, а по числу связей между ними.

Количество ролей

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

Интеграции

С 1С, с банком, с телефонией, с маркетплейсом, с оборудованием. Дорого не подключение, а договоренность о том, кто источник истины и что делать при расхождении данных.

Мобильная часть

Работа с телефона это не «та же система, но уже». Отдельные сценарии, отдельный интерфейс, часто работа без связи и синхронизация потом. Может удвоить проект.

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

Ориентиры по срокам

Сроки честнее денег, потому что не зависят от ставки. Порядок такой.

1–2 неделиРазбор процесса, ТЗ, первый рабочий блок, который можно потрогать
1–2 месяцаОдин процесс целиком: данные, роли, экраны, базовые интеграции
3–5 месяцевНесколько связанных процессов, мобильная часть, отчетность, обмен с 1С
от 6 месяцевПродукт для внешних пользователей: биллинг, нагрузка, поддержка, развитие

Точную цифру называем после разбора и ТЗ, не с потолка. Смета фиксированная.

Почему фикс и почасовка дают разный результат

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

Фиксированная смета переносит риск на подрядчика. Чтобы он мог его взять, задача должна быть описана. Отсюда и требование ТЗ до цены — это не бюрократия, а условие, при котором фикс вообще возможен.

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

Что делает проект дешевле

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

И обратное. Дороже всего обходятся три вещи: переделка того, что сделали до разговора о требованиях; интеграция, про которую вспомнили в середине; и попытка сохранить логику старой системы, которую никто уже не может объяснить.

Как ИИ повлиял на цену

Повлиял, но не так, как обещает реклама.

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

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

Практический эффект такой: скорость выросла на механической части, а качество по-прежнему определяется тем, кто проектирует. Скорость от инструментов, качество от людей.

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

Признаки сметы, которая вырастет

  • Нет перечня того, что в объем не входит. Граница определяется только тем, что в нем есть, — значит, ее нет.
  • Интеграции описаны одной строкой без указания направления обмена и частоты.
  • Не оговорено, сколько итераций правок входит в приемку.
  • Нет этапов с отдельной сдачей. Проект на пять месяцев без промежуточных точек — это пять месяцев вслепую.
  • Не сказано, кому принадлежит код и что происходит при расставании.

Разбор на примере

Чтобы цифры перестали быть абстрактными, вот как раскладывается типовая задача — система приема и распределения заявок для сервисной компании. Одна роль диспетчера, одна роль исполнителя с телефона, обмен с 1С по контрагентам.

  1. Разбор и ТЗ — около недели. Интервью с диспетчером и двумя исполнителями, схема процесса, модель данных, список экранов, критерии приемки. На выходе документ, по которому можно назвать фиксированную цену.
  2. Данные и серверная часть — 3–4 недели. Сущности, статусы, права, расчеты, журнал изменений, API для мобильной части. Самая большая и самая невидимая заказчику часть.
  3. Интерфейс диспетчера — 2–3 недели. Экран заявок, карточка, распределение по исполнителям, фильтры, два отчета.
  4. Мобильная часть исполнителя — 2–3 недели. Список своих заданий, смена статуса, фото и комментарий по факту, работа при слабой связи.
  5. Обмен с 1С — 1–2 недели. Выгрузка контрагентов и номенклатуры, передача закрытых заявок. Срок сильно зависит от того, в каком состоянии база на той стороне.
  6. Приемка и запуск — около недели. Перенос справочников, обучение, параллельная работа, исправления по итогам первой недели.

Итого порядка двух с половиной — трех месяцев. Убрать мобильную часть — минус месяц. Добавить вторую роль с отдельными правами и своим набором экранов — плюс три-четыре недели. Добавить расчет стоимости по сложным тарифам — еще две.

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

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

Можно ли назвать цену без ТЗ

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

Почему разработка стоит дороже, чем подписка на готовый продукт

В первый год почти всегда дороже. Сравнивать нужно на горизонте трех лет и с учетом роста числа пользователей и стоимости доработок. Разбор этого сравнения — в отдельной статье.

Что входит в поддержку после запуска

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

Кому принадлежит код

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

Можно ли делать по частям и платить по мере готовности

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

Назовем цифру после разбора, а не по телефону

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

Получить оценку

Если задача решается настройкой готового продукта дешевле, об этом говорится прямо.

Дальше по теме