Как построить безумную офигеннную agile команду
Изучите agile динамику команды, культуру и сотрудничество и создайте отличную agile команду.
Создайте свою команду
Agile провидцы поверили, что командная работа важна для предоставления отличного программного обеспечения, и что большие agile команды воплощают «мы», а не «я». Ничто не является более полезным, чем совместное приключение по созданию чего-то, что действительно имеет значение с заинтересованными партнерами по команде.
Несмотря на то, что мы разделяем общие ценности, не существует формулы для идеальной agile команды. Некоторые реализуют scrum, в то время как другие используют kanban. Agile-борцы за чистоту предпочитают совместные команды, но реалии бизнеса иногда требуют распределения agile команды по географическому региону. Большинство agile команд обладают всеми необходимыми навыками, но иногда необходимо вызвать специалистов для конкретной работы. Так как же узнать, находится ли ваша команда на пути к величию? Читать дальше.
Основываться на прочном фундаменте
Когда команда сформирована, важно помнить, что agile команды похожи на отдельных людей: им нужно время, чтобы расти. Agile теоретики часто цитируют «стадии группового развития» Такмана. Agile команды проходят четыре ключевых этапа по мере своего развития.
После того, как команда достигает стадии исполнения, разработка действительно становится потрясающей. Члены доверяют друг другу, понимают сильные стороны друг друга и используют это понимание для оптимизации создания программного обеспечения.
ФОРМАРОВАНИЕ
Требуется высокая степень руководства со стороны менеджера, отдельные роли неясны, процесс недостаточно четко определен
ВЫПОЛНЕНИЕ
Команда работает хорошо, и сосредоточена на том, чтобы быть стратегической, команда работает хорошо с небольшим надзором
ШТОРМ
Понимание того, как принимаются командные решения, цель ясна, но отношения в команде размыты
НОРМИРОВАНИЕ
Отношения хорошо понимаются в команде, приверженность целям команды, начало оптимизации процессов
ЭТАПЫ ГРУППОВОЙ РАЗРАБОТКИ
Сохранение agile команды требует определенной организационной дисциплины, но это отплачивает тем, что защищает команду - в пределах разумного, конечно. Когда вводятся изменения (новый наем, отъезд сотрудника и т. д.), команда возвращается к стадии формирования поскольку она поглощает изменения.
Высокопроизводительные agile команды также основаны на надежных инженерных практиках, таких как обзоры кода, ветвление задач (task), непрерывная интеграция и регулярный ритм выпуска релизов. Мы не можем подчеркнуть это достаточно: инженерные основы имеют решающее значение для создания великолепных команд. (Подробнее об этих темах читайте в разделе «Agile Разработчик».)
PRO TIP:
Agile команды не только для инженеров. В крупных организациях, занимающихся разработкой программного обеспечения, agile команды формируются во многих сферах бизнеса: маркетинг, управление персоналом, финансы ... вы назовете (перечислите) это!
Есть два других столпа великих agile команд: непрерывное наставничество и коллективное использование наборов навыков. Одно из больших преимуществ работы в команде - это то, что коллеги учатся друг у друга и наставляют друг друга. Наставничество - это не просто занятие для младших членов, но и обучение у старших членов. Каждый в команде учится друг у друга, так что влияние команды в целом больше, чем сумма воздействия, которое оказывают ее отдельные члены. В то же время, общие навыки раскрывают возможности команды для решения разнородной работы. Как инженерам всегда важно приобретать новые навыки, потому что это делает нас более ценными для организации и лучше подготовленными для поддержки работы друг друга. Это также защищает от того, чтобы кто-то шел критическим путем, который снимает нагрузку с ума каждого.
Как agile команды сотрудничают между отделами
В состав современных команд разработчиков программного обеспечения входят менеджеры по продуктам, дизайнеры, маркетологи и специалисты по эксплуатации, а также разработчики и тестировщики. В Atlassian мы сосредоточили свои agile команды на трех этапах: производство, продажа и эксплуатация.
РИСУНОК
Каждая фаза продукта поддерживается тремя командами (в идеале 5-7 членов в каждой) и образует триаду. Каждая триада гибка в своем подходе, потому что по мере развития продукта команды постоянно работают над каждым этапом и узнают больше о продукте, а также о рынке. Ниже приводится разбивка каждой триады: кто, что, где и почему для каждой команды в более крупной команде разработчиков программного обеспечения.
В этом и заключается подвох: выход на этап «выполнения» невозможен, если состав команды сильно меняется.
Независимо от того, в какой триаде работает ваша команда, agile может заставить вашу команду предоставлять быстрее и получать больше удовольствия. Погрузитесь в этот раздел и узнайте, как сосредоточиться и оптимизировать agile команды.
Триада |
Кто |
Фокус |
Делает |
Управление продуктом |
Понимать рынок, целевых клиентов и принципы хорошего дизайна продукта |
|
Дизайн |
Определите ценностное предложение, цели продукта и минимальный жизнеспособный продукт |
|
Разработка |
Разрабатывайте продукт, используя надежные, устойчивые методы проектирования |
Продает |
Управление продуктом |
Понимать конкурентную среду продукта и эволюцию рынка |
|
Дизайн |
Создайте обмен сообщениями, который подчеркивает ценностные предложения продукта для каждого сегмента клиентов |
|
Маркетинг |
Создайте залог для поддержки запуска продукта: веб-страницы, электронные письма, блоги, видео и т. д. |
Действует |
Управление продуктом |
Выпуск релиза программного обеспечения для клиентов с регулярным ритмом |
|
Разработка |
Ответить на вопросы клиентов |
|
Поддержка и Ops |
Передача отзывов клиентов в триаду разработчиков (Dev, PM, Design) в качестве входных данных для будущей разработки продукта |