June 25, 2023

Как узнать примерную стоимость разработки

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

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

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

Как оценить стоимость разработки, если нет ТЗ

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

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

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

Я подготовил Google-таблицу, чтобы наглядно фиксировать результат этого процесса примерной оценки.

Cсылка на шаблон Google Sheets

Шаблон в гугл-таблице

В таблице:

— Исполнители

— Ставка специалиста в неделю при полной загрузке

— Затраты на исполнителя на весь период проекта

— Загрузка специалистов в неделю в процентах

— Состав работ, которые будут выполняться в рамках месяца или на определённом этапе

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

  • Если специалист не задействован в определённую неделю, ячейка остаётся пустой.
  • После проработки ТЗ с участием архитектора, аналитика и дизайнера к проекту подключаются разработчики.
  • Вовлеченность дизайнера после проработки интерфейса постепенно снижается со 100% до 50% для поддержки вёрстки фронтенд-разработчиками.
  • Тестировщики на первых этапах загружены на 50%, а перед запуском их загрузка достигает 100%.

и т.д.

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

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

Так можно примерно рассчитать стоимость всего проекта и прикинуть прогноз затрат по неделям и месяцам.

Насколько точна эта оценка

Важно понимать, что полученная оценка — это не итоговая гарантия стоимости разработки. Это порядок предполагаемых затрат. Единственное, о чём можно сделать вывод по результатам такой оценки — что при сохранении исходных требований и технологического стека итоговая оценка с очень маленькой вероятностью будет отличаться больше, чем в 10 раз. Допустимый более часто предполагаемый разброс — до 2-3 раз.

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

Более подробно об этапе проектирования — в статье Как написать техническое задание на разработку.

Как ещё можно использовать шаблон

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

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


Автор — Максим Панфилов, предприниматель, основатель и директор компании panfilov.digital. Компания на протяжении 10 лет работает с крупными заказчиками в России и Казахстане: выводит на рынок и развивает масштабные проекты с использованием веб-технологий.

Подписаться в Telegram → @panfilovonline

Связаться с автором → @mpanfilov