27.04.2015 Как рассчитать себестоимость часа работы программиста

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

В итоге исследования эксперты компании вывели прозрачную и понятную методологию подсчёта себестоимости часа разработчика. Универсальная формула для вычисления данного показателя выглядит как:

Час = ЗП/36,

где ЗП – это средняя заработная плата группы разработчиков (включая руководителя), а число 36 – высчитанное отношение себестоимости часа разработки к зарплате специалиста.

Выразить формулу в рублёвом эквиваленте возможно, только оперируя точными данными о зарплате в конкретной компании. Если взять за основу данные портала Superjob.ru о том, что программист Java в Москве получает в месяц в среднем 120 тысяч рублей, то себестоимость часа разработки одного специалиста составит 3 342 рубля, включая НДС.

Процесс разработки программного продукта включает в себя:


1. анализ требований, проектирование функциональных и нефункциональных возможностей программного продукта;


2. проектирование архитектуры программного продукта, документирование интерфейсов его компонентов;


3. разработку пользовательской документации, требований к тестам, плана тестирования компонентов программного обеспечения и плана интеграции программного обеспечения;

4. кодирование и сборку программных компонентов в соответствии с планом интеграции;

5. комплексное тестирование внутри производственного цикла разработчиков;

6. нагрузочное тестирование в процессе приёмки программного продукта;

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

8. сопровождение программного продукта на всем периоде его эксплуатации: исправление ошибок, рефакторинг, поддержка версионности и внесение небольших изменений.

Основные составляющие себестоимости разработки:

1. На час непосредственной разработки требуется час дополнительных производственных затрат.

2. Налоги учитываются исходя из текущей ставки НДС и льготной ставки социальных налогов для разработчиков ПО – 14%.

3. Затраты времени на сопровождение программного продукта – исправление ошибок, рефакторинг, поддержка версионности и внесение небольших изменений – составляют 30% от ёмкости производственных ресурсов. Некоторые компании не включают эти затраты в разработку. В этом случае заказчику приходится платить за каждое исправление или улучшение кода.

4. Общехозяйственные, административные и накладные расходы в пересчёте на час разработки составляют порядка 20%.

Калькуляция затрат на оплату труда часа работы сотрудника

а) Структура затрат на оплату труда

При расчёте затрат на оплату труда учитываются:

1. Заработная плата сотрудника по штатному расписанию, включая подоходный налог;

2. Премиальные выплаты сотруднику по результатам работы;

3. Социальные налоги (выплаты в фонд социального страхования и пенсионный фонд). Для компании разработчика программного обеспечения применяется пониженная налоговая ставка 14%;

4. Оплата медицинской страховки - 1% от з/п.

5. Компенсация питания - 2% от з/п.

б) Калькуляция рабочих дней в месяце

Для расчёта стоимости затрат на оплату труда в час берётся количество рабочих дней в году (по данным Производственного календаря) и из него вычитается 20 рабочих дней очередного отпуска.

Полученное количество дней, когда сотрудник непосредственно участвует в работе в течение года, делится на 12. Таким образом, рабочих дней в месяце, принимаемых для расчёта, 18,9 дней/мес.

в) Калькуляция производственных часов на разработку в день

Затраты времени на сопровождение программного продукта на всем периоде его эксплуатации в среднем составляют 30% от ёмкости производственных ресурсов. Рабочий  день разработчиков общей продолжительностью 8 часов/день тем самым делится на 2,4 часа/день, затрачиваемых на сопровождение кода, и 5,6 часов/день кодирования. Аналогичное соотношение и у тестировщиков. Таким образом для разработчиков и тестировщиков количество часов в день, затрачиваемых ими непосредственно на разработку нового программного обеспечения, составляет 5,6 часов/день.

Для проектировщиков и сотрудников подразделения внедрения количество рабочих часов в день считается в полном объёме в размере 8 час/день.

г) Расчёт расходов на оплату труда каждой категории сотрудников

Для данной модели мы возьмём средний уровень заработной платы программиста Java в Москве, который составляет 120 000 руб.

Для других категорий сотрудников мы примем следующее отношение размера оплаты труда по отношению к размеру оплаты труда разработчиков:

- средняя заработная плата тестировщиков составляет 50% от среднего уровня заработных плат разработчиков;

- средняя заработная плата сотрудников подразделения внедрения соответствует уровню заработных плат разработчиков;


- средняя заработная плата проектировщиков составляет 75% от среднего уровня заработных плат разработчиков.

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

Высокая квалификация сотрудников (в данном примере исследователи рассматривали конкурентоспособных специалистов) влечёт за собой определённый уровень затрат на их содержание и администрирование. Из этих соображений в методологию были включены общехозяйственные и административные издержки.

Для расчёта накладных, общехозяйственных и административных расходов в пересчёте на час разработки были взяты фактические расходы, произведённые компанией за последние 6 месяцев.

Фактические затраты были отнесены на разработку ПО пропорционально соотношению сотрудников, участвующих в разработке ПО, к общему числу сотрудников компании.

Расходы на оплату труда сотрудников административного и управленческого персонала были отнесены на разработку относительно численности сотрудников, участвующих в разработке ПО. Оплата труда других категорий персонала в расчёте не учитывалась.

Чем выше квалификация работающих в компании сотрудников, тем дороже обходится их содержание и администрирование. Таким образом, отношение доли накладных, общехозяйственных и административных расходов к стоимости часа разработки является относительно постоянной величиной и составляет порядка 20%.

Для обеспечения работы разработчика в течение часа проектировщик должен потратить в среднем 20 минут на проектирование требований, тестировщик – полчаса на тестирование, ещё 15 минут в целом уходит на нагрузочное тестирование, внедрение и написание технической документации. Следовательно, на час непосредственной разработки требуется час дополнительных затрат. Затраты компании на час разработку с учётом этих данных представлены в таблице 2 (учитывается зарплата технического писателя – такая же, как у тестировщика).

Коэффициент 35,9 был округлён до 36 для удобства использования (допустимая погрешность в данном случае), таким образом, формула для расчёта выглядит так:

Час = ЗП/36.

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

Стоимость разработки программного продукта для конечного заказчика может варьироваться в широком диапазоне. Это зависит от следующих факторов:

1. Срочности заказа на разработку. Необходимость изменения производственных планов и связанное с этим перераспределение ресурсов увеличивает стоимость разработки в два раза.

2. Уникальности заказа на разработку. Невозможность использования программного продукта другими потребителями (масштабирование разработки) увеличивает стоимость разработки в два раза. Оценка заказываемого программного продукта на предмет уникальности производится продуктовым маркетингом.

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