Изучите движущую силу, культуру и методику совместной работы agile-команд и создайте отличную команду в соответствии с принципами гибкой методологии.
Основные моменты
Agile-команда — это межфункциональная группа, ориентированная на совместную работу, постоянное совершенствование и поставку ценности.
Команды преодолевают различные этапы разработки, получают пользу от наставничества и обмениваются навыками для оптимизации эффективности.
Успеху Agile-проекта способствует сотрудничество между отделами и четкое распределение ролей.
Формируйте и развивайте Agile-команды, поощряя доверие, совместное обучение и передовые методики разработки.
Основоположники Agile считали, что командная работа играет важнейшую роль в разработке отличного программного обеспечения и что великие agile-команды олицетворяют понятие «мы», а не «я». Нет ничего ценнее, чем работать вместе с заинтересованными участниками над созданием действительно стоящего продукта.
Несмотря на общность ценностей, формулы идеальной agile-команды не существует. Одни команды внедряют Scrum, другие используют Kanban. Сторонники классической методологии agile предпочитают, чтобы участники находились в непосредственной близости друг с другом, но иногда реалии бизнеса требуют географического распределения agile-команды.
Большинство agile-команд имеют все необходимые навыки, но иногда для выполнения конкретной работы требуется помощь узких специалистов. Так как же узнать, идет ваша команда по пути к величию или нет? Читайте далее.
Закладка прочного фундамента
Создав команду, не забывайте, что agile-команды похожи на людей: для их роста нужно время. Теоретики методологии agile часто ссылаются на стадии развития группы по Такмену. По мере своего развития agile-команда проходит через четыре основные стадии.
После того, как команда достигает стадии функционирования, процесс разработки приближается к идеалу. Участники доверяют друг другу, знают сильные стороны своих коллег и используют это понимание для оптимизации процесса разработки программного обеспечения.
Для сохранения целостности agile-команды требуется определенная организационная дисциплина; она полезна для защиты команды (безусловно, в разумных пределах). При возникновении изменений (прием нового сотрудника, уход сотрудника и т. п.) команда возвращается на формирующую стадию, чтобы проработать это изменение.
Высокоэффективные agile-команды опираются на надлежащие практики разработки, такие как проверка кода, ветвление заданий, непрерывная интеграция и регулярный график релизов. Мы хотим особо подчеркнуть: при становлении великих команд соблюдение основных принципов разработки имеют решающее значение. (Подробнее об этом см. в разделе «Agile-разработчик».)
Профессиональный совет
Agile-команды предназначены не только для разработчиков. В крупных организациях, занимающихся разработкой программного обеспечения, такие команды формируются во многих областях бизнеса: маркетинге, кадрах, финансах... всего не перечесть!
Существует и два других основополагающих элемента отличных agile-команд: непрерывное наставничество и общий набор навыков. Одним из больших преимуществ работы в команде является взаимное обучение и наставничество между коллегами. Наставничество — это не просто обучение младших участников более старшими и опытными. Каждый участник команды обучается у другого, и в результате сила команды в целом становится больше, чем сумма сил отдельных ее участников. В то же время общий набор навыков позволяет команде справляться с разноплановой работой. Разработчикам важно постоянно приобретать новые навыки, поскольку так они повышают свою ценность для организации и могут эффективнее поддерживать работу друг друга. Кроме того, это предотвращает возникновение ситуации, когда один сотрудник становится критически важным и позволяет остальным полностью расслабиться.
Совместная работа agile-команд из разных отделов
Современные команды по разработке программного обеспечения наряду с разработчиками и тестировщиками включают менеджеров по продукту, дизайнеров, маркетологов и специалистов по операциям. В Atlassian agile-команды сгруппированы по трем этапам: производство, продажа и эксплуатация.
Каждый этап жизненного цикла продукта поддерживается тремя командами (каждая из которых в идеале состоит из 5–7 участников) и образует триаду. Каждая триада характеризуется гибкостью, поскольку по мере развития продукта команды последовательно работают над каждым этапом и узнают больше как о самом продукте, так и о рынке. Ниже приводится схема каждой триады и ответы на вопросы о том, кто входит в состав, что каждая команда делает в составе более крупной команды разработчиков программного обеспечения, какую позицию она занимает и почему.
Здесь кроется ловушка: если состав команды часто меняется, выйти на стадию функционирования становится невозможно.
Независимо от того, в какой триаде работает ваша команда, методология agile может ускорить ее работу и позволит получать больше удовольствия от процесса. Внимательно ознакомьтесь с этим разделом, чтобы узнать, как настроить и оптимизировать работу agile-команды.
Триада | Кто | Focus |
|---|---|---|
Производство | Управление продуктами | Понимание рынка, типов целевых клиентов и принципов хорошего дизайна продукта |
Дизайн | Определение предлагаемых преимуществ, целей продукта и минимально жизнеспособного продукта | |
Разработка | Разработка продукта с использованием надлежащих устойчивых инженерных практик | |
Продажи | Управление продуктами | Понимание конкурентной среды и развития рынка продукта |
Дизайн | Позиционирование, которое подчеркивает предлагаемые преимущества продукта для каждого сегмента клиентов | |
Маркетинг | Создание материалов, поддерживающих запуск продукта: веб-страниц, электронных рассылок, блогов, видеозаписей и т. д. | |
Управляйте | Управление продуктами | Регулярный выпуск программного обеспечения для клиентов |
Разработка | Реагирование на проблемы клиентов | |
Поддержка и эксплуатация | Передача отзывов клиентов в производственную триаду (разработка, управление продуктами, дизайн) в качестве входных данных для будущих разработок продукта |
Рекомендовано для вас
Готовые шаблоны Jira
Ознакомьтесь с нашей библиотекой настраиваемых шаблонов Jira для различных команд, отделов и рабочих процессов.
Подробное знакомство с Jira
Воспользуйтесь этим пошаговым руководством, чтобы узнать об основных функциях и передовых методах для повышения производительности.
Понимание основ Git
От новичка до опытного эксперта: используйте это руководство по Git, чтобы изучить основы с помощью обучающих материалов и полезных советов.