Здравствуйте, XuMuK, Вы писали:
M>>Какие же параметры загнать в KPI?
XMK>самое адекватное что я видел: "Соответствие сроков реализации краткосрочных задач планам (составленных самим программистом) с поправкой на количество багов в реализации". Как от метрики, толку конечно не очень, зато учит народ правильно определять сроки, а не говорить: "щас покурю и за пол часа сделаю".
Давайте попробуем оценить этот подход. Я работал в компании (месяц, больше не выдержал), где внедрили эту систему. Диалог имел место на моих глазах (меня попросили посмотреть со стороны).
Подходит менеджер к программеру с ТЗ (а его придется писать, смысл KPI вообще теряется, если цель четко не определена): скока?
Программер: 2 недели
Менеджер: офигел? Да я за 3 дня напишу
Программер: так у тебя и зарплата зело побольше, и опыт не сравнить с моим
Менеджер: хорошо, давай разбирать по пунктам
Дальше программер оценивает сроки с учетом всех рисков (вот чему программеры действительно хорошо обучаются при KPI — это выявлять риски!) и получается уже не 2 недели, а 2 с половиной.
Менеджер: млин, но риски же не все реализуются! Хорошо, если половина сработает. Давай введем коэффициент для вероятности наступления каждого риска.
Программер: Это как? Если завтра ты ко мне ко мне подрулишь с просьбой поправить старый баг, мне тебя на фиг посылать, или денег лишаться? И почему моя зарплата должна зависеть от того, на что я не могу влиять — например, придет будущий заказчик (О, еще один риск!) и в лучшем случае вы будете трендеть у меня над ухом пол-дня, а в худшем — я сам буду с ним пол-дня трендеть? А стихийные совещания по чужим задачам, где вы орете, как резаные? Я ведь программировать в таких условиях не могу, как мне это время скомпенсировать? А то, что я работаю по 10-12 часов вместо 8, как будем учитывать? Давай тогда еще на полтора умножим, если играем по-честному.
Менеджер: черт с тобой (таких программеров у него еще десяток, их тоже надо успеть окучить), хоть за две-то недели сделаешь?
Программер: ну ладно, мы с тобой долго работаем, постараюсь для тебя. Но все посторонние баги правим только после приемки этой задачи. И по этой задаче время на исправление багов оцениваем отдельно.
Менеджер: ладно, договорились
Дальше понятно. Задача делается за 2 недели, ни днем меньше. Программер же не враг себе, чтобы сдать через неделю — иначе на следующей, похожей, больше недели не получить. Еще один, не столь очевидный минус — программист учится обманывать, придумывает несуществующие работы и т.п. А следить за тем, чем каждый программер реально занимается — невыполнимо.
И вот по истечении двух недель мы имеем то, что могли бы иметь через неделю, а то и раньше. Это с учетом того, что за невыполнение KPI зарплату резали на 20%. Если бы поднимали на те же 20 — было бы тоже самое, это ясно, надеюсь. Итого — мы увеличиваем время и расходы вдвое на пустом месте, из-за стремления к оплате по справедливости.
Может, ну ее на фиг, эту справедливость? Пусть будут трудяги и раздолбаи, главное, чтобы их соотношение было удовлетворительным.
Р.S. Процентов 30 народа считало такой подход ниже своего достоинства, и ставили реальные сроки. А поскольку из них они иногда вылетали, им резали зарплату, что отнюдь не добавляло лояльности к компании. Вопрос: а что же мы тогда, собственно, стимулируем?