Skip to content

Структура команд

Denis Stebunov edited this page May 24, 2022 · 2 revisions

Команды

Работа в ivelum ведется в командах, каждая из которых работает над одним или несколькими проектами. Мы стараемся держать команды небольшими, т.к. у крупных команд количество коммуникаций и сложность управления ими растет в геометрической прогрессии. В настоящий момент у нас 5 команд, от 2 до 6 разработчиков в каждой.

Переходы между командами

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

Тимлид

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

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

  • Распределение нагрузки в команде. Чтобы делать это качественно, тимлид учитывает множество факторов. Текущие бизнес-приоритеты проекта, внутренние технические приоритеты, календарные планы, отпуска и другие нерабочие дни, сложность и специфика задач, личные способности и пожелания каждого из разработчиков — все это влияет на распределение задач.

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

Заместитель тимлида

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

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

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

Clone this wiki locally