[Из песочницы] Подсчет себестоимости часа разработки программного обеспечения
Сегодня я расскажу о больной теме как для покупателей программного обеспечения, так и для провайдера этой услуги — себестоимости разработки. Понятно, что сейчас не самое лучшее время для того, чтобы разбрасываться бюджетами. Только это не значит, что производители должны работать себе в убыток. Многие говорят о жадности предпринимателей, но я вам вот что скажу: нет ничего постыдного в том, чтобы делать честный бизнес и адекватно считать свои косты.Наша компания разрабатывает российский софт для видеосвязи — какой, сами догадывайтесь, здесь не реклама. Не дешевый, не дорогой; стандартный, качественный софт. Интеграция с аппаратными решениями, гибкость, облака — все, что душе угодно. Буквально в конце прошлого года мы поняли, что в коммерческое предложение надо добавлять главу об экономической обоснованности. Чтобы все вопросы отметались сразу, чтобы экономить время и наше, и клиентов, потому что опять же: время — деньги.
Выяснилось, что клиенты действительно не понимают, сколько стоит час работы высококвалифицированного разработчика с постоянной рыночной официальной зарплатой. Иногда клиенты ориентируются на прайсы фрилансеров. Ничего не имеем против них, но ведь это совсем другие ребята.
Сначала мы надеялись найти какую-то методику подсчета себестоимости разработки ПО в открытых источниках, но потерпели фиаско, так как никто таких расчетов не производил.
Так что мы не пожалели времени и все сделали сами. Конечная формула получилась универсальной и на удивление простой:
Час = ЗП/36,
Где ЗП — это средняя зарплата группы разработчиков, включая руководителя, занятых в проекте, а число 36 — высчитанное отношение себестоимости часа разработки к зарплате разработчика.
Чтобы избежать обвинения в голословности, приводим полностью прозрачное обоснование.
Состав работ по разработке софта получился таким: • анализ требований, проектирование возможностей; • проектирование архитектуры и интерфейсов; • разработка документации и плана интеграции; • кодировка и сборка; • тест продукта; • инсталляция, квалификационный тест; • сопровождение (рефакторинг, исправление кода, поддержка версионности) — 30% от емкости.
Про 30% от емкости скажем отдельно. Многие компании-разработчики не включают сопровождение в состав работ и, соответственно, в финальную стоимость. В итоге заказчик дополнительно платит за любой баг, за малейшее исправление кода.
Мы предпочитаем работать с высокой степенью ответственности, поставлять клиентам, так сказать, «софт под ключ» и обеспечивать полную техподдержку, потому что разрабатывать сложное ПО, работая по принципу аутсорсинга — несерьезно. По нашему опыту, клиенты скорее согласятся платить за поддержку сверх требуемого, чем взваливать на себя проблемы по сопровождению кода.
Возвращаемся к методологии.
Оплата труда включает: зарплата, включая подоходный налог 13%; премия — без нее никуда: сделал все в срок, клиенту нравится — получи премию; выплаты в пенсионный фонд и фонд социального страхования 14% (социальный налог для разработчиков ПО — льготный). Медицинская страховка 1% от зарплаты; Компенсация питания 2% от зарплаты (серьезно, у нас это есть).
Количество рабочих дней в году взяли из производственного календаря, вычли 20 дней отпуска и разделили на количество месяцев. В отпуске ведь люди не работают, а отпускные платятся. Получилось
(247–20)/12=18,9… дней в среднем в месяц работает сотрудник.
Считаем, что в полном рабочем дне 8 часов. Здесь перед нами встает задача понять, сколько денег мы тратим на оплату труда сотрудников за час разработки. В разработку продукта, помимо разработчиков, вовлечены тестировщики, проектировщики и группа внедрения. Соотношение их зарплат таково: Тестировщики — 50% от зарплаты разработчиков.Сотрудники подразделения внедрения получают столько же, сколько и разработчики.Проектировщики — 75%.Разработчики в среднем 2,4 часа в день сопровождают код, а 5,6 часов в день его разрабатывают. Тестировщики — аналогично тратят 5,6 часов на разработку. Проектировщики и внедренцы занимаются все 8 часов в день своими работами, предваряющими и завершающими разработку.
Для примера берем за основу зарплаты программистов Java по данным портала Superjob.ru — 120 000 рублей в месяц — и составляем табличку калькуляции затрат на оплату часа труда сотрудника в пересчете на час разработки:
Понятно, что люди должны где-то сидеть (как минимум, на стульях, но вообще-то неплохо бы поставить эти стулья в кондиционируемое помещение), работать с приличной техникой, иметь хорошие каналы связи для работы с внешними приложениями, серверами, командами. Сотрудников должен кто-то искать, кто-то — считать им зарплату, кто-то — следить за офисом и так далее. Высокая квалификация сотрудников влечет за собой определенный уровень затрат на их содержание и администрирование. Такие факторы, как «условия» и соцпакет на рынке труда играют не последнюю роль. Все эти соображения привели нас к тому, что в нашу методологию должны быть включены общехозяйственные и административные расходы. Мы их считали по факту за последние полгода и разделили на количество производственного персонала, получилось 20% (относительно зарплаты разработчиков).
Цикл разработки предполагает следующие моменты. Чтобы обеспечить работу разработчика в течение часа, проектировщик должен потратить примерно треть часа на проектирование требований, тестировщик полчаса трудиться над тестированием и так далее. Наглядно все это представлено в таблице, и из нее же очевиден вывод: час непосредственной разработки требует часа дополнительных затрат.
Отметим, что технические писатели, которые готовят документацию, получают такую же зарплату, как тестировщики.
Последний штрих — округляем до 36 и можем с чистой совестью записывать формулу из начала этой публикации.
Час = ЗП/36
Точное определение себестоимости часа разработки в рублях зависит, таким образом, от зарплаты, которую получает разработчик в конкретной компании. Если, к примеру, считать по данным Superjob.ru (120 000 рублей в месяц), то час труда разработчика обойдется работодателю в 3 342 рубля с НДС.
В заключение следует отметить, что стоимость разработки для заказчика, безусловно, выше, чем себестоимость. Нормативы рентабельности — вопрос уже сугубо индивидуальный.
Будет здорово, если эта информация пригодится не только нам.