Основы оценки: из чего складывается трудоемкость веб-проекта
Основы оценки: из чего складывается трудоемкость веб-проекта
Представьте ситуацию: к вам приходит клиент и просит оценить создание маркетплейса, «похожего на Airbnb, но для аренды строительной техники». Разработчик смотрит на макеты, прикидывает в уме и говорит: «Сделаем за два месяца». Проходит полгода, бюджет превышен втрое, а проект всё ещё не готов к релизу.
Почему так происходит в 70% IT-проектов? Чаще всего причина кроется в самом начале: команда оценивала время на написание кода, а не трудоемкость всего проекта.
В этой статье мы разберем, что на самом деле скрывается за термином «трудоемкость», из каких невидимых частей состоит веб-разработка и почему точная оценка в первый день знакомства с проектом математически невозможна.
Что такое трудоемкость и как ее измерять
Трудоемкость — это объем работы, который необходимо выполнить для создания продукта. В IT этот объем измеряется не в строках кода и не в календарных месяцах, а в человеко-часах (или человеко-днях).
Человеко-час — это один час непрерывной работы одного специалиста над задачей.
Базовая формула расчета выглядит так:
Где:
- (Effort) — итоговая трудоемкость (в человеко-часах).
- (Time) — календарное время работы.
- (Number) — количество специалистов, вовлеченных в процесс.
Практический пример: Если над модулем оплаты работают 2 программиста в течение 5 рабочих дней (по 8 часов каждый), то календарный срок составит 5 дней. Но трудоемкость этого модуля: .
Именно человеко-часы вы будете умножать на ставку специалистов, чтобы получить итоговую стоимость проекта для клиента или бизнеса.
«Айсберг» веб-разработки: невидимые затраты
Главная ошибка новичков при внедрении системы оценки — учет только чистой разработки (написания кода). Однако современный веб-проект похож на айсберг.
То, что видит клиент (интерфейс, кнопки, анимации), — это лишь верхушка. Под водой скрывается огромный массив сопутствующих работ, без которых проект не доживет до релиза.
Давайте разберем типовое распределение трудоемкости в веб-проекте среднего размера (например, корпоративный портал или интернет-магазин). Проценты могут меняться, но состав остается неизменным:
| Этап работ | Доля в проекте | Что сюда входит |
|---|---|---|
| Аналитика и проектирование | 10–15% | Сбор требований, написание ТЗ, проектирование архитектуры БД. |
| Дизайн (UI/UX) | 10–15% | Прототипирование, отрисовка макетов, подготовка UI-кита. |
| Разработка (Front + Back) | 40–50% | Верстка, программирование логики, интеграция с внешними API (платежи, CRM). |
| Тестирование (QA) | 15–20% | Написание тест-кейсов, ручное и автотестирование, проверка безопасности. |
| Менеджмент и коммуникации | 10–15% | Созвоны с клиентом, планирование спринтов, управление рисками. |
Если программист говорит: «Я напишу этот функционал за 10 часов», реальная трудоемкость для компании составит около 20-25 часов.
К этим 10 часам кода нужно добавить время аналитика на постановку задачи, тестировщика на поиск багов, девопса на выкладку на сервер и менеджера на согласование результата. Внедряя систему оценки в команду, вы должны заложить процессы оценки для каждой из этих ролей.
Конус неопределенности: почему первые оценки всегда врут
Вернемся к нашему примеру с маркетплейсом. Почему разработчик ошибся на старте? Дело в том, что в момент первой встречи с клиентом уровень неопределенности максимален. Команда еще не знает, какие платежные шлюзы нужно интегрировать, насколько сложной будет система фильтрации и есть ли у клиента готовые данные для каталога.
В проектном менеджменте это явление описывается концепцией Конуса неопределенности (Cone of Uncertainty).
Суть концепции: точность оценки напрямую зависит от стадии жизненного цикла проекта. Чем больше мы узнаем о проекте, тем точнее становится наша оценка.
- На этапе идеи: Погрешность может составлять от до . Если вы оценили проект в 1000 часов, в реальности он может занять как 250, так и 4000 часов.
- После написания ТЗ: Диапазон сужается. Погрешность составляет от до .
- В середине разработки: Оценка становится точнее, погрешность падает до .
Как подступиться к расчету?
Понимание структуры айсберга и конуса неопределенности — это фундамент. Вы не можете просто посмотреть на проект и угадать итоговую цифру. Оценка трудоемкости — это не магия и не интуиция, это инженерный процесс.
Чтобы получить достоверные цифры, огромный и непонятный проект нужно разбить на мелкие, понятные и предсказуемые части, оценить каждую из них, а затем собрать обратно, добавив время на коммуникации и риски. Этот процесс называется декомпозицией, и именно его мы подробно разберем на следующем шаге нашего курса.