Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Приветствуем вас в блоге томского IT-сообщества! Здесь мы пишем об интересных кейсах и опыте томских IT-компаний по разработке и продвижению своих продуктов. А еще мы проводим медиаконференцию «Город IT 2020: продуктовый сезон», где будем обсуждать темы, которые будут затрагиваться в этом блоге. Больше информации о Городе IT 2020 можно найти тут.

Сегодня своими мыслями и опытом по расчёту себестоимости разработки поделится Мария Дробинская из компании Effema.

Привет! Меня зовут Мария Дробинская. Я генеральный директор, бизнес-аналитик и преподаватель компании Effema. Фанат табличек и циферок. Если что-то, с чем я сталкиваюсь регулярно, может быть разложено по табличкам, оно будет разложено.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Образно говоря, этим и занимается Effema — мы помогаем нашим заказчикам собрать данные из разных информационных систем, структурировать и красиво визуализировать. Таким образом подготовив информацию к анализу и принятию важных управленческих решений.

Руководители принимают массу решений каждый день. Решения самые разные и касающиеся самых разных областей бизнеса. Разберём сегодня, как сформировать базу для принятия решений, касающихся себестоимости разработки. Любая компания, занимающаяся заказной разработкой, рано или поздно сталкивается с рядом вопросов:

  • Оценили проект в часах разработки, а как перевести часы в деньги?

  • Какую скидку можем дать, так чтобы остаться в прибыли?

  • Сотрудник просит больше – мы можем?

  • У нас вообще проекты с прибылью?

  • Кто просадил проект?

  • Какой сотрудник более маржинален?

  • … и многое, многое другое…

Ответы на все эти вопросы сводятся к одному и тому же — к расчёту себестоимости разработчиков. Да и не только их, чего уж.

Cегодня мы поговорим о том, как разложить всё по полочкам. И по ячейкам. А для полноты картины — ещё и том, как организовать эти данные у себя под рукой так, чтобы они были всегда и были актуальные.

Схематичный грубый расчёт

Прежде чем углубиться в детальный разбор, давайте сделаем схематичный расчёт. Из разряда «посчитаем на калькуляторе за 2 минуты». Чтобы понять основной алгоритм. Порядок действий выглядит следующим образом:

  • Скажем, есть у нас разработчик Вася, который отработал 100 часов в месяце на заказных проектах. И получил Вася зарплаты вместе со всеми налогами за этот месяц 100 тугриков. Простой математикой получаем — 1 тугрик в час.
  • А все разработчики в компании вместе с Васей отработали на заказных проектах 1000 часов.
  • Ещё в компании есть разные другие сотрудники — директор, бухгалтер, кадровик, офис-менеджер, менеджер продаж, маркетолог… кто-нибудь ещё… Сотрудники, которые не участвуют в заказных проектах. Есть плюшки, мебели, техники, которые покупались в этом месяце. Всё это суммарно съело за месяц 1000 тугриков.
  • Себестоимость одного часа Васи складывается из двух циферок:
  • сумма его ЗП вместе со всеми налогами и начислениями = 1 тугрик в чассумма косвенных расходов, приходящаяся на его час (её мы уже распределяем на всех разработчиков) = 1000 тугриков / 1000 часов = 1 тугрик.
  • Итого: себестоимость Васиного часа = 2 тугрика.

А теперь чуть детальнее. Разберём основные сущности, которыми будем оперировать.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Отработанное время

  • Время тратят все, кто работает в компании. Свою стоимость имеет и час разработчика и час бухгалтера.
  • Если мы хотим считать себестоимость всех сотрудников — на всех сотрудников должна быть понятная картина — сколько часов куда потрачено.

Если у нас есть чёткое понимание, кто — на что — сколько времени тратит, то это отлично! Если прямой зависимости между сущностями ЧАСЫ и деньги в компании нет, эту зависимость нужно выделить.

Самый простой и быстрый способ — выделить пропорции от нормы часов в месяце. Например, Вася тратит 20% своего времени на Проект1, 70% — на Проект2, оставшиеся 10% — на общие организационные задачи. Это в мае, скажем. А в июне Проект1 завершился и пропорция времени изменилась. Реально осилить, если людей в компании немного, а трекать время ну очень не хочется.

Однако, начать трекать отработанное время — самый точный способ.

Да и полезен он не только для расчёта себестоимости. Если трекать в разрезе задач, то может очень неожиданно получиться, что совещание, которое вы провели в прошлый вторник на 7 топов, съевшее пару часов — обошлось компании в немалую сумму денег. А ведь и не решили толком ничего. И вдруг может захотеться изменить подход к решению некоторых вопросов, найти более эффективные способы. Это я не склоняю вас, не подумайте. Просто делюсь опытом.

  • Затраченное время может иметь разные характеристики.

Минимально важно — привязать к проектам. Хотим считать стоимость выполнения отдельных задач — дробим часы по задачам. Тут уж только трекать.

Проекты

Окей, сотрудники тратят время. С Васей всё понятно, у него два заказных проекта, с часами разобрались. А вот со Светой как быть? Она оформляет кадровые документы — это же не проект?

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

Заказные проекты

Доходы — часто зависят от затраченного времени. Расходы — тоже. Особенно это ярко выражено на проектах по Time&Materials.

Однако могут быть доходы, не завязанные на времени напрямую. Случаются прямые расходы проекта, не связанные со временем — купили какой-нибудь девайс, оплатили работу субподрядчика или другую какую-нибудь услугу.

Внутренняя деятельность

Расходы от времени зависят. А доходов, будем считать, что нет. Они могут случаться, но систематического характера не носят.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Далее выделяем подвиды деятельности. В случае с заказными проектами подвиды выделяются более менее понятно. Это проекты. С внутренней деятельностью — стоит немного подумать. В зависимости от объёмов служб и наличия цели анализировать разные подвиды по отдельности, будет вырисовываться разделение.

Например, мы можем поделить так:

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

В этом моменте может захотеться выделить ещё десяток видов и подвидов деятельности. Да, у вас этих групп может быть больше. Можно делить настолько мелко, насколько хочется. Главное — не запутаться в собственных правилах и понимать, зачем нужно такое дробление. Порой простота рулит.

Каждый час сотрудника должен относиться к какому-либо подвиду деятельности. В нашем случае — это будет либо один из заказных проектов, либо внутренняя деятельность. Структурно это может выглядеть, например, вот так:

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Ставки

Если доход имеет прямую зависимость от затраченных часов и есть чёткое понимание стоимости одного часа сотрудника для заказчика — нам это нужно.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

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

Зарплата

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

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Доходы и расходы

Нужны все операции, произведённые в компании за анализируемый период. Доходы от проектов, все расходы, не связанные с зарплатными начислениями: все офисные покупки, закупки мебели, техники, программного обеспечения, чая, кофе, плюшек. Если операция относится к проекту, это должно быть отмечено. Операции должны быть разбиты по категориям и периодам, к которым относятся.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Если соберём все сущности, получим вот такую паутинку:

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Привязываем всё к часам и распределяем

Так как речь ведём про себестоимость, в первую очередь привязываем к часам расходы. Исходя из вышесказанного, у нас есть следующие типы расходов:

  • Заработная плата. Распределяем пропорционально затраченному времени в конкретном месяце на каждого сотрудника. Получаем некоторую сумму рублей на час. Это для всех сотрудников.

Имея распределение часов по проектам, можем распределить зарплатные расходы по проектам.

  • Прямые расходы проектов (или в ранее определённой терминологии — подвидов деятельности) — относим к тем проектам, для нужд которых они произведены. На часы не распределяем.

Идём дальше. У нас есть внутренние проекты и коммерческие. Внутренние призваны «обслуживать» деятельность коммерческих. Это вспомогательная деятельность, которая сама по себе априори убыточна и не имеет смысла без коммерческой деятельности. Более того, она отчасти пропорциональна объёму коммерческой деятельности.

Поэтому следующее наше действие — распределение расходов и доходов внутренних проектов на часы коммерческих. Суммируем все расходы (прямые и зарплатные) и доходы по внутренним проектам за период и делим на количество часов коммерческой деятельности. Получаем сумму косвенных расходов на 1 час коммерческой деятельности.

В итоге мы имеем распределённые по проектам часы с суммой ЗП и косвенных расходов за каждый час, а также прямые расходы проекта, не зависящие от часов.

С другой стороны каждый коммерческий час имеет теперь свой расход, доход (который у нас есть в ставках). Отсюда легко вычисляется маржа и маржинальность каждого часа.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Переносим логику в BI

Со схемой базового расчёта разобрались. Теперь давайте посмотрим, как нам настроить наличие этой информации под рукой на постоянной основе. Здесь не буду вдаваться в детали. Думаю, термин Business Intelligence (BI) многим знаком. Пройдусь по основным аспектам.

BI — класс систем, обеспечивающих перевод транзакционной деловой информации в человекочитаемую форму, пригодную для бизнес-анализа. Цель BI — интерпретировать большое количество данных.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

Что делает BI?

  1. По заданным параметрам подключается к информационным системам (базы данных, файлы табличного вида, веб-странички, сервисы, 1Ски и многое другое). И вытягивает нужную нам информацию из разных информационных систем в единую модель.
  2. Предоставляет инструменты для обработки полученной информации. Мы можем отфильтровать, сгруппировать, отсечь некоторую информацию, разделить или наоборот — соединить… и произвести ещё много разных действий, чтобы наша информация приняла вид, пригодный для анализа.
  3. Предоставляет возможность моделирования — связки данных между собой (из разных систем).
  4. Предоставляет инструменты для добавления вычислений. Просуммировать расходы по группе проектов и разделить на часы другой группы проектов — для BI как орешки пощёлкать.
  5. Предоставляет набор инструментов для визуализации данных. После того как мы всё посчитали и собрали в группу стройных связанных между собой табличек, самое время — приступать к визуализации. Набор разных графических элементов на самые разные ситуации.
  6. И последнее. Предоставление доступа к отчёту. Мы делимся полученными визуализациями и данными с коллегами, настроив предварительно, кому что нужно видеть, а кому что — не нужно. И как вишенка на торте — настраиваем автоматическое обновление данных нашей опубликованной модели. Красота, да и только.

Систем класса BI — много. Тема сейчас в тренде и набирает обороты. По мнению некоторых экспертов рынок решений на основе BI в ближайшие годы будет набирать обороты по 30-40% в год.

Gartner регулярно проводит исследование, сравнивая разные BI между собой по двум критериям — полнота функциональности и простота внедрения. Уже не первый год лидирующую позицию удерживает Power BI от Microsoft.

Сколько стоит программист? Подход и инструментарий для расчёта себестоимости услуг

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

Итого

Реализовав описанную выше логику, например, с помощью Power BI, мы имеем следующие возможности:

  1. Получить себестоимость каждого сотрудника.
  2. Получить среднюю себестоимость в динамике.
  3. Получить разбивку составляющих себестоимости, опять же, в динамике.
  4. Сравнить со ставками на проектах и вычислить маржу и маржинальность.
  5. Сгруппировать сотрудников по маржинальности.
  6. Собрать картину расходов, доходов и прибыли по проектам.
  7. И многое, многое другое… Чем больше данных вы затягиваете в BI, тем больше возможностей для анализа получаете.

P.S. Пишите особенности своей компании и ваши вопросы в комментариях — будем разбирать, как их учесть. при расчёте себестоимости часа разработчика.

99
22 комментария

Я генеральный директор, бизнес-аналитик и преподаватель

зарплаты вместе со всеми налогами за этот месяц 100 тугриков


Забавно, что генеральный директор и бизнес-аналитик в одном лице, объясняя стоимость труда программиста, на подсознательном уровне оценивает чужой труд в тугриках — весьма честная и символичная демонстрация истинного личного отношения 🤭

7

Это ж условно, чтоб не привязываться к рублям, долларам и т.д. Можно было бы написать у.е., но было бы скучнее :)

2

Ярослав, ну почему у вас в тексте такой сумбур? Мысль скачет испуганным зайцем. Если вы айтишник, то должно быть алгоритмическое мышление, делай раз, делай два... А из вашего текста смысл нужно вытаскивать как из зашифрованного сообщения.

4

Есть такое замечательное правило четвертей. Если работаете на себя - правило третей. Это ФОТ * 4 - есть все расходы компании. Отклонения бывают, но не более 10-15% от этого. Так можно оценивать сколько будет стоить разработка, прикинув только по часам сотрудников.

2

Поддержу. Тоже раньше думал, что для каждого проекта разработчики считают себестоимость. Потом когда начал с ними работать, понял, что обычно примерно прикидывают, сколько проект займет времени, сколько человек будет на нем, умножают на средний ФОТ и добрасывают коэффициент, учитывающий налоги + условно-постоянные + маржу. Про правило четвертей круто конечно. :) На средних проектах больше встречал 1,5 - 2,5.

1

Думаю, можно говорить о пропорциях, но в разрезе сферы деятельности компании. Не встречала компаний-разработчиков, у которых ФОТ съедал бы 25-30%. Скорее это 70-80% расходов. Суть, конечно, от этого не меняется - есть пропорция, где от часов можно прикинуть все расходы. И часть задач, действительно, можно закрыть таким примерным расчётом. Я же в статье пишу, скорее. про задачи, которые требуют именно точности. Поэтому и расчёты чуть интереснее.