Что НЕ должен делать тимлид — или сага о задачках в таск-трекере

Привет! Меня зовут Виталий, я фронтенд-тимлид в KTS. Рассказываю, что входит в нашей компании в обязанности тимлида, а что — нет. Спойлер: это не расставление задач в таск-трекере.

Что НЕ должен делать тимлид — или сага о задачках в таск-трекере

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

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

Кто ставит задачи

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

Роль тимлида

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

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

Кто распределяет задачи между разработчиками

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

Тимлид же делает следующее

Распределяет задачи для достижения краткосрочной и долгосрочной эффективности, развития команды. Он сильнее погружён в подробности разработки и особенности устройства модулей системы. Это позволяет тимлидy распределять задачи между сотрудниками так, чтобы плавно развивать их компетенции. Например, он может дать задачу разработчику без релевантного опыта, чтобы тот научился справляться с похожими задачами.

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

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

Кто проводит код-ревью

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

Роль тимлида

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

Кто разруливает проблемы

Что НЕ должен делать тимлид — или сага о задачках в таск-трекере

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

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

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

Что будет, если снять менеджерские задачи с тимлида

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

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

Не стоит забывать про объём внимания: редко человек может контролировать больше шести объектов одновременно. Здесь можно провести параллель и с управлением командой: чем больше команда, тем сложнее ей управлять. Когда в команде больше шести человек, управлять ей становится слишком сложно. Поэтому большие команды стоит дробить: в каждой из них нужен свой лид. Для текущего тимлида такое разбиение может стать хорошей точкой для перехода на следующий уровень управления. Он начинает руководить не просто разработчиками, а тимлидами.

Резюме

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

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

1616
20 комментариев

Рекомендую к просмотру плейбук авито https://github.com/avito-tech/playbook

2
Ответить

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

А если этот тимлид / техлид уходит в отпуск, заболевает или уволняется, то команда ждет прихода нового волшебника, который не делегировал и не обсуждал с ними технические решения?

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

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

2
Ответить

Вы уверены, что правильно понимаете фразу "валидирует ключевые технические решения"?)
Валидирует значит проверяет и утверждает, а не придумывает за команду не советуясь


А по второму пункту — как "переставить на другой проект" превратилось в "плохой и необучаемый"?:))

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

Ответить

Здравствуйте, отвечаю на ваши комментарии:

1. В любой момент времени в проекте есть кто-то, кто обладает наибольшей компетенцией. Этот человек чаще всего лид проекта, и на нем ответственность за конечный результат. В этом блоке речь идет о валидации решения. Проработку предложения по архитектуре и реализации, конечно, можно и нужно делегировать — так развивается команда и решается проблема bus-фактора. Но опять же, ответственность за финальное решение на лиде. Если лид идет в отпуск / заболевает / увольняется / etc., в экстренном порядке можно получать внешние консультации от других лидов их проектов, временно предложить им вести проект, с постепенной передачей роли лида другому сотруднику. В целом, текущий лид проекта должен выстраивать работу так, чтобы не быть незаменяемым и развивать других сотрудников на замену себе.

2. Проблемы сотрудника на одном проекте — не всегда следствие его необучаемости. Очень часто это признак выгорания, или, возможно, проект человеку субъективно не нравится. И практика показывает, что перевод сотрудника на другой проект позволяет сильно увеличить его вовлеченность, мотивированность и, следовательно, эффективность. Много комментов на код-ревью здесь тоже скорее пример низкой вовлеченности сотрудника.

Ответить

Как же уже за@бали эти няньки-тимлиды и React-обезъяны. Мнение конечно субъективное, но зато мое собственное

1
Ответить

Приятно иметь честь отнести себя к обеим этим категориям 🥰

2
Ответить

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

1
Ответить