KPI — три буквы преткновения

Disclaimer: в этой статье есть целый блок рассуждений о том, как считать показатели KPI для сотрудников-программистов и разработчиков — по многочисленным просьбам читателей.

KPI обсуждаются на конференциях, про KPI пишут сложные статьи в журналах, KPI ненавидят сотрудники и недолюбливают боссы. KPI своей медалькой и работой считают HR-специалисты. И почти всё это с KPI происходить не должно, потому что это обыденная метрика, показывающая результативность каждого сотрудника и обеспечивающая конвертацию результатов труда в некие баллы, а уже баллы при желании в деньги. Время идёт, проблемы не убывают, KPI в ИТ-сфере — так вообще притча во языцех. В этот раз мы решили разобрать три важных вопроса использования ключевых показателей в компаниях. Даёшь тянуть правильную морковку!

2f196120b7a429094d350b4c182fa200.png
KPI должен быть правильным

Как подступиться к расчёту KPI? В чём лучше считать?


Начнём с ответа на второй вопрос — в чём лучше считать?


1. Наверное, самый популярный способ — считать в Excel. Это удобный инструмент: можно прописать различные показатели в отдельных листах и затем рассчитать агрегированный показатель с помощью формул на главном листе.

Преимущества: просто, доступно, недорого (если не считать стоимость самого Excel).

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

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

Преимущества: мощный набор возможностей, простота сбора данных, безопасность.

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

3. Считать в CRM-системе. Мы несколько лет апробировали, использовали и рефакторили модуль расчёта KPI в RegionSoft CRM. В итоге получился продвинутый инструмент, предполагающий возможность вычисления как самых простых показателей, так и сложных составных, дочерних, в том числе требующих использования скриптинга, благодаря которому сложность расчетов показателей фактически становится безграничной. Таким образом, вместе с CRM вы получаете мощный софт для расчёта KPI.

Преимущества: первое — максимальная автоматизация. Вторая — не нужно вносить данные вручную, вы настраиваете правила расчёта показателей и они сами по мере заполнения данных в процессе оперативной работы «забирают» данные из CRM-системы, которая знает обо всех транзакциях и бизнес-процессах в бизнесе. Все работает онлайн, в единой информационной системе и полностью автоматически.

Недостатки: настройка некоторых сложных показателей требует навыков программирования.

Теперь о том, как считать


Определите стратегические цели вашей компании — в целом и для каждого отдела в частности. Например, у нас есть компания RegionSoft Developer Studio и мы разрабатываем CRM. Как у любого разработчика, у нас есть стратегические цели: разрабатывать ПО, обновлять и рефакторить разработанное ПО, продавать своё ПО, поддерживать пул пользователей (а их тысячи). Соответственно, должны быть ключевые показатели (KPI) для продажников, для сотрудников технической поддержки и для…, а программистов мы пока оставим в покое. Так вот, задайте цели и определите, какой вклад в них вносит каждое подразделение. При этом цели могут быть как финансовые, так и целевые, и смешанные.

df1be316f638f468e03748e5aa16aaa4.png


И это единственный показатель производительности, который растёт. К сожалению, это моё кровяное давление.

Выберите измеримые, целесообразные и выполнимые показатели KPI (мы писали, какими именно они должны быть). Задайте измерение: веса, денежное и количественное выражение. Задайте корректирующие коэффициенты и периоды для проведения анализа.

Например, вы хотите задать план продаж метизов на сумму 12 000 000 рублей за год силами трёх продажников, при этом вам приоритетно, чтобы дюбелей продалось не менее, чем на 30% от суммы. Прикидываем: в месяц надо продать на 1 000 000 рублей, из них на 300 000 руб. дюбелей. Ставим план менеджеру — 333 300 р., при этом за продажу дюбелей назначаем коэффициент сделки 0,02 — то есть менеджер получит 2% от суммы проданных дюбелей, а за остальные метизы 0,015 — 1,5%. Результат — менеджеры будут мотивированы продавать больше дюбелей, поскольку за равный объем реализации с продажи дюбелей они получат большую зарплату. Это и есть KPI.

При кажущейся простоте вычисление KPI вызывает у компаний сложности, и ответственные менеджеры либо просто делят доли между наименованиями, либо отходят в сторону матриц с оценкой лояльности коллегам, взаимовыручки и прочих способов получить законные »-2».

В своей новой RegionSoft CRM 7.0 мы постарались исключить человеческий фактор и тщательно переработали прежний механизм KPI, о котором писали на Хабре. Теперь вы можете воспользоваться мастером расчёта KPI или настроить систему показателей вручную. Как это работает?

В RegionSoft CRM KPI могут быть настроены для каждого сотрудника исходя из его персональных обязанностей и из целей его подразделения.

Первым делом проводится анализ данных, лежащих в базе расчёта KPI. Это могут быть любые сведения, зарегистрированные в системе:

  • Целевые показатели — инциденты (события, результаты, достижения любого сотрудника)
  • Финансовые показатели — документы (счета, акты, накладные, заказы, оплаты и проч.)
  • Показатели в свободной форме, которые собираются с помощью программного сценария, созданного на языке PascalScript.


Любой показатель может быть составным и включать несколько типов данных. Далее вы настраиваете профили планирования с набором показателей для каждого из сотрудников, для отделов или компании в целом. Планы могут быть заданы на день, неделю, месяц, квартал и год.

Вот как это делается:


По итогам начисления KPI в RegionSoft CRM вы можете собрать несколько отчётов по достижению целей в разрезе показателей с детализацией или без неё. Кстати, каждый сотрудник в интерфейсе CRM видит свой личный KPI-монитор и может отслеживать, с какой скоростью он идёт к выполнению плановых показателей.

Также по итогам расчёта KPI в нашей CRM-системе можно рассчитать заработную плату:


Если вам необходимо настроить сложные KPI, то RegionSoft CRM умеет рассчитать абсолютно всё — было бы умение. Если для настройки вашей системы KPI вам требуется помощь, специалисты вендора всегда придут на помощь и готовы организовать учет «под ключ»., а если хочется разобраться самому — посмотрите это видео:


KPI ненавидят и это факт. Что делать?


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


Если в компании есть KPI, его скорее всего недолюбливают. Это распространённая ситуация, несмотря на то что эти коэффициенты имеют изначально позитивную цель — заплатить сотруднику бонус за его работу, оценить достижения (напоминаем всем, что KPI может прибавлять деньги к окладу, но не может вычитать деньги из оклада!). Почему так происходит?

  • У сотрудников мог быть негативный опыт на предыдущих местах работы, где KPI выступали как инструмент контроля и запугивания со стороны деспотичного микроменеджера (человека, который не даёт работать тем, что проверяет каждый шаг сотрудника). Нередко руководители используют систему KPI как инструмент формирования лояльности к самому себе, способ шантажа и тотального контроля. В таких условиях сотрудники не просто стремятся достичь каких-то порой совершенно эфемерных цифр («следование корпоративной культуре», «интерес к жизни компании»), но и ведут себя как школьницы-отличницы, которые сравнивают оценки и ошибки, пытаясь найти, в чём неправ педагог. Такой подход может насаждаться менеджерами и руководителями среднего звена, а до генерального доходит в последнюю очередь и порой только тогда, когда проболтается очередной обиженный и уволенный сотрудник.
    b3d8c516b609f70db5164db5e5688598.png

    Немного работали, писали много отчётов — итак, где KPI, отражающие нашу эффективность?

    Во многом KPI в CRM-системе (то есть автоматизированный продукт) хороши именно тем, что исключают подобные ситуации — можно легко проконтролировать все KPI по каждому сотруднику, просмотреть детализацию начислений, открыть и посмотреть, как именно рассчитываются показатели. Наконец, в CRM-системе можно установить одного-двух ответственных, компетентных и вместе с тем независимых людей, имеющих доступ к контролю за выполнением показателей.

  • У сотрудников мог быть негативный опыт на предыдущих местах работы, где KPI выступали как инструмент контроля над поведением сотрудника — именно над поведением. То есть KPI нацелены не на выполнение бизнес-целей, а на подчинение воли сотрудника, насильное его внедрение в корпоративную культуру.

    Например, в одной компании в KPI, кроме выполнения плана, учитывались три поведенческих фактора: «общая контактность»,  «открытость новому», «количество обращений к коллегам» (если больше трёх — это плохо и понижающий коэффициент). Дополнительной проблемой в компании явилось то, что холдером процесса KPI был департамент HR, который дружил с маркетингом и ненавидел продажи. В итоге вся система показателей, которая должна быть завязана на коммерческом результате, была направлена против основной части коммерции. Не надо так.

  • Сотрудники боятся измерения своих неудач. Увы, система KPI — это зеркало работы сотрудника, а без ошибок получается только у того, кто ничего не делает. Конечно, видеть нулевой или понижающий премию коэффициент очень неприятно, и тут нужно продумать систему так, чтобы она была поощрительной, а не карательной. То есть логика такая: «мало выполнил» — «заработал небольшую премию», «много выполнил» — «заработал большую премию».
  • Сотрудники боятся не достичь максимума. Опять же проблема связана с формулировкой самих показателей, входящих в систему KPI. Сотрудники должны знать условия достижения максимума и чётко понимать, в чём причина неудачи, чтобы изменить ситуацию в следующем периоде.
  • Руководитель измеряет всё, что можно измерить (правильно делает) и тащит это всё в KPI, перекладывая 100% ответственности за бизнес на сотрудников (неправильно делает). Не нужно путать аналитику и систему KPI — первая позволяет вам идти по приборам, вторая — помогает достичь основных целей бизнеса. Ни в коем случае руководители не должны тащить в KPI показатели, не зависящие от труда сотрудника (например, ставить в KPI продажника длину цикла разработки программного продукта).


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

Как побороть эти барьеры?


  • Делать KPI исчисляемыми, достижимыми, планы и цели — реальными и обоснованными. Это ключ к избеганию большинства неприятностей.
  • Все сотрудники, имеющие мотивацию с KPI, должны понимать, из чего состоит система показателей и как она работает. Покажите коллегам схему расчёта KPI, поясните, почему каждой цели присвоен именно этот вес, дополнительно рассмотрите детализацию по итогам месяца.
  • Включайте в KPI высокоуровневые показатели с большим весом. Так вы получите меньше профанации и низко результативных действий. Например, может быть цель — совершить 300 звонков в месяц, а может быть цель — совершить продажи на 270 000. Если это будут равнозначные показатели, ваши сотрудники просто совершат 300 или даже 350 звонков, но ничего не продадут. Поэтому система KPI должна быть выстроена так, чтобы простыми задачами нельзя было «заработать» столько же, сколько сложными, даже при 200% перевыполнения плана. Таким образом вы избежите накруток и возможных махинаций с показателями.
  • Визуализируйте KPI — это важно. Если сотрудник имеет перед глазами схему, диаграмму, проценты, прогресс-бар, ему легче воспринять необходимость достижения цели. Это своеобразный механизм геймификации — ты уже не столько стремишься обзвонить 100 злобных компаний, пофиксить 60 минорных багов или завершить разработку 9 фич в срок, сколько пытаешься привести прогресс-бар к 100%. Это реально работает, мы даже вот такую панельку запилили — её в основном окне RegionSoft CRM видит каждый работник:


010906a8c4ca960bbf05b7eec0248b62.png


  • Сделайте KPI приватными отношениями, а не публичными. Не обсуждайте результаты за период в присутствии других сотрудников, не сравнивайте работу одного сотрудника с другим, все претензии должны быть высказаны наедине. Однако об общих результатах и план/фактных показателях по компании (подразделениям) нужно говорить публично.


Люди играют в игры и стремятся получить ачивки, часть которых превращается во внутриигровую валюту. Им это нравится и они азартно преследуют цели. По сути—  тот же KPI. Но почему-то KPI (несущий реальные деньги!) не любят, а из-за ачивок ночей не спят. Кажется, есть над чем задуматься.

KPI для разработчиков: истина где-то рядом


Мы не могли обойти эту тему стороной. Вопрос, который уже не один десяток раз поднимался на Хабре и других ресурсах, связанных с IT, может поставить в тупик кого угодно. Это вопрос о том, каким должен быть KPI разработчика программного обеспечения. Однозначного ответа тут точно не может быть: да, конечно, можно оценивать завершённые задачи, закрытые баги, объём кода (по функциональности, а не по строчкам кода, конечно), затраченное на разные проекты время, но это как-то… субъективно, что ли.

KPI по сути это мотивирующий инструмент. Например, за продажу продукта с большей маржой компания ставит коэффициент выше, и продажник стремится «сделать» план именно на этой продукции, а бизнес получает нужный объём продаж. На что мы можем мотивировать разработчика? Он создаёт интеллектуальный продукт и получает заработную плату (нередко выше менеджеров) за то, что закрывает рабочие задачи. Нельзя поставить ему план  на рекурсивные функции, на циклы или на качество кода. Либо он сделал свою работу, либо нет. Поэтому KPI для программиста могут быть только не связанными с основной работой на уровне «помощь коллегам, наставничество, участие в митапах и статьи на Хабре». Но это же маразм, согласитесь, — направлять труд и время человека в нерабочее русло, чтобы он больше заработал.

Когда-то очень давно на глаза попадалась зарубежная статья о том, как делать KPI для web-программистов. Вот, что предлагалось оценивать: фактические рабочие часы против часов по ТЗ, количество ошибок, наличие документации (ну эти три пункта ещё куда ни шло), объяснения с заказчиком, энтузиазм разработчика, уровень освоения требований, уверенность в успешном завершении проекта, общение с членами команды, эффективность выбранных подходов к программированию… Всё это предлагалось оценить по шкале от 1 до 10. Представляется примерно так: если после общения с заказчиком разработчик пнул стол, стукнул клавиатуру и сказал «бл…», это 1 или 2, а если радостно налил кофе и выразил энтузиазм — 9 или 10. Короче, это не та история, которой нужно следовать.

А ещё попалось частное исследование, в котором 300 разработчиков ответили на вопрос, какие показатели они считают ключевыми:

eceb83443faf2406c6c8c884a3121cd7.png
Ты, как разработчик, что считаешь наиболее важной метрикой эффективности разработчика?

Вот как распределились ответы:

a9ced4342ad88b741a524938c7346f59.png

Тот случай, когда не нужен перевод, но нужно протереть глаза, чтобы поверить, что эти пункты обозначили сами разработчики, а не их тимлиды или менеджеры проектов. «Личность разработчика» с 12,6% и 10,8% «строчек кода» несколько даже пугают. А вот покрытие тестами и качество кода вполне ничего (тут, правда, встаёт очередной вопрос — что есть качество кода, как его оценивать?).

41971224a974f533423056eaed41e4b1.png


Но мы-то знаем, как оценивать качество, мы-то знаем :-)

Реакция на результаты вместо тысячи слов:

1c426f80a61eddd093661428efce31d1.png
Итак, «быстрый и дружелюбный» победили? Идиотизм.

Если кроме шуток, всё же можно покопаться и найти те метрики, которые применимы для KPI в разработке. (Кстати, для тех, кому нужно, есть прекрасная дискуссия на Quora).

Если у вас Agile (а он в какой-то мере сейчас у многих, просто не у всех с заморочками,  ненужным персоналом и осознанием, что это Agile), то можно выбрать такие показатели как сокращение времени от идеи до запуска, изменение длительности цикла разработки, изменение качества и длительности спринта, закрытые задачи и разработанные фичи из бэклога. Но опять же, нужны интегрированные показатели, потому что в августе можно вытащить 7 задач из бэклога типа «добавить синий шрифт к интерфейсу», «сделать зелёную заливку у итоговых полей», а в сентябре это может быть 0,5 задачи, но из разряда «добавить функциональность пользовательских калькуляторов». Поэтому целевые показатели нужно обязательно соотносить с бизнес-целями. Например, в случае привязки коэффициента к разбору бэклога каждому типу задачи присваивать свои веса. В KPI можно включить степень отказоустойчивости программного обеспечения и количество багов (открытых и пофикшенных).

Однако каждый разработчик — это уникальный человек со своими подходами, скоростью работы, качеством, параллельными задачами и т.д. И даже фрагменты одного проекта не похожи один на другой. Поэтому привязывать программиста к KPI всё же очень плохая идея — во-первых, если он не работает, это видно и без показателей, во-вторых, зачастую можно на чём-то «застрять», решить важнейшую для ПО проблему, но остаться без премии, в-третьих, оценка всё же субъективна. Поэтому лучше выбрать постоянную премию по факту «выполнил в срок — выполнил до срока» и т.д. Иначе можно получить демотивацию и навредить самим себе.

Вот такой простой разговор о KPI  у нас получился — без сложных формул, которые так любят приводить в бизнес-журналах. Все формулы можно сделать автоматизированно, с помощью мастера KPI, ручной настройки или скриптинга в RegionSoft CRM (ну или другом софте). Это всё дело техники. Главное, понять, зачем вам нужны эти показатели, как они будут работать и соотноситься с целями бизнеса, и куда они вас приведут. Не относитесь к KPI как к чему-то сверх сложному, это всего лишь план, факт и оценка выполнения этого самого плана. Тогда и сотрудники воспримут KPI как ачивку. Конечно, не ту, из-за которой не спят ночь. Но как ту, ради которой приятно поработать.

И да, не внедряйте KPI там, где их не должно быть. В ИТ таких сфер хватает.


Наша новая флагманская RegionSoft CRM 7.0

Потихоньку пишем видео с обзором функциональности

Наш Telegram-канал

© Habrahabr.ru