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

Приветствуем вас в блоге томского 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. Пишите особенности своей компании и ваши вопросы в комментариях — будем разбирать, как их учесть. при расчёте себестоимости часа разработчика.

0
22 комментария
Написать комментарий...
Ol Ka
Я генеральный директор, бизнес-аналитик и преподаватель
зарплаты вместе со всеми налогами за этот месяц 100 тугриков

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

Ответить
Развернуть ветку
Мария Дробинская

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

Ответить
Развернуть ветку
Ol Ka

Нет-нет, пусть лучше всё как есть остаётся — так оно реальнее выглядит 🙂

Ответить
Развернуть ветку
Евгений Мирошниченко

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

Ответить
Развернуть ветку
Sergei Timofeyev

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

Ответить
Развернуть ветку
Stan 1

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

Ответить
Развернуть ветку
Sergei Timofeyev

Оно так и есть: 
1. Зарплата основных сотрудников
2. Стафф и налоги
3. Офис
4. Прибыль

Иначе нет смысла работать.

Ответить
Развернуть ветку
Город IT
Автор

1

Ответить
Развернуть ветку
Sergei Timofeyev

2

Ответить
Развернуть ветку
Мария Дробинская

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

Ответить
Развернуть ветку
Мария Дробинская

И да, я именно про расходы. Прибыль, в моём разумении - это не расход. Отдельная сущность.

Ответить
Развернуть ветку
Sergei Timofeyev

Вы, наверное, правы, так как у нас офис обходился в 10% от ФОТ. Прочие платежи и расходы - ещё 10%. Где-то 70-80, да.

Ответить
Развернуть ветку
Asf

со второго прочтения,  немного намекает на рекламу Piwer BI)
UPD Вы сами какое отношение имеете к коду , если  не секрет ?
Отдельно добавлю " мои комментарии,  не редко бывают довольно язвителтными, я надеюсь не задел Вас., спсб за понимание  )

Ответить
Развернуть ветку
Bulat Ziganshin

вряд ли у MS хватит бюджета чтобы рекламироваться на такой топовой бизнес-площадке

Ответить
Развернуть ветку
Мария Дробинская

Нет, не реклама :) Я - активный практик Power BI, использую его в проектах, провожу курсы и вебинары по нему. Но к его разработке отношения не имею

Ответить
Развернуть ветку
Борис Васильев

Полезно, особенно, быстрорастущим компаниям.

И не будем допускать, чтобы "деньги лишали Автора чувства юмора")))

Ответить
Развернуть ветку
Юрий Сипаров

С ростом зрелости профессии она трансформируется из творческой в массовую. Есть промышленные дизайнеры, которые работаю по нормативам.  Творческие дизайнеры остаются при этом, но численность сокращается. Есть книга "Построение бренда в сфере моды". Там это поясняется. Те кто связан с ТРИЗ знают о возможности нормирования творческих работ

Ответить
Развернуть ветку
Asf
Ещё в компании есть разные другие сотрудники

Которые переписываю ТЗ через день)

Как можно оценивать продукт, и его эффективность ТОЛЬКО ИЗ ЗАТРАЧЕННОГО ВРЕМЕНИ???? ТЗ у Вас кто пишет ? – наверное, деректор? Дополняя/изменяя ИЗ каждый раз, когда чешет за ухом ….(а чешет он, скорее всего регулярно , и возможно, не только там :D
Я поясню, где и в чем Вы, (на мой субъективный взгляд) .
1.Дело в том, что половина проекта (ну ладно 30%- это проектирование и правильно формирование ТЗ , и дело ту отнюдь не в UI.. дело в back 'е , о котором очень смутное представление имеют не больше трети руководителей МСП) возможно по этому, они с лёгкостью переписывают, или вносят изменения, внедрение которых, требует полное перестрелке моделей систем хранения, а иногда и протоколов ). Вася, скорее всего , НЕ будет пережить начальнику, допустим Вася у Вас junior (иначе, слал бы Он с Вами возиться за чуть больше тысячи долларов в месяц?)
2) эффективность в часах . .. давайте честно, если поступает заказ, ты понимаешь что это полная…….., но как у подрядчика, так (тем более) у подчинённого руководство всегда прав! (хотя в подавляющем большинстве случаев, директора даже html считает языком программирования и не может открыть диспетчер задач, если ноут зависает с Хромом ) но Ваш Вася , копит опыт ==junior), иначе стал бы Он работать за условные 1.2 usd???? От Васи, Не зависит на все 100% эффективность его деятельности в разрезе KPI для бизнеса. Пусть Вася все напишет не за 100 условных часов , а за 50.. его эффективность упадет? вырастет ??
Личная- вырастет!, для Компании =>ЗАВИСИТ ОТ ТЗ (при условии, что у него руки и голова там где описывают в учебниках по анатомии )
такой подход оценки KPI допустим для маркетинга, продавцов

Ответить
Развернуть ветку
Мария Дробинская

Я и не предлагаю оценивать ПРОДУКТ и его эффективность из затраченного времени. Я предлагаю способ, с помощью которого можно посмотреть себестоимость этого самого затраченного времени. К эффективности продукта это не имеет отношения

Ответить
Развернуть ветку
Мария Дробинская

Многие вещи в вашем комментарии - вопросы скорее к организации процессов разработки и корпоративной культуре, но лишь опосредованно - к методам бизнес-анализа.

Ответить
Развернуть ветку
Мария Дробинская

Можно судить о компетенции придуманного мной Васи по его придуманной мной же ЗП. Но - увы - корреляция тут не обязательна. Цифры взяты специально ровные и круглые, чтобы математические операции, без которых описание метода будет не столь ясным - не вынуждали вытаскивать калькулятор. Скорее проявление заботы о читателях, чем принижение Васиных скиллов :)

Ответить
Развернуть ветку
Игорь Лукин

Прочитал статью и понял, что тут изложены основы фин. учёта. Маржинальная прибыль, валовая прибыль. Постоянные издержки, переменные. Юнит-экономика. 

Ответить
Развернуть ветку
19 комментариев
Раскрывать всегда