Вимірюємо ефективність програмістів

Минуле оповідання про настільний теніс добряче підсмажило дупки програмістів. Воно і логічно—ніхто не любить, коли його стереотипно заганяють у якісь рамки. Особливо ті, хто непродуктивно проводять час на роботі.

Як тільки люди дізнаються що їх вимірюють за якимись показниками, то вони миттєво придумають як обіграти систему. Якщо взнають що ігри в офісі якимось чином дійсно суттєво впливають на кар'єру—ніхто не буде грати. Якщо взнають що міряють кількість комітів—почнуть робити більше комітів. Якщо по тікетам—почнуть плодити тікети. Якщо через шпигунський софт який фоткає вас на камеру щогодини—поставлять замість себе відеозапис. Варіантів безліч. Розгорнеться гонка озброєнь, в якій програють всі. Особливо постраждає репутація компанії, яка раптом вирішила звільнити людей які не проявляють активності в корпоративному тасктрекері.

Проте, я твердо переконаний що на підставі різних метрик активності можна зробити деякі висновки щодо продуктивності окремо взятого розробника.

І для цього не треба теоретизувати. Я чітко бачу по своїй праці, що продуктивність сильно кореліює з кількістю мердж реквестів, комітів та закритих тікетів. Можна хоч зараз відкривати теплову карту гітлабу по якій буде видно—отут працював, отут була бага в клієнта, отут купка фіч, а отут нічо не було бо я шарився.

Робота програміста—вирішувати проблему шляхом програмування. Продукт—це власне програма. І якщо цієї програми немає, то до такого програміста виникають питання. Можливо, він "думав", можливо змарнував час на якісь інфраструктурні питання, можливо десь недопрацював продакт мененеджер і щось зробили але потім викинули, а можливо він золота ракетка опенспейсу і просто не працює.

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

Але мова не про це. Мова про те, що можна взяти якісь метрики (кількість комітів, тікетів і так далі), порахувати їх для всієї команди і подивитися на тренди. Гарантую, що більшість буде веслати ±однаково, а у голові та хвості будуть виключення. Швидш за все це і є наші хай- та лоу-перформери.

Це привід почати ставити питання. Чому всі роблять по 3 мердж реквести на тиждень, а цей чувак 0.5? Можливо погано поставлена задача? Може навпаки, задача дуже велика і він з нею чудово впорався, та його 1 MR вартує десятка "звичайних"? А може то просто інтровертний пасажир, який намагається подолати всі труднощі самотужки, замість того щоб запитати у колег? А може він реально лоу перформер і пора його викидувати за борт?

Ситуації різні бувають. Я думаю всі розуміють що я не пишу про ML-алгоритм який порахує дамп джири і видасть список людей на звільнення.

В командах де я керував, я завжди розрізняв хто добре перформить, хто нормально, а хто не дуже. Для цього не треба бути генієм "емоційного інтелекту", воно і так видно, тому до актуальних замірів метрик я жодного разу не доходив. І справа не в тому що одні можуть бути більш видимі а інші менш. На дистанції зрозуміло хто чого вартий. В мене були топові хлопці які постійно висіли на розважальних сайтах або брали першість з офісного тенісу. Були і такі що копали з ранку до ночі а результатів не було. Були такі що за день слова не скажуть, а веслають нормально.

Висновок: відчуваєте що щось не так, але не розумієте що—пишіть скрипта, рахуйте коміти та звільняйте ледащо до бісової мами☝️


Сподобалось? Долучайтеся до мого телеграм каналу: https://t.me/full_of_hatred