Разработка
Григорий Петров: Менеджер, который сидит в засаде
Чем он занимается все остальное время? Высматривает эти проблемы: читает тикеты в JIRA, общается с тим лидом и заказчиком, присутствует на совещаниях. Сидит в засаде.
В предыдущих статьях я рассказал про роль в разработке Заказчика (Product Owner) и Тим Лида (Team Lead). Теперь можно уделить немного времени третьей организационной роли — менеджеру. Точно так же как с заказчиком и тим лидом, это именно роль, а не обязательно отдельный человек. Бывают ситуации, когда один разработчик полностью исполняет роль отдела: сам себе ставит задачи, сам их выполняет, сам решает административные вопросы и сам планирует развитие продукта. Но такие ситуации редки. Чаще выделенный менеджер «ведет» сразу несколько проектов разработки, либо роль менеджера берет на себя заказчик. Или тим лид. Что же полезного делает менеджер, когда «ведет» проект?
Выживание в неидеальном мире
Идеальный разработчик точно предсказывает сроки, делает все вовремя, не допускает ошибок и не существует. Идеальный заказчик точно знает, что должно получиться в результате, умеет четко формулировать свои мысли, не ошибается и тоже не существует. Идеальный тим лид… ну вы поняли идею. В идеальном мире все хорошо. В идеальном мире менеджер не нужен.
Но мы живем в реальном мире. А в реальном мире наше поведение в большей степени определятся не рациональной логикой, а гормонами, эмоциями и многочисленными когнитивными искажениями. А еще в нас нет потребности работать. Правда-правда. Много разных потребностей есть: изучать окружающий мир, строить и проверять модели, бороться за место в социуме, помогать группе… А вот чтобы просто работать — нет такого. Сотни тысяч лет эволюция формировала наши модели поведения для жизни в небольшой стае охотников и собирателей. Только вот за последнюю тысячу лет все кардинальным образом поменялось, и теперь ценные для животного мира инстинкты драки с другими самцами и охоты на мамонта входят в конфликт с реалиями работы в постиндустриальном мире.
Для исправления ситуации мы худо-бедно научились обманывать свои инстинкты: придумали социальные нормы, имитируем «стаю» с помощью отделов и команд, пытаемся эксплуатировать для рабочих целей «исследовательский» инстинкт. Про это не одна тысяча книг написана, и пересказывать их содержимое на страницах моей колонки не очень полезно. Я бы хотел заострить внимание на другом: чтобы обманывать инстинкты, это нужно уметь делать. Более того. Лишь у незначительного количество людей это получается делать «по наитию» и «от рождения». А всем остальным надо учиться. Это как игра на гитаре: можно сколько угодно верить что «вот сейчас возьму гитару в руки и сразу смогу играть», но для подавляющего большинства потребуются месяцы тренировок и разбитые пальцы, прежде чем удастся извлечь из куска дерева хоть что-нибудь, похожее на приятные уху звуки.
С планированием у нас тоже все плохо. Эволюционно мозг приспособлен к решению тактических задач: поесть, поспать, размножиться, завалить мамонта, защитить место в стае. А современная работа, особенно в айти, завязана на стратегические задачи: планирование на месяцы и годы вперед, работа со множеством параллельных процессов, разбиение огромных проектов на части.
Нужен специальный человек, который будет помогать команде обманывать свою природу и заниматься делом. Который знает, как это делать, потому что специально этому учился.
Нужен менеджер.
Что именно делает менеджер
По сути, у менеджера всего две задачи: обеспечить коммуникации и планирование. Как уже писалось выше, потому что это сложные для человеческой природы штуки, мало кто может их решать без специальных навыков. Часто шутят, что менеджер — это коллективная ответственность своих подчиненных. А еще тим лида и заказчика.
Для разных работ помощь с коммуникациями и планированием выглядит по-разному. Прораба на стройке все видели? А как это выглядит для команды разработки?
- Перевод между заказчиком, тим лидом, разработчиками, тестировщиками сотрудниками отдела тестирования и другими участниками процесса. Как я уже писал, коммуникации — штука не то чтобы очень простая. И совсем не интуитивная. Поэтому без специального человека совещания любят превращаться в балаган, а баги — в повод выяснить, кто же из альфа-самцов круче. Что делает специальный человек? Следит за регламентом совещаний, «дает слово», «забирает микрофон», «возвращает к обсуждаемому вопросу». Записывает результаты и рассылает потом всем участникам, потому что сами они через час придумают себе другую реальность. Просматривает тикеты на предмет понятности формулировок, рассказывает и показывает, как формулировать свои мысли. Проводит внутренние презентации проектов.
- Решение социальных вопросов. Инстинкты требуют рычать на других самцов и защищать свое место в стае. Ни разработчики, ни тим лид, ни заказчик об инстинктах не знают, и бороться с ними не умеют. Просто потому, что об этом нигде кроме профильных университетов не рассказывают. Для них все происходящие «порыв души» и «а чё он такой дерзкий?». Только специально обученный человек сможет манипулировать инстинктами и предотвращать их разрушительное воздействие на коллектив.
- Еще есть такое замечательное когнитивное искажение как «прокрастинация». О нем в последние пять лет только ленивый не писал. Я еще не писал. Но когда-нибудь обязательно посвящу этому спецэффекту отдельную статью. Если не управлять прокрастинацией разработчиков, то можно легко и непринужденно сорвать сроки в два, а то и в три раза от намеченного. И, конечно же, только менеджер знает, почему прокрастинация — это когнитивное искажение. И что с ним можно делать.
Итого
Борьба с инстинктами и когнитивными искажениями — самое, на мой взгляд, важное, что делает в команде менеджер. Кроме вышеперечисленного, менеджер часто берет на себя заботу об административно-хозяйственных вопросах, начиная от наличия туалетной бумаги и заканчивая бесперебойными поставками кофе с печеньками. Не потому, что больше некому этим заняться. А потому, что самые высокие организационные умения.
В крупных компаниях менеджер часто ведет несколько проектов, так как после «налаживания процессов» ему достаточно держать руку на пульсе и обеспечивать решение возникающих проблем. Которые, если процессы хорошо налажены, а сотрудники обучены, не то чтобы очень часто возникают. Работа хорошего менеджера во многом похожа на работу системного администратора: если менеджер хороший, то все работает, а сам он появляется только в редких случаях возникновения проблем. Чем он занимается все остальное время? Высматривает эти проблемы: читает тикеты в JIRA, общается с тим лидом и заказчиком, присутствует на совещаниях. Сидит в засаде.