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