Инструкция по выживанию для лида-новичка: 5 скиллов, без которых вам будет больно
Привет! Меня зовут Вадим Ваганов, и когда меня сделали лидером моей первой команды, я думал, что глобально ничего не изменится — просто прибавится чуть больше ответственности и пара новых встреч. Я наивно полагал, что смогу работать как раньше.
Это было сложно, но, превозмогая, я справился: с микроменеджментом, переделыванием задач за других и с «необходимыми» переработками.
Да, я «справился», но в реальности это был полный провал — я укоренил в себе смертельно опасные для лида паттерны. И когда я получил более крупный проект, новую команду, то моментально утонул в хаосе.
Проблема была в «поломке прошивки». Мозг инженера оптимизирован для решения задач, в то время как мозг лида должен быть оптимизирован для создания систем, которые решают задачи.
Мне пришлось пройти через боль, чтобы осознать: мои главные «фичи» в прошлой роли стали критическими «багами» в новой.
Сегодня я расскажу о пяти навыках, которые избавят вас от ненужных страданий и помогут уверенно вести команду вперед.
Навык 1: Делегирование, или как перестать быть «героем-одиночкой»
Вы — самый крутой разработчик в команде. Вы можете сделать задачу быстрее любого другого разработчика. Ваш код — эталон чистоты. Поздравляю, вы в ловушке.
Ваш внутренний individual contributor захочет делать задачи сам, ведь именно это вы умеете делать лучше всего. При этом вы скорее всего не умеете грамотно делегировать.
Как старшие разработчики, мы взаимодействуем с младшими коллегами, менторим, помогаем с задачками, в крайнем случае подхватываем работу и делаем «как надо». Когда я стал лидом, для меня это превратилось в главную боль — оказалось, что я просто не умею делегировать.
Мой мозг инженера кричал: «Сделаю сам, ведь так быстрее». И я делал. Я забирал сложные задачи, засиживался, становился героем-спасителем. Результат достигнут, а остальное не имеет значения, верно? Я встревал и перепроверял, занимался микроменеджментом.
Но потом с ужасом осознал: из-за такого подхода члены команды не преодолевают трудности. Я своими же руками отнимаю у них возможности для роста.
Ваша ценность больше не в том, сколько кода вы напишете и сколько задачек закроете своими руками. Она в том, сколько пользы вы принесете совместными усилиями.
Полечить эту боль мне помогли два простых совета от моего руководителя:
Первый: чтобы доверять людям задачи, нужно четко понимать, что они умеют. Проведи серию one-to-one, составь планы развития, и ты начнешь понимать, с чем они могут справиться уже сейчас, а с чем должны справиться, чтобы вырасти.
Второй: прочитай книгу «Одноминутный менеджер и обезьяны». Нет, «обезьяны» — это не команда :) Это метафора для задач, которые норовят перепрыгнуть с плеч сотрудника на ваши.
Этот разговор перевернул мое восприятие проблемы. Я никогда не мог подумать, что загвоздка именно в доверии, но в итоге для меня это сработало.
Экспресс-терапия по делегированию:
- Примите как факт: теперь вы — это ваша команда. Ваши общие успехи — это ваш успех. Замыкать всё на себе и быть «супергероем» — худшее, что вы можете сделать для себя, команды и организации.
- Прямо сейчас распланируйте встречи one-to-one с членами своей команды, если вы этого еще не сделали. Проведите серию персональных встреч, посвященных навыкам и развитию. Вполне возможно, что кто-то хочет прокачать скиллы, которых не хватает вашей команде.
- Попросите помощи у команды. Если вы растите людей правильно, они всегда будут готовы вам помочь и заодно подтянуть свои навыки.
- Начните делегировать не самые критичные задачи, давайте людям право ошибаться и делать что-то неидеально. Направляйте, но ни в коем случае не перекидывайте задачи на себя на половине пути. Хвалите за выполненную работу и аккуратно вносите корректирующую обратную связь.
- Постепенно делегируйте более важные и ответственные задачи. Не бойтесь: без работы не останетесь, а ваши люди со временем начнут справляться, поверьте.
Делегирование — это не слабость, а ваша суперсила. Это единственный способ перестать быть «разработчиком с лычкой лида» и стать настоящим лидером.
Навык 2: Планирование, или как сделать работу команды предсказуемой
Я всегда был организованным и ответственным, у меня не было проблем с выполнением задач в срок. Но загвоздка в том, что теперь нужно планировать работу целой команды. И не только на один спринт, а на целый квартал. А еще лучше на несколько вперед.
В маленькой команде я как-то справлялся, не имея никакой системы. Но в большой, где проект был приправлен долей неопределенности, я совершенно потерялся. Казалось, мы переносили одни и те же задачи из спринта в спринт, и ничего не доводили до конца. Ощущение жуткое: будто двигаешься вслепую, но не один, а ведя за собой группу людей.
Одной из моих главных ошибок в планировании снова стало то, что я жадно пытался запланировать всё сам — придумать каждому из команды задачи, а потом раздать всем работу. Я играл в управление людьми, а не работой.
Как пофиксить проблемы с планированием:
- Если вы, как и я, постоянно не укладываетесь в сроки, живете с ощущением, что задачи «сырые» и каждый спринт в них возникают новые подробности, которые меняют вообще всё, то вам точно не хватает грумингов бэклога. Займитесь командным календарем и поставьте туда ~4 часа таких встреч, распределенных по спринту. Организуйте их в то время, когда у команды еще есть энергия и вы готовы уделить внимание разбору задач.
- Начните оценивать задачи не для галочки — используйте эти оценки. Объясните команде, почему это важно. Story points, человеко-часы, попугаи, футболки — не суть. Нам нужно понять, сколько и какой работы мы можем выполнять как команда за промежуток времени. Если знаем, сколько задач делаем за спринт, то можем прикинуть, сколько успеем за квартал.
- Включите команду в процесс. Вы не начальник, вы — лидер команды. Выдумать задачи и раскидать их на людей — это не планирование, а путь в никуда. Дайте команде власть: позвольте им задавать вопросы, делиться своим мнением, не соглашаться с вами. Если на груминге и планировании говорите только вы — вы явно делаете что-то не так.
- Планируйте от достижения цели, а не от списка задач. Задавайте вопрос не в духе «Что будем делать в следующем спринте?», а «Какого результата мы должны достичь к концу спринта?».
- Оставляйте «буферы» для неопределенности. Не планируйте на 100% от доступной емкости команды. Это одна из ошибок, которую все мы допускаем в начале пути. Всегда будут срочные баги, внезапные запросы, больничные и те самые «сырые» задачи.
- Используйте инструменты для визуализации планирования, которыми сможет пользоваться вся команда, а не только вы. Наше планирование изменилось навсегда, когда мы нашли удобный для себя инструмент: плагин Easy Agile для Jira.
Ваша ключевая задача как лида — не делать всё самому, а создать процесс, с которым вы сможете достигать поставленных целей.
Внедрите процесс, покажите его преимущества команде и начните отпускать вожжи. Дайте им силу принимать решения и вносить корректировки. И вы уже очень скоро начнете замечать, что сроки стали намного более предсказуемыми.
Не забывайте, предсказуемость — одно из главных преимуществ в нашей хаотичной индустрии.
Навык 3: Расстановка приоритетов, или как делать то, что действительно важно
Как только вы станете лидом, количество информации и опций многократно увеличится. Вы больше не сможете сказать себе: «Это не моя вотчина». И это будет больно, потому что будет казаться, что вы должны контролировать и делать вообще всё.
Здесь есть две составляющие: ваши личные приоритеты и управление приоритетами команды.
Сначала я столкнулся с тем, что у команды слишком много активностей: висит Pull Request, задача-блокер, соседняя команда пришла с дефектом на тесте, а еще какая-то встреча в календаре… Чувствовалось, что команда находится в постоянном стрессе от неопределенности, а от этого тревожился я и думал: «Как же мне это починить?»
Решили мы это раз и навсегда, зафиксировав свои приоритеты в документации:
- Инциденты на продакшене.
- Инциденты на стейдже.
- Установка готовых поставок на прод.
- Код-ревью мердж-реквестов.
- Всё остальное.
А для закрепления создали дашборд с соответствующими фильтрами. Работать очень просто: сверху вниз опустошаем «корзинки», и, пока там не пусто, ничем другим не занимаемся. Как только всё опустошили — возвращаемся к плановым задачам.
Кстати, именно это нам помогло лучше работать по TBD (Trunk Based Development). Конечно, внедрить за один день не получится, но вы можете отрабатывать ситуации, напоминать своей команде о приоритетах и следовать им сами.
Когда речь идет о личных приоритетах лида, то всё сильно сложнее. Представьте: у вас есть работа вашей команды, плюс стратегия, видение, архитектура, внедрение новых практик и еще куча всякого разного и интересного. Вы не сможете заниматься всем и сразу.
Придется научиться отделять сигнал от шума. Если всё приоритетно — значит, ничего не приоритетно. Ваша работа — найти ту единственную кнопку, нажатие на которую даст максимум результата.
Научитесь каждый день задавать себе вопрос: «Что самое важное я могу сделать сейчас, что приведет нас к нашей цели?». Ответом на этот вопрос может быть что угодно, любое узкое место. Неоптимальный процесс в команде, новая уязвимость в библиотеке, плохая коммуникация с соседней командой, нехватка людей — ваша задача именно в том, чтобы разбивать блокеры и вести команду к победе, иногда выполняя грязную и неприятную работу. И это нормально: на своем месте вы можете разруливать самые сложные вопросы.
Бонус: моя любимая книга «Цель. Процесс непрерывного совершенствования» Элияху Голдратта — must read, который научит вас видеть то, что приводит к результату, а не просто «работать работу» по накатанной.
Навык 4: Искусство говорить «нет», или как отклонять запросы, не сжигая мосты
Мне было психологически сложно отказывать. Я боялся показаться несговорчивым, поэтому всегда говорил «да». А потом шел и выбивался из сил, пытаясь уместить необъятное, и избыточно нагружал команду работой, которая не вела нас к цели.
Не повторяйте моих ошибок, говоря «да» чему-то второстепенному. На самом деле мы часто молчаливо говорим «нет» своим настоящим приоритетам.
В сущности этот навык — разумное следствие предыдущего пункта про приоритеты. Чтобы заниматься самым важным, нужно научиться говорить «нет». Очень много говорить «нет».
Горькая правда: в большой организации очень много коммуникаций, и со временем компания будет «покушаться» (не со злым умыслом, это просто так работает) на ваш календарь, и это нужно просто принять. А чем лучше ваша репутация «решателя проблем», тем больше людей захотят вашего внимания.
«Я совсем ничего не успеваю, у меня весь календарь во встречах».
Знакомо? Скорее всего, вы не говорите «нет» второстепенным активностям. Хорошая новость: именно вы можете этим управлять.
Оцените, правда ли вы нужны на этой встрече? Правда ли эта задача такая срочная? Правда ли этот баг настолько критичен? Стоит ли разбираться в баге, по которому нет никакой фактуры и ничего не указывает на вашу систему?
Сомневаетесь? Спросите у своего руководителя: «Стоит ли мне заниматься активностью X?» Со временем вы начнете всё лучше понимать, что важно, а что второстепенно, и сами сможете решать, что стоит усилий вашей команды.
Право говорить «нет» — это ответственность, которую вы берете, чтобы команда делала то, что нужно, а не то, что просят.
Бонус: простые практики, которые делают каждый рабочий день проще.
Навык 5: Manage Up, или как выстраивать продуктивные отношения со своим руководителем
Думаю, это тот навык, о необходимости которого я бы никогда не подумал, будучи начинающим лидом.
Когда ты разработчик, твой руководитель — это твой товарищ по команде. Вы вместе преодолеваете трудности, встречаетесь на дейлике и всегда в одном контексте.
Когда ты лид, твой руководитель уже на ступеньку выше, и правила становятся другими.
Несколько советов, как теперь взаимодействовать с вашим руководителем:
- Приходя с проблемой, продумайте варианты решения и прямо озвучьте, какая помощь нужна от руководителя. Это сильно ускорит решение проблемы: вы не перекладываете ответственность на плечи начальства, а просите совета или конкретной помощи.
- Периодически синхронизируйте планы, узнавайте боли вашего руководителя. Конечно, на вас будут транслировать планы и задачи, но не бойтесь регулярно уточнять его стратегические цели и приоритеты. Понимая, какие задачи и «боли» у него на верхнем уровне, вы сможете адаптировать работу своей команды так, чтобы вносить максимальный вклад в общий результат, а не просто закрывать задачи из бэклога.
- Не скрывайте плохие новости, сообщайте о рисках сразу. Это не признак слабости, а демонстрация ответственности: руководитель получает возможность помочь до того, как ситуация станет критической, и может управлять ожиданиями на своем уровне.
- Уважайте его время (если уж на то пошло, уважайте время всех людей, с кем работаете). Если у вашего руководителя несколько команд и множество проблем, решением которых он занят, старайтесь всегда давать контекст; используйте асинхронные способы коммуникации, если нет необходимости в срочном ответе.
- Не бойтесь эскалировать, но соберите фактуру: нужно научиться определять ситуации, в которых вы уже ничего не можете сделать на своем уровне, и не бояться сообщать об этом вашему руководителю как можно скорее. Поверьте, он больше всех хочет, чтобы у вашей команды всё получилось.
Ваш руководитель — такой же человек, перегруженный проблемами. Станьте для него тем, кто не создает новые проблемы, а помогает решать его собственные. И вы станете незаменимым.
Выводы
Переход из individual contributor в лида всегда непростой. Вам придется столкнуться с совершенно новыми для себя проблемами, при этом ваша старая «прошивка» будет вам скорее мешать, чем помогать. Надеюсь, мои рекомендации помогут вам преодолеть этот путь чуть менее болезненно.
И оно того определенно стоит: когда вы увидите, что построили систему, которая стабильно и предсказуемо приносит результат — вы поймете, что взошли на новую ступень своего развития.
Автор: Вадим Ваганов, техлид
Канал Вадима для прагматиков, которые хотят большего