Содержание |
Экономическое обоснование стоимости разработки компонентов программного обеспечения
Специалисты Mind провели весной 2015 года исследование, в рамках которого разработали прозрачную и понятную методологию подсчета себестоимости часа разработчика. Универсальная формула для вычисления данного показателя выглядит как
Час = ЗП/36,
где ЗП – это средняя заработная плата группы разработчиков (включая руководителя), а число 36 – высчитанное отношение себестоимости часа разработки к зарплате специалиста.
Основные составляющие себестоимости разработки
- На час непосредственной разработки требуется час дополнительных производственных затрат.
- Налоги учитываются исходя из текущей ставки НДС и льготной ставки социальных налогов для разработчиков ПО – 14%.
- Затраты времени на сопровождение программного продукта – исправление ошибок, рефакторинг, поддержка версионности и внесение небольших изменений – составляют 30% от емкости производственных ресурсов. Некоторые компании не включают эти затраты в разработку. В этом случае заказчику приходится платить за каждое исправление или улучшение кода.
- Общехозяйственные, административные и накладные расходы в пересчете на час разработки составляют порядка 20%.
Выразить формулу в рублевом эквиваленте возможно, только оперируя точными данными о зарплате в конкретной компании. Если взять за основу данные портала Superjob.ru о том, что программист Java в Москве получает в месяц в среднем 120 тысяч рублей, то себестоимость часа разработки одного специалиста составит 3 342 рубля, включая НДС.
Разработанная методология является универсальной и может применяться любой компанией-разработчиком, в доказательство этого факта Mind публикует полные расчеты на своем сайте и предлагает следующее описание методологии с пояснениями.
Модель расчета себестоимости разработки
Процесс разработки включает в себя следующие пункты:
- анализ требований, проектирование возможностей программного продукта;
- проектирование архитектуры, документирование интерфейсов компонентов;
- разработка документации и плана интеграции ПО;
- кодирование и сборка компонентов;
- комплексное и нагрузочное тестирование продукта;
- установка разработанного решения, квалификационное тестирование;
- сопровождение (рефакторинг, поддержка версионности и пр.) – некоторые компании не включают его в разработку, в таком случае заказчику приходится дополнительно оплачивать работы по любому исправлению кода.
Структура затрат на оплату труда учитывает:
- заработную плату (включая подоходный налог);
- премиальные выплаты по итогам работы;
- выплаты в фонд социального страхования и пенсионный фонд по льготной ставке для компании-разработчика ПО 14%;
- оплату медицинской страховки – 1% от зарплаты;
- компенсацию питания – 2% от зарплаты.
Количество рабочих дней сотрудника в месяц в среднем составляет 18,9 – показатель получен методом деления общего количества рабочих дней в году (без учета отпуска) на 12.
В разработку продукта вовлечены сотрудники, которые занимаются тестированием, внедрением и проектированием, их среднерыночные зарплаты составляют 50% от зарплаты разработчика (группа тестировщиков), 75% (группа проектировщиков) и 100% (группа внедрения). При этом разработчики и тестировщики затрачивают непосредственно на разработку ПО в среднем 5,6 часов в день, остальное время они тратят на сопровождение продукта – это примерно 30% от рабочего времени.Геннадий Попов, PathVision.ai: Как искусственный интеллект помогает медицине и бизнесу
Приведенные данные позволили вычислить затраты компании на оплату труда сотрудника в пересчете на час разработки (таблица 1).
Калькуляция затрат на оплату труда часа работы сотрудника
Высокая квалификация сотрудников (в данном примере исследователи рассматривали конкурентоспособных специалистов) влечет за собой определенный уровень затрат на их содержание и администрирование. Из этих соображений в методологию были включены общехозяйственные и административные издержки. Mind рассчитала эту статью расходов, основываясь на тратах за полугодовой период. Фактические траты были разделены на количество производственного персонала и выражены в процентах относительно зарплаты разработчика – получилось 20%.
Для обеспечения работы разработчика в течение часа проектировщик должен потратить в среднем 20 минут на проектирование требований, тестировщик – полчаса на тестирование, еще 15 минут в целом уходит на нагрузочное тестирование, внедрение и написание технической документации. Следовательно, на час непосредственной разработки требуется час дополнительных затрат. Затраты компании на час разработку с учетом этих данных представлены в таблице 2 (учитывается зарплата технического писателя – такая же, как у тестировщика).
Калькуляция стоимости часа разработки
Число 35,9 для удобства было округлено до 36 (допустимая погрешность в данном случае), соответственно итоговая формула представляет собой Час = ЗП/36.
В заключение следует отметить, что невозможно поставить знак равенства между себестоимостью часа разработки и его стоимостью для заказчика, так как каждая компания вправе самостоятельно рассчитывать нормативы рентабельности. Для заказчиков разработанная формула может послужить ориентиром, но в первую очередь она призвана помочь компаниям-разработчикам.
Смотрите также
- Средства разработки приложений - каталог продуктов и проектов
- Программист
- День программиста
- Кладбища программистов. Почему не все ИТ-шники хотят работать в корпорациях
- Разработчики сайтов (контакты программистов)
- Рейтинг программистов HackerRank
- Себестоимость часа работы программиста
- Зарплаты программистов в России