Как узнать примерную стоимость разработки
Дать точную оценку стоимости разработки проекта невозможно. Я сделал гугл-таблицу, с помощью которой можно приблизительно оценить объём трудозатрат, исходя из состава команды исполнителей и их прогнозируемой загрузки на проекте.
Заранее точно оценить затраты на разработку невозможно, потому что программирование — творческий процесс. На этапе идеи у проекта максимальная степень неопределённости.
Реализация большинства проектов включает уникальные работы, чаще всего — это не просто набор повторяющихся рутинных действий. Нередко используются новые технологии, либо впервые интегрируются разные источники данных и сервисы, что добавляет рисков увеличения трудозатрат.
Как оценить стоимость разработки, если нет ТЗ
Когда на входе есть верхнеуровневое описание задачи и нужно примерно прикинуть стоимость разработки, я представляю, команда какого состава исполнителей за какой срок сможет реализовать такую задачу.
Например, интернет-магазин. Я понимаю, что для реализации с нуля будет нужен тимлид-архитектор, менеджер проекта, аналитик, дизайнер, два бекенд-разработчика, два фронтенд-разработчика, QA. Поскольку берём во внимание именно разработку, не учитываю то, что связано с контентом, маркетингом и веб-аналитикой.
Я припоминаю, что в прошлом команда с таким составом реализовывала похожие проекты за полгода. Дальше считаю, сколько для клиента будет стоить команда, исходя из ежемесячной оплаты специалистов. Закладываю риски и получаю сумму, от которой можно прикинуть вилку и сориентировать заказчика по бюджету.
Я подготовил Google-таблицу, чтобы наглядно фиксировать результат этого процесса примерной оценки.
Шаблон в гугл-таблице
— Ставка специалиста в неделю при полной загрузке
— Затраты на исполнителя на весь период проекта
— Загрузка специалистов в неделю в процентах
— Состав работ, которые будут выполняться в рамках месяца или на определённом этапе
В каждой ячейке в таблице прописывается примерный процент загрузки специалиста в неделю. Например:
- Если специалист не задействован в определённую неделю, ячейка остаётся пустой.
- После проработки ТЗ с участием архитектора, аналитика и дизайнера к проекту подключаются разработчики.
- Вовлеченность дизайнера после проработки интерфейса постепенно снижается со 100% до 50% для поддержки вёрстки фронтенд-разработчиками.
- Тестировщики на первых этапах загружены на 50%, а перед запуском их загрузка достигает 100%.
Загрузка специалистов на определённый период прописывается на основе опыта того, кто делает оценку. Я анализирую примеры предыдущих проектов, похожих по функциональности. Опыт программирования, а также знание компетенций исполнителей команды, которая будет реализовывать проект, помогут более точно спрогнозировать загрузку.
Перемножая процент загруженности на ставку, мы получаем затраты на исполнителя в неделю; суммируем по всем ячейкам — получаем общий бюджет на исполнителя.
Так можно примерно рассчитать стоимость всего проекта и прикинуть прогноз затрат по неделям и месяцам.
Насколько точна эта оценка
Важно понимать, что полученная оценка — это не итоговая гарантия стоимости разработки. Это порядок предполагаемых затрат. Единственное, о чём можно сделать вывод по результатам такой оценки — что при сохранении исходных требований и технологического стека итоговая оценка с очень маленькой вероятностью будет отличаться больше, чем в 10 раз. Допустимый более часто предполагаемый разброс — до 2-3 раз.
Чтобы дать более точную оценку разработки, необходимо сделать проектирование: описать пользовательские сценарии, отрисовать интерфейсы и сделать для них функциональное описание, проработать архитектуру бекенда и фронтенда. По итогам проектирования фиксируется вся спецификация и функциональные требования, что даёт возможность дать более точную оценку разработки.
Более подробно об этапе проектирования — в статье Как написать техническое задание на разработку.
Как ещё можно использовать шаблон
В нижней части таблицы также можно перечислить набор функций или разделов, которые предполагается реализовать. Таким образом можно разделить проект на этапы, просуммировать затраты и получить прогнозную стоимость каждого этапа.
Таблица сделана для разработки сайтов, приложений, ПО и т.д, но подойдёт для любого проекта, где работает команда исполнителей, если у каждого специалиста есть своя ставка и примерная оценка трудозатрат.
- Форматы сотрудничества с подрядчиком в ИТ
- Как написать техническое задание на разработку
- Бизнес-процесс управления разработкой
Автор — Максим Панфилов, предприниматель, основатель и директор компании panfilov.digital. Компания с 2013 работает с крупными заказчиками в России и Казахстане: выводит на рынок и развивает ИТ-проекты.
Подписаться в Telegram → @panfilovonline
Связаться с автором → @mpanfilov