×Закрыть

Ролевые игры и эффективность для менеджера и программиста

[Об авторе: Владимир Железняк — пишет код, управляет проектами. Два раза дауншифтился с менеджерских позиций в чистый код, потом обратно вырастал. Вёл бесплатные курсы, консультировал джунов и бизнес, работал в офисе и удаленно].

В предыдущих частях (раз, два) мы рассматривали людей, а в этой расширим поле зрения и посмотрим на роли, проекты и эффективность.

Ролевые игры на проекте

(Программисты против QA) * (все вместе против заказчика). Людям свойственно объединяться между собой по какому-то признаку.

Я много слышал о конфликтах между программистами («Я закончил задачу») и QA («Какая глюкавая альфа в этот раз»). Ни разу не был на таких проектах, хотя однажды был на проекте, где один человек смог объединить команду против заказчика. Проект умер, но об этом подробнее как-нибудь в байках.

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

Щаз. Зачастую там еще спрятано 0.8 аналитика, 0.4 девопса и 0.2 UX. Это не говоря еще про менеджера (диспетчера), переводчика, конфликтолога, HR и бухгалтера с маркетингом и саппортом. И это еще меняется в зависимости от времени и того, какой семинар просмотрел заказчик на этой неделе.

Средние коэффициенты для каждой роли можно с оговорками посмотреть по результатам большого опроса на DOU.

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

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

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

Если узкое место «везде» или «непонятно где» — значит либо разработка хорошо сбалансирована, либо нифига не понятна менеджеру.

Если дедлайн и «особый период, когда нет времени на отпуск и выходные» — то см. цикл про овертаймы.

Экономим на дробях. Бизнес всегда хочет сэкономить. Поэтому, если можно взять человека сразу на две роли — то нужно взять человека на две роли. И хорошо, если только на две. Главное, ты успевай вертеться.

«Суровая реальность такая, что при назначении тебе говорят: «Да, конечно, 2 часика тимлид, а 6 часик попедалишь», а потом IRL: «А чего это твой таск на 6 часов не закончен уже 2 дня, а при этом джуны не выпашены?!»
© Sergiy O. Movchan

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

Note: Жадность экономность бизнеса — это не единственная причина появления универсалов. Может быть переквалификация, желание знать всё, да ещё миллион других причин.

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

Сумоист и балерина в одном лице. Я думаю, что есть сложносовместимые роли. Как, к примеру, в одном человеке не совмещаются роли сумоиста и балерины.

IT-примеры:
— Product Manager + TechLead. PM должен думать о балансе фич и скорости их выхода, а техлид — о долговременном качестве кода;
— PM + Sales. Продажник уговаривает клиента — ему нужно пусть не врать, но верить и убеждать себя в том, что мы предлагаем лучшее на рынке решение. А PM должен хорошо знать свои недостатки и трезво их взвешивать;
— QA + менеджер. Одна половина тянет в качество, а вторая требует «релизиться сейчас».

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

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

И за скобками осталось время, затраченное на принятие решения.

Эффективность

Эффективность сотрудников. Измерять нужно по бизнес-пользе, а не по часам на работе. Точнее, по соотношению бизнес-пользы к полной стоимости сотрудника. Многие работают удаленно. Некоторые отечественные фирмы экспериментируют с безлимитными отпусками и больничными.

Хочу написать лонгрид про KPI, но потом. Сейчас скорее, напишу сборник баек «Как меня увольняли, и другие увлекательные истории из моей жизни».

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

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

Еще раз: это только если твердо уверен, что проектная катастрофа не просто неизбежна, а что лично ты ее предотвратить не можешь.

Что можно делегировать? И почему не выходит. Менеджер должен делегировать всё, кроме стратегических вопросов, наймов и повышений до двух ступеней ниже себя, денежных потоков — процентов на 80-90.

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

Эффективность и счастье. Счастье и эффективность — разные вещи. «Быть самым богатым человеком на кладбище» и всякое такое. Увы, очень часто у детей и бывших детей есть установка: «Только самые богатые/лучшие могут быть счастливы» с выводами типа «Поэтому нельзя отдыхать», «Нужно радовать других», «Старайся» и прочими. Это закладывается в детстве и меняется примерно так же легко, как «похудеть». Так что хорошо бы это уметь узнавать и использовать.

Вместо выводов

В этой части мы посмотрели на роли и эффективность. Еще есть черновики про корпоративную культуру, сборник баек, процесс разработки, да и про общение с конфликтными людьми тоже есть что сказать. Хорошо бы еще переварить результаты тренинга и подготовить посты на FB. Так что будет дальше — посмотрим.

22 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Здравствуйте, Я, Кирилл. Хотел бы чтоб вы сделали игру, RPG суть такова... Пользователь может играть Java программистом, тимлидом или заказчиком. И если пользователь играет программистом, то программисты в опенспейсе, столы деревянные набигают тимлиды и HR-ы. Можно грабить печеньки на кухне... И программисты раз джависты, то сделать так что там густой энтерпрайз... А движок можно поставить так, что вдали кажется что интересные проекты, а когда подходишь они преобразовываются в формошлеперство и клепание XML конфигов[1]. Можно ходить на тренинги по английскому и т.п. как в универе. И все тимлиды 23-летние, и сениоры тоже 23. Можно играть в тенис и т.п. Если играть за тимлида, то надо слушаться PM-а, и защищать проект от злого (имя я не придумал) и бизнес аналитиков, и тестеров, и ходит на митинги когото из этих (программистов, злого...). Ну а если за заказчика... то значит тестеры и бизнес аналитики иногда блокируют релиз, пользователь сам себе командир может делать что сам захочет прикажит своим менеджерам с ним самим приехать в офшорный офис и заставит внести изменения в требования перед запуском проекта. В игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 — зона новых кандидатов (нейтрал), 2 — зона начальников (с хорошими столами и дорогим чаем), 3 — зона программистов (опенспейс), 4 — зона злого... (в Европе, там штаб квартира заказчика...)

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

P.S. Я джва года хочу такую игру.

Зачетный баян )

Как раз Новый Год самое время посмотреть новогоднего кино «Бедная Саша» там как раз уже было точно как описал.

А вообще если не учитывать банальности в статье, то ролевый игры программист — HR, менеджер, начальник и т.д. — требуют видео.

Спасибо за статью! Из какой книги график про ошибки? :)

Мне она попала от Димы Снисаря, а если по существу — под скриншотом есть ссылка на немецкоязычный оригинал. С числами и переносимостью эксперимента можно спорить, но... По моему опыту форма кривой примерно такая

Мне тоже зависимость показалась логичной. Поискала эту книгу — но она, кажется, только на немецком. Если узнаете название той книги на русском, откуда скриншот — напишите, пожалуйста. Спасибо!

Я когда попробовал погуглить фразу с картинки, то нашел такое:
Все о командообразовании: руководство для тренеров: пер. с нем. / Манфред Геллерт, Клаус Новак. — Москва: Вершина, 2006. — 352 с.: ил., табл. — ISBN 5-9626-0168-8.

Дожились. Очевидные вещи требуют обоснования.
Не, всем известно про глючность «здравого смысла» в некоторых ситуациях, но это точно не одна из них.

Тыжматематик, конечно требуют

Знакомые картины, к сожалению.
К сожалению, так как болезни почти детские и уже столько решений по ним.
Володя, попал в точку :)

Хотел бы добавить небольшие дополнения и уточнения.

Программисты против QA
X vs Y
Вместо переменных можно подставлять любые пары.
Все из-за отсутствия четкого понимания нормы (сравнение — только с ней) и явного перечня критериев. Будь они, сходу можно сосредоточиться уже на личности и взаимоотношениях, отбросив технические причины.

Боязнь дробных ролей еще бывает от боязни взять ответственность за что-то большее. Т.е. выходит за рамки психотипа работника.

Бизнес всегда хочет сэкономить.
Не согласен. Бизнес (мы ведь не считаем бывших комсомольцев бизнесменами ;)) соотносит затраты и пользу, ориентируясь на субъективный коэффициент. Задача менеджера — выяснять этот коэффициент регулярно (он меняется) и использовать как аргумент его в общении с владельцами. Всегда есть допустимые потери, с которыми бизнес готов мириться при условии достижения основной задачи — регулярного дохода.

Про ошибки шикарный график :)

Про эффективность.
Кто оценивает эффективность?
Хозяин бизнеса и дальше по цепочке вниз. Поэтому мне непонятно, почему эффективность менеджера приравнивается к его опыту и скилу.

Про айсберг — взрослая взвешенная позиция.

Про делегирование.
В принципе, менеджеры растут по вполне понятным критериям.
Если появилась проблема микроменеджмента, то либо менеджер принят на работу извне на основе его резюме (тут мне вспоминается мем про 23-летних синьйоров), либо в компании не поставлена отчетная система для выявления тех, кто способен руководить. И таки да, согласен, исправление требует серьезной работы, но явно не с личностью. Это не то место, где нужно вносить изменения-исправления, т.к. мы наблюдаем уже последствия.

Эффективность и счастье
Вот, да! Плюсую.
Все из-за отсутствия четкого понимания нормы (сравнение — только с ней) и явного перечня критериев. Будь они, сходу можно сосредоточиться уже на личности и взаимоотношениях, отбросив технические причины.
Угу, это система из многих неизвестных, причем мы не можем зафиксировать даже часть из них.

Про бизнес — тут подумать надо. Врядли в ближайшие пару дней смогу добавить по существу к уже написанному.

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

Уже у кого-то бомбануло

Почему-то многие уверены, что на проектах всегда требуется целое количество сотрудников на каждую роль. Три фронтендера, два бэкендера, один QA.
Щаз. Зачастую там еще спрятано 0.8 аналитика, 0.4 девопса и 0.2 UX.

В воздухе отчетливо повеяло сервисным мышлением.

Почему-то многие уверены, что им нужно много ролей. Я вижу в этом так называемый «профессионализм». «Профессионалы» любят свои узкие роли, стараются везде их увидеть, и страшно радуются, находя. Чем уже — тем «профессиональнее». По-настоящему «профессиональный» менеджер пошел бы дальше: нужно еще 0.3 Release Manager, 0.2 Delivery Manager, 0.1 Scrum Master, 0.15 DB Optimization Professional, 0.01 Architect VSOP, 0.02 Retention Manager, 0.001 Mobile Penertation Marketing Specialist, 0.0001 Bullshit Detection Officer.
Откуда у проекта на 5 человек такое мышление? От «профессионализма». Мы узкие профессионалы, мы хотим быть еще более узкими профессионалами, мы уважаем других сверхузких профессионалов и окружаем себя ими. Кроме того, теперь у нас такие охренительные должности в штатном расписании! Выглядит очень профессионально. У других над вашим проектом будут работать кто? Пять девелоперов? Фу, село. Смотрите, у нас будет 0.125 такого и 0.127 сякого, и даже 0.05 ухтыкакого! Смотрите, какие мы продуманные тонкие люди. Не пролетарские стакан водяры и сиська пива, а высокий полосатый разноцветный гей-коктейль.

Кстати, если у вас реально есть «штатное расписание» — уже пора задумчиво смотреть в зеркало.

Сервисное мышление ИМХО во многом диктуется структурой спроса на украинском IT-рынке труда. Для «профессионалов» есть выбор вакансий, есть диктуемые «рынком» вилки зарплат — знай, учи новые framework’и и время от времени похаживай по собеседованиям — вдруг за углом дадут на пару сотен баксов больше?

С другой стороны, за специалиста широкого профиля далеко не везде готовы платить больше, да и вакансий, где требуется широкая горизонтальная планка в Т-модели — мало, и появляются они непредсказуемо. Кроме того, при работе в подобной «гибридной» роли зачастую теряются знания «в глубину», а, как я написал выше — местный рынок труда ценит чаще всего именно их.

Соответственно, это — лишняя привязка к текущему месту работы. А даже в самой лучшей компании такой T-shaped специалист в один далеко не прекрасный день может резко стать ненужным.

Не, все в порядке с сервисным подходом, он выкован реальностью и несет удовлетворение клиентам.

Слишком широкая перекладина Т с одной стороны — слишком узкая вертикальная штанга с другой. Для совсем уж узких специалистов рынок тоже стремительно сжимается. Очевидно, с точки зрения рынка есть некая оптимальная пропорция, востребованная сейчас большинством нанимателей. Примерно как в теореме о том, что существует оптимальное расстояние, на котором женское лицо выглядит наиболее привлекательно.

Компания (продукт, проект) в ходе своего развития тоже, надо думать, ищет кандидатов разных Т-пропорций. И менеджер в каждый момент очередного найма решает, потребность какой конфигурации он должен закрыть. Чем меньше команда — тем универсальнее солдаты. Тем проще тайтлы и меньше «фантомных ролей». Там где нет встроеных отношений «заказчик-подрядчик» им неоткуда взяться.

С другой стороны, за специалиста широкого профиля далеко не везде готовы платить больше
К сожалению это горькая правда. Когда у меня просят создать игру "типа как ту«(без ТЗ), и чтоб и звуки я сделал, и моделлера сам нанял, и текстуры нарыл и геймплей проработал, персонажей продумал, локализацию сделал, и чтоб по сети играть можно было, и чтоб рейтинги были, и чтоб на дроиде/иос работало, и чтоб на гугл плее лежало, и чтоб соцсети были, и сайт сделай, и БД подключи, шейдеры напиши, и протестируй, и вообще поиграй в ту игру и сам разберись/угадай как она работает — то «на вот, держи 200 баксов. За неделю справишься?» Без шуток(!) Печально что 9 из 10 таких проектов таки делают за эту сумму индусы и страны, заканчивающиеся на «-станы». И я тоже брал такие проекты.

А когда берут в команду на проект с десятками разработчиков, с менеджерами, агил подходом, то всё что от тебя требуют(как бы ты не пытался взять на себя инициативу и не лез из шкуры) — ковыряться в носу и париться только о том, как эти тысячи баксов за неделю утилизировать через банковскую систему. И тогда реально бомбит от жлобства первых и просто феерической непродуктивности вторых.

Согласен, но ключевую роль играет число людей в команде. Если у вас человек 20 и при этом к вам затесались HR, QA, бизнес аналитики, то скорее всего ваш начальник вместо повышения ваших зарплат решил попонтоваться и ваши деньги осядут в их карманах. А т.к. оптимизировать 5 человек командой из 15 аналитиков практически невозможно, они будут создавать видимость бурной деятельности и всячески мешать вам в разработке. В этом контексте — они глисты.

Но если взять большую компанию на 100+ человек, то без административной части просто невозможно нормально склеить рабочий процесс. И в этом плане даже маленькая оптимизация рабочего процесса на 5% от одного аналитика как минимум его окупает.

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

что менеджер у которого два фронтэндера и три бекэндера — это какой-то не очень внушительный менеджер. Возможно, он им вообще не нужен.

Наверное, в отдельных случаях такая команда может эффективно работать чисто на самоорганизации. Но, как «общее место» в украинском аутсорсе, я бы это точно не рассматривал.

Подписаться на комментарии