воскресенье, 29 ноября 2015 г.

Agile Performance Review или Мера Программиста

Все люди, а уж тем более программисты - абсолютно разные. У каждого свой уникальный опыт, знание технологий, различные подходы к решению проблем, чувство юмора, в конце концов. Однако менеджерам периодически необходимо сравнить разработчиков между собой в рамках Performance Review процесса и дать им численную оценку, которая в итоге выражена в зарплате.

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

  1. Мне очень сложно было давать комплексную оценку успехов каждого сотрудника в течение полугода. Иногда слышишь что-то хорошее, иногда что-то похуже. Можно сформировать мнение о каждом. Но этого недостаточно.
  2. Лидеры команд редко знают зарплаты своих подчиненных (по крайней мере - не от компании), и их представление о рынке труда может быть достаточно неточным.
  3. Лидеры команд, за редким исключением, очень хвалят своих ребят. Это вполне нормально и даже хорошо. Но мало помогает нам быть объективными.
  4. Была необходимость сравнить людей из разных команд для определения Best Performers, приоритета продвижения и т.д.

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


Характеристика
Описание
R
Ответственность (responsibility)
Уровень ответственности сотрудника можно определять комплексно. Какого плана задачи вы можете ему поручить? Стали бы вы поручать ему организовывать вечеринку? Насколько вы можете на него положиться в вопросе сроков? В некотором смысле это “взрослость” человека.
T
Технический уровень (technical skills)
Тут понятнее - по сути этот тот уровень, который оценивается на собеседованиях. Junior знает что-то об одной технологии. Middle хорошо знает одну технологию и немного о близлежащих, Senior знает глубоко технологию и близлежащие, а также еще кое-чего. И т.д.
C
Общение (communication skills)
Человек, который умеет грамотно общаться и находить общий язык с людьми часто очень позитивно влияет на производительность команды. Здесь учитывается неконфликтность, умение грамотно писать письма, умение обсуждать вопросы. Важно когда человек не стесняется сам инициировать необходимое ему общение и т.д.
P
Производительность (performance)
По сути - это то, насколько человек быстро “схватывает” информацию, быстро умеет попробовать разные варианты и выбрать лучший. Бывает, что умные, общительные и ответственные люди - большие теоретики, и им не хватает именно скорости мышления и действий, динамичности.
G
Потенциал роста (growth potential)
Здесь оценивается базовая подготовка  и заинтересованность в самообразовании, новых технологиях и т.д. Это оценка перспективности. Ходит ли человек на конференции? Читает ли книги? Смотрит ли видео-уроки и т.д.

Численная оценка привязывается к уровням maturity, при этом допускались промежуточные уровни - до десятых.

Оценка
Уровень
Описание
1
Junior
Требует много внимания и ведения за собой
2
Middle
Достаточно самоходен, но иногда теряет фокус, либо требует технической поддержки  
3
Senior
Самоходен, технически грамотен, может помочь разобраться другим ребятам в команде
4
Tech / Team Leader
Может решить проблемы для небольшой команды
5
Sr. Tech / Team Leader, Manager
Может решить проблемы для группы

Сессия для каждой команды

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

По сути, вместо подхода “сверху вниз”, когда менеджер “расхваливает” мне своего подчиненного общими фразами, мы реализуем подход “снизу вверх”, когда мы даем оценки по каждому важному качеству задавая конкретные вопросы. Таким образом, за скобками остается личное отношение. 

Я модерирую дискуссию и задаю вопросы. Это позволяет мне иметь единые критерии среди всех команд. Позитивные и негативные аспекты по каждому сотруднику записываются в Excel-файл. Также идет оценка по целям предыдущего периода и установление целей последующего периода. Рассматривается документ, который заполнял сотрудник. 

Общий файл в результате высылается менеджеру команды, который на его основании проводит performance review-собеседование с каждым своим подчиненным. Менеджер в праве озвучить итоговую оценку, если считает, что это позитивно скажется на мотивации сотрудника. В противном случае, я рекомендую менеджеру сосредоточится на действиях, которые позволят сотруднику в следующий раз получить лучший балл.

Оценка результатов

После окончания всех сессий со всеми менеджерами можно подбить итоговый результат. Я считаю, что ответственность и технический уровень все же являются самыми весомыми характеристиками, поэтому, в итоговой формуле они получают наибольший вес: Performance = (R + T + (C + P + G) / 3)) / 3

Результат этой формулы, по моей теории, должен коррелировать с зарплатой сотрудника. Я подставлял его в свой зарплатный файл и видел переоплаченных и недооплаченных сотрудников.

Что в итоге

По прошествии пяти лет использования подобного подхода могу сказать, что он все еще меня радует:
  1. Его достаточно просто объяснить лидерам команд: как сами критерии, так и способ оценивания.
  2. Оценка специалиста происходит достаточно быстро - достаточно несколько минут обсуждения.
  3. Часто несколько технических лидеров, которые взаимодействуют с сотрудником принимают участие в обсуждении команды. Нам всем очень быстро удается договориться.
  4. Обсуждая оценку сотрудника совершенно нет нужды обсуждать его текущую компенсацию, о которой ребята обычно не знают.
  5. Я выступаю модератором и даю лидерам команд базовые ориентиры по оценкам. Соответственно, в последствии я могу получить достаточно объективную полную картину по всему центру или департаменту.
  6. Позитивный отклик от сотрудников. Что более важно, отсутствие негативного отклика - редкое недовольство оценкой со стороны сотрудников. Команда ощущает дух справедливости.

Ограничения метода

  1. Метод используется для оценки сотрудников уровня от Junior до Senior. Для тим лидеров и менеджеров используются другие подходы.
  2. По сути нет возможности использовать этот метод на собеседовании, что могло бы сразу дать понимание в какой оценочный (а значит и зарплатный) диапазон попадает данный сотрудник.
  3. Результат данного метода должен коррелировать с уровнем зарплаты. Однако, если есть необходимость получить уровень полугодичного бонуса, то нужно использовать другую практику, сфокусированную на успехах (и неудачах) за период.

7 комментариев:

  1. я лично жду следующих "серий" :)

    ОтветитьУдалить
  2. Подтверждаю работоспособность метода =))) Расскажи про собеседование . По каким параметрам / критериям надо отбирать человека . Один раз ты мне рассказывал , но конечно запомнить все не удалось . ((;

    ОтветитьУдалить
    Ответы
    1. Спасибо! По собеседованиям - сложнее, тут может зависеть от целей. И я уже не помню, что я тебе рассказывал :( придется заново выдумывать! :)

      Удалить