А давайте все-таки посчитаем KPI разработчика

За десять лет в программировании я ни разу не встретил расчета KPI разработчика. Бизнес буквально мечтает о введении этого показателя: следит за рынком, вводит грейды, присваивает ярлыки: Junior, Senior, Middle. Этой проблемой со мной поделился хороший товарищ, топ-менеджер международной компании, и у меня появилась следующая идея.

Мой босс, когда речь заходит о подсчете KPI
Мой босс, когда речь заходит о подсчете KPI

KPI — сугубо бизнесовый показатель. Применить его к отдельно взятому разработчику нереально. И вправду, как оценить показатель творческой деятельности? Как вообще понять, что один разработчик работает хорошо, а другой плохо с точки зрения бизнеса?

Мое решение — всего лишь теория, которую нужно подтвердить или опровергнуть. Что если оценивать не столько работу разработчика, сколько дополнительную нагрузку на бизнес в результате его работы. А конкретно: сколько ресурсов затрачивает разработчик, если выполняет свою работу недостаточно эффективно. Включая часы тестирования, аналитики, ревью и прочие затраты, которые можно посчитать.

Взгляд изнутри

Мы думаем что фича разрабатывается так:

Набросал в Draw.io из шаблона. Изи
Набросал в Draw.io из шаблона. Изи

Вот только план несколько утопичен. На деле все несколько сложнее:

Так же упущено много деталей, но уже ближе к реальной жизни
Так же упущено много деталей, но уже ближе к реальной жизни

Безусловно, общие время и ресурсы, затрачиваемые при разработке, зависят от каждого члена команды. Если кто-то из членов команды делает свою работу недобросовестно, то это будет видно по затраченному времени его коллег.

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

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

Считаем в деньгах

Для простоты предлагаю посчитать в деньгах. Возьмем ряд переменных:

D — ставка разработчика (500);

Hd — выработка часов;

T — ставка тестировщика (250);

Ht — время повторного тестирования;

A — ставка аналитика (200);

Ha — время на разъяснения;

L — ставка лида (1000);

Hl — овертайм на ревью.

У всех, кроме разработчика, берем время затраченное после доработок

Тогда формула будет выглядеть так:

R = (T*Ht + A*Ha + L*Hl + D*Hd) / D*Hd * 100 – 100

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

Пример. Разработчик потратил на задачу восемь часов. Она вернулась к нему на доработку с багами. Он два часа фиксил ошибки, лид потратил полчаса на ревью, а тестировщик еще час проверял, что все исправлено. Считаем:

(250*2 + 200*0 + 1000*0,5 + 10*500) / (10*500) * 100 – 100 = 20

Получаем процент. Компания потратила на 20% ресурсов больше, чем нужно было. Это немного, но в рамках рисков. Но если бы разработчик набросал свою фичу на коленке за два часа, перепроверять и дорабатывать пришлось бы несколько раз, цифра выросла бы в разы:

(250*6 + 200*0 + 1000*2 + (2 + 4)*500) / ( (2 + 4)*500 ) * 100 – 100 = 117

Если бы разработчик подошел к задаче ответственнее, потратил шесть часов сразу и все перепроверил — результатом формулы могло бы стать 0%. Это и называется «сработать чисто». А при текущей схеме мы потеряли 3500 у.е.

А давайте все-таки посчитаем KPI разработчика

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

S — общие затраты (T*Ht + A*Ha + L*Hl + D*Hd);

Et — оценка задачи.

Re = (S / D*Hd + (Et*D – D*Hd) / D*Hd) * 100 – 100

Если добавить к предыдущему примеру оценку задачи в десять часов показатель будет равен 183, а если оценить в четыре часа — 83.

Сам алгоритм в стадии разработки. И к вам я пришел за обратной связью, взглядом со стороны, возможно, в надежде найти единомышленников. В моей компании «ЮзТехе» мне дали картбланш на тестирование теории. Я планирую подключиться к БД редмайна, вытащить оттуда историю статусов задач с трэкингом, наложить сверху вычисления и посмотреть, что получится.

Если вас заинтересовала идея, напишите об этом в комментариях, я постараюсь публиковать здесь промежуточные результаты своих тестов. А если вдруг кто захочет поучаствовать в эксперименте, милости прошу в Telegram, обсудим детали.

77 показов
27K27K открытий
79 комментариев

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

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

Порой бывает кнопку прикрутить нелинейно отражается на времени работы и трудозатратах всей команды в целом.

Как вариант, предлагаю, под названием "А давайте все-таки посчитаем KPI разработчика", написать мелким шрифтом "Проблемы топ-менеджеров международных компании - это Junior, Senior, Middle.".

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

Ответить

Для работника может и без разницы, стоила ли фича в итоге сто часов работы или шесть. Но для бизнеса разница огромная. Просто разработчики редко думают о пользе для бизнеса. А вы тут ругаете человека за то, что он - думает об этом.

По вашему - работнику пофиг - переделывалась ли задача три раза по неделе или была сделана сразу в один заход но за 7 рабочих дней например.
Он всё равно ту же самую зарпоату получит.

А для компании есть разница - каждый месяц откручивать несколько лямов на щарплаты налоги. И получать либо в несколько раз меньге либо в несколько раз больше доставленных в прод задач.

Просто за счет того, что кто то взял и взглянул на процесс системно.
Вот за это "эффективные менеджеры" и получают свои деньги.

Ответить

Господи, как с языка снял. Уже год ловлю себя на мысли, что программирование выжимает из меня все соки жизни, уже забыл когда расслаблялся нормально

Ответить

про ненужность менеджера на проекте можно будет всерьёз поговорить тогда, когда разработчики научатся по-русски друг с другом разговаривать и задавать вопросы вовремя... ну хотя бы ЭТО научатся делать. Тогда заместо менеджера можно будет посадить дрессированную эксельку и google translate. Но пока этого нет -- менеджер дополняет отсутствующие компетенции в команде.

А про KPI... да нафиг его не надо считать! просто тогда ответ на вопросы "почему мне нельзя повысить ЗП?" или "почему это меня уволить?" ответ будет "потому!".

Ответить

.

Ответить

Лол. Программисты бедные несчастные работяги? Ну так идите менеджером, это ж не трудно, они все тупые и ничего не делают, только мизинчик отгибают. Или может расскажите про тяжёлые условия труда и уровень зп тем, кто зарабатывает физическим трудом?

Ответить

Как и ожидалось, коллеги по цеху заклевали =) У человека при виде трех букв рядом K, P и I - сразу в голове всплывает "Ох уж эти проклятые менеджеры, опять хотят порезать мне зарплату и пить смузи!" Я встречал разных менеджеров, большинство из них, кстати, пашет как не в себя.

Вообще KPI не про "резать зарплату", а про эффективное использование ресурсов. Бизнесу проще больше зарабатывать чем резать ФОТ на копейку демотивируя сотрудника, уж тем более в такой высококонкуретной среде как ИТ. Смотрите глубже.

Представьте, у вас достаточно большой отдел разработки. Аналитик А - пишет достаточно подробные постановки, а аналитик B - в основном крупноблочно. Разработчик X - хорошо справляется с достаточно-подробными задачами, а разработчик Y - легко разбирает бизнес-требования и грамотно реализует. C каким кого поставить? А добавьте еще пару архитекторов у которых тоже свои заморочки. Эффективность сотрудников в команде это не про зарплату а про то кому с кем работать комфортнее и в каком эффективность команды будет выше.

Есть очень разные люди. Кому-то комфортнее когда у него мягкий лид, кому-то вообще проще одному, потому что не находит общий язык с командой и так далее. А задача "коварных менеджеров" при этом так их собрать, чтобы всем было комфортно, никто не лез на hh и получал удовольствие от того что у него получается, а не когда его долбит тестировщик, или аналитик опять "написал какую-то херню".

Ответить