Agile Release Train
Что такое Agile Release Train?
Agile Release Train (ART) или Релизный Поезд Agile — это долгосрочная команда Agile команд, которая инкрементально разрабатывает, доставляет и часто эксплуатирует одно или несколько решений в разработческом потоке ценности.
Релизный Поезд Agile — это команда Agile команд, которые со-направлены относительно общих бизнес- и технологических целей. В ART обычно входит 50-125 человек. Все участники поезда являются кросс-функциональными и обладают знаниями и навыками, необходимыми для определения, создания, валидации, выпуска и, где это применимо, эксплуатации одного или нескольких решений.
Когда продукт или решение являются слишком большим для того, чтобы их могла доставить одна Agile команда, то команды, вовлеченные в его разработку, организуются в Релизный Поезд Agile. Agile Release Train эффективно создаёт со-направленность между несколькими командами. Существование ART позволяет выстроить единый формат работы внутри поезда. Такой подход помогает Agile командам работать вместе более слаженно и гарантирует, что разрабатываемая ими ценность будет готова к использованию в одно и то же время. Таким образом, Agile команды могут доставлять продукты на рынок более эффективно и с более высоким качеством, что было бы сложнее добиться при менее организованном подходе к разработке в организации.
Рисунок 1. Agile Release Train доставляет решения для клиентов
Каждый Agile Release Train выполняет работы из своего беклога поезда. Беклог Релизного Поезда (ART Backlog) содержит фичи, которые Agile команды этого поезда разрабатывают для удовлетворения потребностей своих клиентов. ART создаёт и поддерживает конвейер непрерывной доставки, необходимый для разработки и выпуска ценности.
Как организовать Agile Release Train?
В организации, где работа организована вокруг силосов (функциональных подразделений) — разработчики работают с другими разработчиками, тестировщики работают с тестировщиками, архитекторы и инженеры держатся вместе, сотрудники операционной деятельности работают обособлённо. Такая «силосная» организационная структура возникла в прошлом по разным причинам. Однако в настоящее время она замедляет работу в организации, потому что работа должна проходить через все эти отдельные подразделения (группы людей). Менеджеры должны координировать передачу работы от одной группы к другой, что замедляет работу и приводит к задержкам.
В отличие от такой традиционной организационной структуры, в Agile Release Train входят все люди, которые необходимы для определения, доставки и эксплуатации решения, что позволяет устранить функциональные силосы (рис. 2). Такой подход способствует быстрому прохождению ценности от идеи до развертывания и выпуска. ART является самоорганизующейся и самоуправляемой командой команд, поэтому работа выполняется быстрее и слаженнее без ненужных накладных расходов.
Рисунок 2. Agile Release Train полностью кросс-функционален
Кто входит в состав ART?
Agile команды приводят Agile Release Train в движение. Agile команды, которые «едут» в одном ART, могут использовать разные способы организации своей работы: SAFe Scrum, SAFe Kanban или их сочетание. Выбор способа зависит от того, что лучше всего подходит для каждой конкретной команды. Сотрудничая друг с другом и находясь внутри одного поезда, Agile команды создают решения целиком.
Гибкие команды могут быть техническими командами, ориентированными на создание программных или аппаратных продуктов, бизнес-командами, такими как маркетинговые, юридические или финансовые, или их сочетанием. Несмотря на это, все Agile команды в Agile Release Train выравнены (со-направлены) в соответствии с общим видением и дорожной картой и участвуют в мероприятиях Релизного Поезда. Вместе все команды ART постоянно оптимизируют свои практики, ускоряя доставку ценности.
В каждом Agile Release Train также есть специальные роли лидеров поезда, которые поддерживают и координируют Agile команды. Команда лидеров Поезда состоит из следующих ролей:
- Менеджмент Продукта (Product Management) – Один менеджер продукта или команда, которые отвечают за определение того, что Релизный Поезд разрабатывает, на основе Видения, дорожной карты и Фич в беклоге ART. Менеджеры Продукта взаимодействуют с клиентами, командами и Владельцами Продуктов, чтобы понять потребности клиентов и бизнеса, и помогают проверить разрабатываемые решения.
- Архитектор Систем (System Architect)—Один архитектор или команда, которые определяют общую архитектуру системы. Они также часто принимают решение о ключевых стандартах производительности и эксплуатационных стандартах системы (нефункциональных требованиях — НФТ/NFR), основных компонентах системы и подсистемах, а также о том, как эти части связаны и взаимодействуют друг с другом.
- Инженер Релизного Поезда (Release Train Engineer, RTE) – RTE несёт значительную долю ответственности за выполнение работы со стороны поезда. Он/она помогает устранять препятствия и ускорять доставку ценности, управлять рисками и зависимостями, а также способствует непрерывным улучшениям.
- Владелец Бизнеса (Business Owner) – основные заинтересованные лица Agile Release Train (ART). Они отвечают за бизнес-результаты ART, включая рентабельность инвестиций (ROI), управление и соблюдение регуляторных требований.
Помимо вышеперечисленных участников Релизного Поезда другие роли также оказывают влияние на успех ART:
- Общие Сервисы (Shared Services) – это специалисты, которые не могут быть выделены для одного Agile Release Train. К ним часто относятся специалисты по безопасности данных, юриспруденции или соответствию регуляторным требованиям, инженеры по обеспечению надежности информационных систем (SRE) и многие другие.
- Владельцы Эпика (Epic Owners) взаимодействуют с заинтересованными лицами поезда для реализации Эпиков, которые обычно являются крупными инициативами по разработке решений. Работа над созданием Эпиков включает в себя определение Бережливого Бизнес-Кейса (Lean Business Case) и выделение состава MVP. Владельцы Эпика также сотрудничают с Agile командами и поездами, чтобы управлять Эпиком в процессе разработки. Релизные Поезда могут не всегда работать с Эпиками, поэтому Владельцы Эпиков не всегда вовлечены в работу каждого ART.
- Команда Системы (System Team) — это специализированная Agile команда, которая может быть создана для помощи Релизному Поезду в создании продукта/решения и поддержке разработки, в проведении непрерывной интеграции и тестирования сред.
- Клиенты (Customers) являются покупателями или конечными пользователями решения. В своей работе Agile команды и лидеры ART неизменно применяют клиентоцентричные практики. По возможности, вовлекайте клиентов в мероприятия и активности Agile Release Train – это позволит значительно улучшить результаты работы.
Как функционирует Agile Release Train?
Релизные Поезда помогают решить одну из наиболее распространенных проблем «традиционной» Agile разработки, когда команды, работающие над одним и тем же решением, работают абсолютно независимо и асинхронно. Это чрезвычайно затрудняет регулярную интеграцию всей системы. Другими словами, распространённая проблема «традиционной» Agile разработки звучит как: «Команды работают Итерациями, но при этом система не разрабатывается Итерациями». Подобный подход также существенно увеличивает риск позднего обнаружения проблем.
Вместо этого Agile команды, входящие в Agile Release Train, со-направляются и выполняют работу в единой каденции (едином ритме). Они синхронизируют свои ключевые активности, как показано на рисунке 3, чтобы гарантировать, что вся система разрабатывается Итерациями. Каденция и синхронизация помогают всем сосредоточиться на улучшении и проверке всей системы, а не только ее частей.
Рисунок 3. Весь ART разрабатывает Итерациями
Интервалы Планирования (Planning Interval, PI) задают ритм разработки внутри Релизных Поездов. Интервал Планирования обычно длится 8-12 недель. Стандартный формат Интервала Планирования состоит из четырех или пяти итераций разработки, за которыми следует одна итерация, ориентированная на инновации и планирование. Во время каждого Интервала Планирования мероприятия уровня ART обеспечивают прохождение полного цикла «Планируй-Делай-Проверяй-Корректируй» (цикл Деминга-Шухарта «PDCA»). Этот цикл напоминает серию мероприятий, которым следует каждая Agile команда. Однако в случае с ART мы имеем дело с серией мероприятий в масштабе Релизного Поезда, которые показаны на рисунке 4 ниже.
PI Планирование даёт возможность каждому участнику Agile Release Train со-направить свою работу в соответствии с наивысшим приоритетом для бизнеса. Во время PI Планирования у Agile команд есть выделенное время, когда они оценивают то, что они могут доставить за Интервал Планирования, выявляют зависимости с другими командами и Поездами и берут на себя обязательства по достижению согласованных целей на Интервал Планирования. Во время Интервала Планирования команды поддерживают согласованность с планом с помощью мероприятий по синхронизации ART. Они демонстрируют интегрированное решение в конце каждой итерации на мероприятии «Демонстрация Системы». В конце Интервала Планирования весь Релизный Поезд участвует в мероприятии «Инспект-Адапт» для определения действий по улучшению, которые необходимо реализовать в следующем Интервале Планирования.
Рисунок 4. Мероприятия ART позволяют Agile командам со-направлять свои действия в рамках установленной каденции.
В чем заключаются обязанности Agile Release Train?
Конечная цель Agile Release Train заключается в том, чтобы доставить клиенту ценные решения. Для этого ART разрабатывает решение итеративно, постоянно взаимодействуя с клиентом и внося необходимые корректировки для создания оптимального решения.
На рисунке 5 показаны основные области ответственности Agile Release Train, которые помогают достичь этой цели. Обязанности Agile команды и Релизного Поезда одинаковы. Далее в статье мы посмотрим на специфику, которую следует учитывать при организации Agile команд в Релизном Поезде:
Рисунок 5. Обязанности Agile Release Train
Связь с клиентом
Клиенты являются покупателями или конечными пользователями решения, которое доставляет Agile Release Train.
Для установления связи с клиентом участники поезда:
- Применяют клиентоцентричность – Основное внимание Agile Release Train постоянно направлено на потребности клиента и возможность принести ему пользу. Клиентоцентричность – это мышление, которое необходимо для всего Поезда. ART работает над повышением эмпатии к клиентам и постоянно изучает, как лучше всего решить проблемы клиентов. Команды постоянно проводят исследования и обмениваются полученными данными внутри Поезда. Такой подход позволяет со-направить поток ценности и инновации в поезде.
- Применяют Дизайн-Мышление – Дизайн-мышление является итеративным процессом, который помогает командам создавать жизнеспособные, востребованные, осуществимые и устойчивые решения. Такой подход поощряет членов команд изучать множество идей, а затем сужать круг гипотез для поиска инновационных решений, которые принесут наибольшую ценность клиентам. Лидеры Agile Release Train дают возможность Agile командам применять и обмениваться методами дизайн-мышления. Эти методы помогают обеспечить, что каждая команда сфокусирована на удовлетворении потребностей пользователей, постоянно доставляя инновационные улучшения.
- Вовлекают клиентов в процесс разработки – Ничто не заменит информацию, которую Поезд получает напрямую от клиентов. Регулярное вовлечение их в процесс разработки помогает ART двигаться с гораздо большей скоростью. Такое взаимодействие с клиентами помогает Agile Release Train избежать дорогостоящей ошибки — создать новую функциональность, которая не нужна клиентам или не может быть ими использована. Подготовка к PI Планированию, само PI Планирование и Демонстрации Системы служат площадками для взаимодействия с клиентами.
Планирование работы
Планирование ключевых активностей Agile Release Train позволяет со-направить действия команд и заинтересованных лиц в отношении того, что и как необходимо создать в течение следующего интервала. Со-направленность (Выравнивание) является одной из основных ценностей SAFe.
Для достижения и поддержания со-направленности участники поезда.
- Со-направляют приоритеты Релизного Поезда в соответствии со стратегией портфеля – Каждый Agile Release Train должен со-направлять (выравнивать) свою работу в соответствии с общей стратегией портфеля, руководствуясь Стратегическими Темами. Ведь конечная цель – достижение целей в масштабе всей организации. Выравнивание предполагает активное взаимодействие с заинтересованными лицами портфеля и вовлечение представителей ART в обсуждения портфеля. Такая координация действий выстраивается в ритме (каденции) Интервала Планирования. Владельцы Эпика и Владельцы Бизнеса играют основную роль в том, чтобы связать стратегию портфеля с выполнением работ со стороны ART.
- Готовятся к PI Планированию – Лидеры, заинтересованные лица и Agile команды Релизного Поезда готовятся к мероприятию «PI Планирование». На основе Видения лидеры Agile Release Train достигают согласованности по приоритетам на следующий Интервал Планирования. Agile команды уточняют Фичи, оценивают ёмкость и обмениваются идеями о реализации, чтобы обеспечить плавное прохождение элементов беклога внутри ART.
- Планируют Интервал Планирования (PI) — PI Планирование создает со-направленность внутри Релизного Поезда. Владельцы Бизнеса предоставляют командам информацию о бизнесе и клиентах. Agile команды разрабатывают и согласовывают с лидерами Поезда свои цели на Интервал Планирования, а также берут за себя ответственность за их достижение в течение предстоящего Интервала Планирования.
Доставка ценности
Релизные Поезда разрабатывают фичи решения в рамках установленной каденции, что подразумевает выполнение важных активностей для «удержания поезда на путях».
Для обеспечения доставки ценности участники поезда:
- Часто интегрируют и тестируют – Быстрый ритм разработки требует частой интеграции и тестирования. Это помогает выявить проблемы с технологиями и реализацией на ранней стадии, а также предоставляет командам достаточно времени для реагирования на выявленные вызовы.
- Разрабатывают инкрементально – ART выполняет свои цели на Интервал Планирования в виде разработки серии небольших инкрементов. Каждый из инкрементов представляет собой небольшую партию интегрированных и протестированных элементов ценности, которые можно продемонстрировать. Каденция итераций ART задаёт ритм для создания этих инкрементов. Разработка каждого инкремента помогает ART узнать о потенциальных проблемах в реализации, получить обратную связь от клиентов и согласовать точку принятия решения с возможными корректировками курса для остальной части PI.
- Регулярно проводят синхронизации и корректировки – Во время выполнения Интервала Планирования у Agile Release Train есть несколько «контрольных точек» в виде мероприятия «Синхронизация Релизного Поезда» (ART Sync), которое включает в себя «Синхронизацию Коучей» (Coaches Sync) и Синхронизацию Владельцев Продукта (PO Sync). Эти регулярные мероприятия помогают увидеть прогресс в достижении текущих целей на Интервал Планирования и своевременно внести изменения при необходимости.
- Создают Конвейер Непрерывной Доставки (CDP) – Чтобы обеспечить более быстрый и надежный поток разработки внутри ART, важно создать конвейер непрерывной доставки (CDP). CDP позволяет командам быстро проводить исследования и интегрировать свою работу с меньшим количеством ошибок для ускорения получений обратной связи. ART, в особенности Архитектор Систем, также следит за тем, чтобы дизайн системы был слабо связан, что позволяло бы командам развёртывать элементы системы независимо друг от друга.
- Организуют процессы выпуска (релизов) – Каждый ART разрабатывает процесс выпуска в соответствии со своим циклом, обеспечивая со-направленность со стратегией, соответствие стандартам, влияние на клиентов и поддержку задач по выпуску. Частые релизы направлены на ускорение вывода продукции на рынок, а последовательный график помогает быстро преодолевать технические препятствия, ускоряя прогресс в достижении целей и повышая удовлетворенность Agile команд внутри ART.
Получение обратной связи
Быстрое получение обратной связи напрямую влияет на повышение пропускной способности ART (скорости разработки): ускорение разработки обеспечивается быстрым обучением и применением полученных знаний, а не «более усердной работой». Обратная связь по применяемым технологиям появляется в результате интеграции и тестирования элементов решения, а также проведения технических спайков (исследований). Обратная связь о ценности продукта поступает от клиентов и заинтересованных лиц со стороны бизнеса.
Для ускорения получения обратной связи участники поезда:
- Измеряют бизнес-результаты и проводят мониторинг использования решения клиентом – Изучая то, как клиент использует решение, ART может выявить проблемы и возможности, которые в противном случае могли бы остаться незамеченными. Создание возможностей для сбора и анализа данных требует инвестиций в ёмкость поезда и упреждающего использования Архитектурного Русла. Кроме того, ART должен постоянно измерять, позволяют ли доставленные решения достичь желаемых бизнес-результатов, что является конечной целью работы ART.
- Регулярно проводят тестирование – Успешная разработка решений зависит от способности ART принимать эффективные решения, базируясь на недостаточной информации. Вместо того, чтобы преждевременно брать на себя обязательства по разработке определенного функционала, ART создает два или более вариантов и проверяет их на пользователях (A/B-тестирование). Такой подход позволяет получить реальное понимание того, какой вариант показывает лучшие результаты.
- Тестируют опыт взаимодействия клиентов с вашим решением – Пользовательский опыт (UX) необходим для полной реализации потенциала решения. Но чтобы обеспечить взаимодействие клиента с решением на высшем уровне, должна быть четкая стратегия UX-дизайна и тестирования. Это включает в себя создание гипотез, разработку и оценку основных (базовых) фич, необходимых пользователям, а также получение другой информации о поведении пользователей.
Неустанные улучшения
ART стремится постоянно совершенствовать практики и взаимодействие, с помощью которых создаётся ценность для клиентов. Существует множество способов измерения и улучшения различных аспектов для достижения этой цели.
Для неустанного создания улучшений участники поезда:
- Измеряют/оценивают компетенции, поток и результаты – Каждый ART должен регулярно оценивать себя по ключевым компетенциям. Релизные Поезда также на постоянной основе отслеживают свой прогресс в достижении намеченных целей и используют техники для улучшения рабочего процесса. Для выявления сложностей и улучшения рабочего процесса Релизные Поезда часто применяют ускорители потока. Кроме того, ART используют ключевые показатели эффективности (KPI) и цели и ключевые результаты (OKR) для измерения результатов, направленных на создание ценности для клиентов и бизнеса.
- Регулярно проводят Инспект-Адапт ( Inspect & Adapt, I&A) – На границе каждого Интервала Планирования у Agile Release Train есть возможность обсудить прошедший PI, выявить проблемы и принять корректирующие меры во время мероприятий «Инспект-Адапт» (I&A). Систематическое проведение мероприятий выявляет существенные сложности и создаёт возможности для улучшений.
- Вносят улучшения «на лету» – Каждый ART регулярно изучает небольшие, локальные, тактические возможности для улучшения. Как правило, лучше всего реализовывать такие небольшие изменения по мере их возникновения, не дожидаясь формального мероприятия по улучшению. Это позволяет добиваться быстрых побед и использовать мероприятие I&A для решения проблем, требующих большего внимания.
- Применяют Итерацию Инноваций и Планирования (Innovation & Planning Iteration, IP Iteration) – Итерация Инноваций и Планирования позволяет выделить время целенаправленно на инновации и обучение. Это помогает ART неустанно совершенствовать свои решения, техническую инфраструктуру и различные процессы.
Статья подготовлена по материалам Scaled Agile, Inc. и не является официальным переводом статьи «Agile Release Train».