cybrat (cybrat) wrote,
cybrat
cybrat

Category:

Сколько стоит час работы программиста?

Совершенно случайно набрел на просторах ЖЖ на крутого ИТ-бизнесмена: serge_gorshkov.
Пишет интересно (на мой взгляд)!

Вери рекомендед (особенно тем, кто с ИТ как-то связан). Вот например статья про то, сколько должен стоить час программиста, и как обосновать этот ценник:

Оригинал взят у serge_gorshkov в Сколько стоит час работы программиста?

Недавно прочитал в «Русском Репортере» статью о тайм-бэнкинге. Идея состоит в том, что люди разных профессий обмениваются услугами, при этом стоимость часа работы у людей любых профессий считается одинаковой. То есть, если сантехник меняет вам трубы, а вы готовите его детей к экзамену по математике, вы должны ему ровно столько же часов занятий, сколько он потратил на замену труб. Получается практическое воплощение идеи «каждому по потребностям, от каждого по способностям».

Для всех ИТ-компаний стоимость часа работ является актуальным и больным вопросом. Мы интуитивно считаем, что наши работы стоят дороже, чем, скажем, услуги парикмахера; однако на практике часто получается наоборот. Среди наших клиентов на этот счет также существуют полярные мнения.

Короче говоря, стоимость часа в сфере услуг крайне сложно обосновать фактически, и в итоге она определяется скорее балансом спроса и предложения, а также самооценкой того, кто эти услуги оказывает. Дальше я постараюсь проанализировать факторы, влияющие на стоимость услуг по разработке программных продуктов, а также доказать, что, выражаясь языком народной мудрости, «кроилово ведет к попадалову».

Итак, во-первых, говорить нужно о двух ипостасях стоимости часа: себестоимости, то есть той сумме, которую компания прямо или косвенно тратит на обеспечение работы программиста, и отпускной цены, которую за этот час платит клиент. Разность между ними составляет, понятное дело, прибыль компании, а также формирует фонд, из которого компания финансирует свое развитие. Интуитивно кажется, что в случае дорогих услуг (например, в элитной парикмахерской) прибыль может быть очень существенной. В конце поста я привожу детальный расчет себестоимости и отпускной цены труда программиста для нашей компании; пока скажу лишь, что «чистая» себестоимость труда самого программиста (без учета других сотрудников, задействованных в проекте) составляет 670 рублей за час, а отпускная цена равна 1500-2000 рублям за час. При этом фактическая норма чистой прибыли, заложенная в отпускной цене, равна 20% (подробности ниже).

А сейчас предлагаю пофилософствовать на тему того, как может изменяться отпускная цена, и каким образом поставщик и заказчик услуг должны прийти к соглашению о цене. Все мои рассуждения имеют смысл только для рынка разработки (или внедрения) корпоративного ПО под заказ, и относятся только к тому компоненту стоимости ПО, который отражает выполняемые работы.

Понятно, что и Заказчик, и Подрядчик преследуют свою коммерческую выгоду. Если основываться на идеях Маркса, то получится, что программист своим трудом создает прибавочную стоимость, которая позволяет его хозяину-эксплуататору (компании-Подрядчику) получить прибыль. Пусть Подрядчик продает труд программиста, выраженный в его результате – программном продукте, Заказчику за сумму X. Подрядчик тратит на выполнение работ сумму Y, которая меньше X, и таким образом получает прибыль, равную X-Y. Программист приложит усилия, за которые получит некую сумму, являющуюся функцией от Y, и в результате его трудов будет создана та самая прибавочная стоимость, которая будет слагаемым в значении (X-Y), и обеспечит прибыль Подрядчику.

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

Понятно, что если Z < X, то Заказчик просто не будет заказывать продукт. А если Z > X, то Заказчик сэкономит деньги, и фактически получит прибыль сверх запланированной. На практике та цена, на которой сойдутся Заказчик и Подрядчик, лежит где-то между X и Z, и зависит от качества менеджерских усилий с обеих сторон (а также от сроков, бренда, конкуренции и т.п.).

Цену разработки, устанавливаемую для Заказчика (X), логичнее рассматривать с точки зрения теории предельной полезности. Поскольку на рынке разработки корпоративного ПО, при его текущем состоянии, спрос существенно превышает предложение, редкость услуги существенно влияет на ее стоимость. Она является тем фактором, который двигает цену сделки от значения X вверх к Z. Конечно, ни одному Заказчику не захочется переплачивать за продукт, который «объективно» (то есть с позиций марксистской теории, которая на интуитивном уровне крепко сидит у многих из нас в мозгах) этих денег не стоит. Экономный Заказчик попробует найти поставщика, который сделает то же самое, но подешевле. Такой подход ведет к ситуации, которая сейчас сложилась на рынке разработки сайтов: заборы пестрят объявлениями о создании сайтов за 3000 руб. и меньше, то есть себестоимость труда разработчика потенциально стремится к нулю (как и стоимость производимых ими продуктов). Это очень усложняет жизнь тем, кто делает сайты за более адекватные деньги.

Теперь обратимся к нашей практике. В 2006-2008 годах, выходя на рынок с новым продуктом (CRM), мы установили минимальную цену на услуги по его доработке, поскольку испытывали необходимость в наборе первоначального количества клиентов. Затем, в 2009-2010 годах, мы сохраняли невысокие цены, стремясь расширить долю рынка за счет тех клиентов, которым при иных условиях CRM-система с индивидуальной доработкой была бы просто не по карману (конкурировали с отсутствием потребления). Эта политика принесла свои плоды в плане количества внедрений, но с экономической точки зрения привела к необходимости экономить на программистах, а именно – максимизировать количество разработчиков (для удовлетворения растущего спроса) при минимизации их стоимости. Естественно, это не могло не сказаться на качестве персонала. Наряду с действительно хорошими программистами (которые работают у нас и по сей день), в компанию приходило множество людей, которые обладали нужными техническими навыками, но по тем или иным причинам не могли (иногда и не хотели) эффективно работать. В результате получалось следующее:

  • Программисты не укладывались в запланированные сроки выполнения заданий, рассчитанные на их более «организованных» коллег.
  • Продажи совершались опережающими темпами, благодаря невысоким ценам; в результате образовывалась очередь заданий и неудовлетворенные клиенты, ждущие своей очереди.
  • Клиенты, чьи проекты за небольшие деньги попали не самым лучшим программистам, также были недовольны качеством работ.
  • Даже после завершения таких проектов приходилось тратить лишние ресурсы (деньги и время) на их поддержку. При качественной реализации проекта с самого начала таких проблем бы не возникало.

И хотя мы справлялись с ситуацией (проекты доводились до конца и работали), в конечном счете, все это не приносило выгоды нам, и усложняло жизнь клиентам. Поэтому было принято решение сократить объем получаемых заказов путем повышения цен, уволить неэффективных сотрудников, и отказаться от модели экстенсивного роста. Это дало результаты: ситуация в отделе разработки стабилизировалась, клиенты довольны качеством работ (и сделанные ими вложения оправдываются в полной мере), оставшиеся сотрудники довольны повышением доходов. Недовольны только те, кому наши услуги теперь оказываются не по карману – но это, по нашему мнению, скорее психологический фактор.

Возникает вопрос, куда двигаться дальше. Как я уже говорил, основная проблема рынка разработки ПО – это недостаток квалифицированных кадров. Проще говоря, мы не можем наращивать количество хороших разработчиков, потому что их физически очень мало, их не получается даже перекупить (об этом я как-нибудь напишу отдельный пост). Следовательно, мы ограничены тем производственным ресурсом (N*154 часа в месяц), который имеется в нашем распоряжении, с небольшим плюс-минусом. С экономической точки зрения это означает, что потолок доходности нашего бизнеса по разработке ПО известен, и мы не можем рассчитывать на его увеличение (что для любого бизнеса звучит просто ужасно). Точнее, могли бы – путем дальнейшего повышения цены, путешествия вверх по кривой зависимости количества заказов от цены за час. Другая возможность обеспечить развитие бизнеса – вкладываться в разработку собственных проектов (например, тиражных решений, то есть продавать не рабочие часы, а лицензии), у которых принципиально иная экономика, и соотношение между вложениями и прибылью. Для этого, опять же, необходимо сократить число коммерческих заказов, чтобы высвободить разработчиков, а сделать это можно только путем дальнейшего повышения цен.
Такой путь чреват потерей репутации (ведь придется как-то объяснить новое повышение цен и существующим клиентам), поэтому мы по нему не идем. Пока не идем.

Выводы? Главный вывод состоит в следующем: оценивать стоимость услуги нужно с позиций ее ценности для заказчика, а не себестоимости. Кроме того, покупая услугу, надо быть готовым к тому, что зависимость качества от цены имеет нелинейный характер. То есть, небольшое повышение качества услуги может привести к серьезному повышению ее стоимости. А дальше уже дело каждого конкретного Заказчика – решить, нужно ли ему это качество, или он готов повысить свои будущие риски ради экономии.

В заключение поста хочу поздравить всех, кто работает, с Праздником Труда – 1 мая :)


Приложение

А теперь вернемся к началу, и попробуем рассчитать себестоимость и отпускную цену труда программиста. Стартовым компонентом себестоимости является, конечно же, зарплата. Предположим, что программист получает «на руки» 50 т.р. в месяц. С учетом налоговой нагрузки, при использовании льготного налогового режима, затраты для предприятия на его зарплату составят 71 т.р. Все-все-все затраты на офис, уборщиц, бухгалтера, электричество, амортизацию оборудования не превышают 10 т.р. в месяц на сотрудника (по крайней мере у нас). Сложив ее с предыдущим результатом, и немного округлив, получим сумму в 80 т.р. Теперь разделим ее на 154 часа (да, у нас 7-часовой рабочий день), получим цифру 520 рублей в час. Можно ли «накрутить» на нее прибыль, и продавать по такой цене час клиенту? Конечно же, нет. То есть, когда-то совсем давно мы пробовали так делать, а потом удивлялись убыткам… поясню, почему.

Во-первых, нельзя думать, что все 154 рабочих часа будут проданы клиентам. Понятно, что при заключении сделки с клиентом стоимость, так или иначе, формируется исходя из оценки количества часов, которые будут затрачены на выполнение работы. Кстати, многие заказчики придерживаются точки зрения, что они платят за результат работ, а не за часы; на эту тему будет отдельный пост. Но, повторюсь, подрядчик в любом случае закладывает на выполнение работ какое-то количество часов. Теоретически, часы закладываются «с запасом», но на практике часто получается, что фактическая трудоемкость превышает расчетную:

  • менеджеры сделали скидку заказчику, чтобы предложить наиболее выгодную цену,
  • программист отчего-то работал медленнее, чем предполагалось,
  • при оценке не были учтены какие-то факторы, и недооценена трудоемкость,
  • программист, скорее всего, работает не 100% рабочего времени – сколько-то у него уходит на чай, разговоры с коллегами и личные дела (это, конечно, печально, но свести данное слагаемое к нулю не получится никогда).

А еще есть процесс отладки и устранения ошибок, который может занять больше времени, чем сама разработка. В общем, по моим наблюдениям, среднестатистической является ситуация, когда из 154 рабочих часов в месяц заказчик реально платит за 120 (и то, достижение такого показателя стоит серьезных управленческих усилий). Соответственно, цену приходится «масштабировать» - получаем себестоимость уже 670 рублей за час.

Мы учли труд программистов и «технического» персонала (бухгалтеры, уборщицы и т.д.), но есть и другие участники процесса, которые «обслуживают» программиста. Как минимум, это менеджер по продажам, руководитель проекта и/или постановщик задач, а также тестировщик. Клиент будет удивлен, если в смете стоимости проекта менеджерские усилия и затраты на тестирование будут указаны отдельной строкой. Проще всего включить их в стоимость часа программиста, что на практике и делается. Предположим, что каждый из перечисленных сотрудников обеспечивает работой (или обслуживает) четырех программистов. Округлим число этих специалистов до двух, положим им такую же зарплату, как программисту, и в результате нехитрых вычислений получим «добавку» к стоимости часа в размере 260 рублей. Итого – наша себестоимость составила 930 рублей за час.

Наконец-то мы можем перейти к вопросу наценки. Предположим, нас устроит чистая прибыль в 20% (да еще 15% налога мы уплатим с разницы между доходами и расходами). Получается, что час работы программиста можно продать клиенту за 1150 рублей. Скрестить пальцы и надеяться, что не будет таких проектов, где клиент с нами не расплатится, что не нужно тратиться на найм новых сотрудников (первые несколько месяцев они не приносят прибыли, то есть их нужно финансировать за счет компании), не нужно развивать собственные проекты и решения… Поскольку понятно, что так не бывает, мы устанавливаем эффективную отпускную цену часа равной 1500 рублям. На самом деле, по разным видам работ она колеблется: в техподдержке цена может быть меньше, а в разработке – выше, поскольку участие менеджера, проектировщика, тестировщика в процессе создания нового продукта гораздо более существенны, чем в процессе поддержки существующего.



Tags: networking
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments