кадры | Владимир Бычко об управлении проектами - Part 3

Владимир Бычко об управлении проектами

пиэм разъясняет, предостерегает, рекомендует

Тег: кадры

Делегирование

Делегирование

Делегирует каждый руководитель, уже в силу профессии. И многие совершают две типичные ошибки.

Первая ошибка — поручить подчинённому задачу, а потом оценивать по тому, как справился бы с ней сам. Однако это в корне неправильно, вы ведь потратили на свою подготовку намного больше времени, чем ваш условный подчинённый.

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

Ошибся на нерегламентированном участке — регламентируем. Ошибся там, где есть чётко прописанные правила — наказываем.

Адаптация новых сотрудников, онбординг

Новичок

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

В одной компании дело дошло до маразма — по должности мне было положено принимать дизайн, но монитор выдали ЭЛТ-шный (нет, не профессиональный ЭЛТ-шный, а пятнадцатидюймовый гробик 1024 на 768, на котором невозможно нормально откалибровать цвета). Пришлось потратить массу времени на убеждение сисадмина, затем своего начальника. Кстати, это не помогло, монитор заменили только после вмешательства генерального.

Суть адаптации нового сотрудника — сделать два чек-листа.

В первом написать, что нужно сделать до прихода сотрудника (вытереть стол от пыли, поставить оборудование в соответствии с должностью, подготовить бумаги для оформления, сделать пропуск и так далее)

Во втором написать, что нужно сделать после прихода сотрудника (рассказать, во сколько приходить, когда обед, когда уходить, можно ли работать из дома, выдать зарплатную карту, показать, где наливать кофе и куда выбрасывать мусор и так далее).

Затем нужно лишь применять эти два чек-листа к каждому новому сотруднику.

Ещё можно сделать страницу «Информация для нового сотрудника» в корпоративной вики, если такая у вас имеется.

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

Группа управления разработкой

team

Для того, чтобы руководить разработкой продукта, нужно уверенно держать в руках три «руля»:

  1. Административное руководство.
  2. Управление изменениями.
  3. Техническое и архитектурное управление.

 
 
Рассмотрим все три «руля» более подробно.

team

Административное руководство.

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

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

Организация — процессы, напрямую не связанные с производством, но влияющие на него. Инфраструктура (рабочие места, обеды, кофе и проч.) и обеспечение коммуникаций.

Кадры — рекрутинг сотрудников, мотивация.

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

Данного перечня работ вполне достаточно для полной загрузки менеджера продукта. При попытке навесить на него второй и третий «рули» возникнет сбивание фокуса и падение производительности всей команды.
 
 

team

Управление изменениями.

Разработчики пишут код по техническим заданиям/требованям, которые должны быть собраны, проанализированы и формально описаны. Кроме того, необходимо на протяжение всей работы над продуктом не упускать из внимания vision — общую концепцию, идею. Сюда входят следующие работы:

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

Управление техзаданиями/требованиями. В общем доступе всегда должна быть актуальная информация о том, как сейчас работает продукт. Разработчики всегда должны получать технические задания с информацией о том, каким образом им нужно изменить/доработать продукт.

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

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

team

Техническое и архитектурное управление.

Сюда входит группа работ по обеспечению производства. А именно:

Архитектурное управление — обеспечение технической целостности и непротиворечивости работы модулей системы, структуры базы данных и проч.

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

Обеспечение технической инфраструктуры — выбор среды разработки, версионного хранилища, организация сборок билдов, методов передачи на тестирование.

Обучение. Организация обучения джуниоров, повышение квалификации мидлов, поддержание матрицы компетенций.

Управление технической документацией. Организация написания технических спецификаций. Особенно актуально для работы над продуктом, являющимся частью комплекса ПО. Без технических спецификаций (это третий вид документации) реализация взаимодействия продуктов будет затруднена.

Консультации аналитиков, выработка вариантов реализации.

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

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

Человек, полностью ответственный за продукт — менеджер продукта. Безусловно, в принятии решений должны участвовать все три менеджера, но старшим руководителем, обладающим право вето и последним словом является именно менеджер продукта. Главный разработчик и главный аналитик стоят на одном уровне и руководят группой разработчиков и группой аналитиков соответственно.

Главные менеджерские ошибки

fatal error

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

Не фиксировать договорённости.

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

Самый простой способ фиксации договорённости — отправить всем участникам встречи резюме разговора. Традиционно это делает организатор встречи.

Итак. Встретились, обсудили, пришли к договорённости, отправили емейл с подтверждением.
 
 

Брать глупых трудолюбивых людей.

Люди бывают умными и глупыми, ленивыми и трудолюбивыми.

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

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

Глупый и трудолюбивый человек.
Таких берут чаще всего. Ничего страшного, что он не всё понимает с первого раза и совершает много ошибок, зато трудится по двенадцать часов в день (в основном, над исправлением своих же ошибок) и любо-дорого на него смотреть. Армейский аналог — любой глупый, но старательный командир, заставляющий солдат красить траву и делать снег квадратным. От него нет ни вреда, ни пользы.

Такой человек — катастрофа для бизнеса, его место на госслужбе.

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

Итак. Умные лентяи — наш выбор.
 
 

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

Здесь всё просто. Государственная организация — блестящая школа безответственности, крючкотворства, очковтирательства, приспособленчества и крысятничества. Таких людей невозможно переделать, причём, речь идёт о сотрудниках любого уровня. Руководитель, думающий лишь об откатах и взятках или сисадмин, привыкший вместо починки компьютера заменять его новым, одинаково вредны.

Итак. Никаких бывших госслужащих.
 
 

При найме человека забывать говорить с его предыдущим руководителем.

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

Итак. Не верим сказанному на собеседовании, берём рекомендацию лично.
 
 

Брать нелояльных профессионалов.

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

Итак. Лояльность важнее профессионализма.
 
 

Делегировать найм сотрудников.

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

Итак. Людей нужно брать самому.
 
 

Не давать второго шанса. Давать третий.

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

Итак. Даём второй шанс, но не даём третьего.
 
 

Ненужные заказы и ненужные люди.

Не стоит брать заказ, если заказчик использует следующую риторику: «Сделайте это в убыток себе, зато потом мы обеспечим вам вал дорогих заказов». Не обеспечат, это развод. Аналогично не стоит брать убыточные заказы ради опыта (зачем вам опыт просирания денег?) или ради портфолио.

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

Итак. Избегает ненужных заказов и ненужных людей.
 
 

Бороться с недостатками вместо развития достоинств.

Классика. Линкольн поставил командующим Гранта, имеющего серьёзный недостаток — пристрастие к бухлу, зато умеющего мастерски планировать операции. Грант победил «сбалансированных» командиров штаба генерала Ли, не имеющих серьёзных недостатков.

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

Итак. Развиваем достоинства вместо борьбы с недостатками.

Изображение с devianart, автор vividfury

Высшее образование для айтишника

Boring-Stable-Prestigious

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

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

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

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

Я верю, что есть гении, которым всё это не нужно и которые способны, скажем, взять и написать гениальный код. Самообразование, природные способности и всё такое. Однако реалии производства таковы, что основную ценность имеют те, кто способен постоянно писать не гениальный, а работающий код. Восемь часов в день, сорок в неделю. А сложные и интересные задачи бывают не всегда. Бывает необходимость и пару значений в сотне документов скриптом поменять, и простую табличку с процедурой заполнения запилить, и пару показателей в отчёт добавить. И при этом нельзя говорить, что скучно, неинтересно или просто влом. Нужно взять и сделать. Будет ли справляться человек, которому было влом сидеть на парах в ВУЗе? Не уверен.

90 % работы для программиста — это корпоративное ПО

Основы экономики: цена чего-угодно (включая вас) — это функция спроса и предложения. Давайте сначала посмотрим на спрос. Большинство ПО не продается в коробках и не доступно для скачивания в интернете или App Store. Большинство ПО — это тоскливые узкоспециальные корпоративные приложения, поддерживающие глобальную экономику со всех вообразимых сторон. Эти приложения подсчитывают издержки, оптимизируют расходы на пересылку, помогают составлять бухгалтерские отчеты, проектировать новые интерфейсы, вычислять цену страховки, помечать подозрительные заказы для ручной проверки и т.д. ПО решает проблемы бизнеса.

ПО решает проблемы бизнеса несмотря на свою душераздирающую скучность и отсутствие технологической сложности. Например, представьте себе электронную форму отчета о командировочых расходах. Для компании размером в 2000 человек она может сэкономить порядка 5000 человеко-часов в год в сравнении с ручной обработкой бумаг, что при средней стоимости часа работы в 50 $ сэкономит 250 000 $. Компании все равно, что это самое примитивное на свете CRUD-приложение. Единственное, что имеет значение, это то, что оно сокращает издержки или генерирует прибыль.

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

«Перестаньте называть себя программистом и другие карьерные советы»

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

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

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

Матрица компетенций

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

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

Решением является составление и поддержание в актуальном состоянии матрицы компетенций.

Шаг № 1

Выделить критичные части предметной области.

Шаг № 2

Выявить уровень навыков сотрудников.

Шаг № 3

Обработать риски.

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

Для контрольного примера возьмём семь компетенций:

  1. Отчёты RS
  2. Отчёты на базе сводных таблиц
  3. Обмен данными
  4. C#
  5. Веб сервисы
  6. Оптимизация
  7. Архитектура

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

  • нуль — не владеет.
  • единица — обучается.
  • двойка — владеет на приемлемом уровне
  • тройка — владеет на высоком уровне, способен преподавать

 

Отчёты RS

Отчёты сводные

Обмен данными

C#

Веб сервисы

Оптимизация

Архитектура

Митчелл

2

2

1

0

0

1

0

Хойт

1

1

0

2

1

2

0

Абу Бакр

3

3

2

1

0

3

1

Примус

0

0

0

3

0

2

1

Батье

2

2

3

0

1

1

3

ИТОГ

8

8

6

6

2

9

5

 

Из таблицы можно сделать следующие выводы:

  1. У нас нет никаких проблем с реализацией отчётов.
  2. С обменом данными также всё в порядке. Господина Батье вполне может подменять мистер Бакр.
  3. Относительно C# также нет проблем, функции дублированы.
  4. Мы толком не можем делать веб-сервисы, есть лишь два ученика. По всей видимости, специалист был, но он уволился, а предыдущий менеджер матриц компетенций строить не умел.
  5. С оптимизацией всё в полном порядке.
  6. Полноценным архитектором является только господин Батье, есть два ученика, но подменить его они не могут.

 

Управленческие решения:

  1. Направить Батье и Хойта на обучение разработке веб-сервисов.
  2. Попросить Батье поднять навки Примуса и Бакра в архитектуре.
  3. Особенно чутко наблюдать замотивированность господина Батье.

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