Координация и Доставка (Coordinate and Deliver)
Раздел «Координация и доставка» описывает практики, которые Поезд Решения использует для обеспечения со-направленности всех участников, вовлечённых в разработку решения, и повышения глубины взаимодействия между ними. В результате применения этих практик Поезд Решения может непрерывно доставлять ценность клиентам крупного решения.
Множество специалистов из разных областей участвуют в создании и эксплуатации крупного решения. Экспертиза, знания и технические возможности каждого Релизного Поезда (Agile Release Train, ART) и поставщика позволяют обеспечить доставку ценных решений для клиентов. Лидеры Поезда Решения и разработчики должны постоянно координировать свои действия, чтобы достигать стабильных и предсказуемых результатов.
Подходы к обеспечению согласованности
Выравнивание (со-направленность) не является естественным состоянием. Отсутствие согласованности в отношении того, что Решение должно делать, или того, как оно будет реализовано, обходится очень дорого. При создании действительно больших систем каждый потерянный день влечёт за собой значительные финансовые потери и оказывает негативное влияние на бизнес. Традиционный подход к достижению со-направленности заключается в предварительном создании подробных спецификаций и чёткого графика выполнения работ. К сожалению, такой подход не решает проблему. Кроме этого, традиционный подход оказывает негативное влияние на развитие бизнеса организации, поскольку он:
- Сдерживает инновации
- Ограничивает возможности для изучения альтернатив
- Не допускает внесения корректировок на основе новых полученных знаний и обратной связи
В целом, традиционный подход не помогает снизить риски. Поэтому, для создания крупных решений, требующих высокой степени инноваций и содержащих значительную неопределённость, необходим иной подход. Вместо однократного согласования требований на начальном этапе при традиционном подходе, разработчики систем должны непрерывно выравнивать (со-направлять) своё понимание относительно того, что именно должна делать система и как она должна это делать.
Первым шагом к созданию со-направленности является применение единой каденции (единого ритма) для создания и развертывания решений. В зависимости от меняющихся данных, локальных знаний и контекста Релизные Поезда (Agile Release Train, ART) и поставщики могут понимать и видеть решение по-разному. Но единые для всех границы Интервала Планирования (Planning Interval, PI) помогают со-направлять и выравнивать понимание всех участников, как показано в левой части рисунка 1. При этом отклонение внутри одного Интервала Планирования также может привести к значительным потерям и повышенным рискам. Поэтому дополнительно к единым временным рамкам Интервала Планирования все, кто участвуют в создании решения, должны часто, почти непрерывно выравниваться, как показано в правой части рисунка 1.
Рисунок 1. Непрерывное выравнивание необходимо для Поезда Решения
Поезд Решения применяет два механизма для создания и поддержания со-направленности на протяжении всего Интервала Планирования (PI), как показано на рисунке 2.:
- Артефакты Поезда Решения определяют и информируют о намерении решения и прогнозируемых планах, помогая Agile командам, Релизным Поездам (ART) и поставщикам принимать обоснованные решения на локальном уровне.
- Мероприятия и активности Поезда Решения предоставляют возможности для частого выравнивания, проведения оценки и внесения корректировок.
Рисунок 2. Артефакты и мероприятия Поезда Решения выравнивают Релизные Поезда и поставщиков во время выполнения Интервала Планирования (PI)
Далее в статье мы разберем более подробно эти артефакты и мероприятия.
Выравнивание с помощью артефактов Поезда Решения
Релизные Поезда (ART) и команды должны обладать техническими знаниями и иметь ясную организационную структуру для принятия обоснованных решений на локальном уровне (см. Принцип #9 – Децентрализация принятия решений). Артефакты Поезда Решения обеспечивают ясность, определяя и транслируя Интент (намерение) разрабатываемого решения. Они также гарантируют, что все, кто вовлечён в разработку решения, имеют единые видение, цели и задачи.
Основными артефактами Поезда Решения являются:
- Видение Решения (Solution Vision) – определяет предназначение решения и то, как оно удовлетворяет потребности клиентов
- Интент (намерение) Решения (Solution Intent) – поддерживает и транслирует требования решения и спецификации по дизайну
- Дорожная Карта Решения (Solution Roadmap) – отражает важные события/вехи и видимость развития решения на более отдалённую перспективу в будущем
Менеджеры Решения и Архитекторы Решения отвечают за постоянное развитие этих артефактов. И по мере того, как Релизные Поезда (ART) и поставщики создают решение, они корректируют артефакты на основе вновь появляющихся данных. Все участники разработки Решения используют эту информацию для управления своими локальными беклогами и дорожными картами, работая при этом максимально быстро и независимо.
Выравнивание с помощью мероприятий Поезда Решения
Активности, показанные на рисунке 3, помогают поддерживать со-направленность (выравнивание) во время разработки решения. Каждая из них описана далее в этой статье.
Пре-Планирование
Подготовка к PI Планированию играет важную роль для выравнивания участников Поезда Решения (Solution Train). В статье «Пре-планирование» описывается, как на основе текущего состояния решения Поезд Решения выравнивает и корректирует цели перед мероприятием.
Планирование Интервала Планирования для Поезда Решения
Во время PI-Планирования Поезд Решения должен со-направить свои Релизные Поезда (ART) и поставщиков в соответствии с общим планом на предстоящий Интервал Планирования. Мероприятия планирования Релизных Поездов, которые входят в Поезд Решения, могут проводиться совместно как одно большое мероприятие «PI Планирование Поезда Решения» (Solution Train PI Planning) или отдельно для каждого Релизного Поезда. В любом случае PI Планирование Поезда Решения является чрезвычайно важным мероприятием по синхронизации всех поездов и поставщиков. На рисунке 3 показан шаблон проведения двухдневного PI Планирования Поезда Решения, который можно использовать для выравнивания Релизных Поездов во время самого мероприятия.
Рисунок 3. Шаблон проведения PI Планирования Поезда Решения
Этот вариант проведения PI Планирования Поезда Решения начинается с выступления лидеров Поезда Решения и презентации бизнес-контекста всем командам всех Релизных Поездов. Далее Релизные Поезда (ART) продолжают свой первый день PI Планирования в соответствии с программой проведения мероприятия на уровне ART (выступления продуктовой команды и представление архитектурного видения, прорывы команд и т. д.).
В конце 1-го дня PI Планирования лидеры каждого Релизного Поезда проводят свою мастерскую «Рассмотрение на уровне менеджмента и решение проблем». После этого представители каждого Поезда сообщают о своих текущих результатах планирования на мероприятии «Рассмотрение со стороны Менеджмента Поезда Решения». Это позволяет скоординировать изменения в планировании для всех вовлечённых поездов.
Во 2-й день лидеры Релизных Поездов представляют своим командам согласованные корректировки, и PI Планирование продолжается в соответствии с программой 2-го дня мероприятия. В конце 2-го дня на весь Поезд Решения проводятся общие «слушания» результатов планирования отдельных поездов. Таким образом, все участники совместно видят финальный общий план Поезда Решения.
Представленный шаблон является одним из вариантов проведения PI Планирования Поезда Решения. Помимо этого, существуют другие опции, которые могут применяться исходя из существующих зависимостей между Релизными Поездами, последовательности планирования и логистических соображений. Например, если Релизным Поездам необходимо провести планирование в разные дни или недели, то возможно потребуется записать выступления по бизнес-контексту и финальным планам на видео и затем продемонстрировать их другим командам Поезда Решения.
Во время планирования команды создают Доску Планирования Поезда Решения (рис. 4). Эта доска похожа на Доску Планирования Релизного Поезда (Agile Release Train, ART), но фокусируется на Капабилити, которые необходимо доставить.
Рисунок 4. Пример Доски Планирования Поезда Решения
Релизные Поезда и поставщики в Поезде Решения зависят друг от друга при доставке различных элементов решения. Поскольку каждая зависимость между Поездами в конечном итоге является зависимостью между командами, некоторые Поезда Решения создают более подробную Доску Планирования, которая показывает зависимости на уровне команд (рис. 5).
Рисунок 5. Доска Планирования Поезда Решения с выявленными зависимостями между командами
После того, как планирование Релизных Поездов завершено, Инженер Поезда Решения (Solution Train Engineer, STE) взаимодействует с лидерами Поезда Решения и Релизных Поездов, чтобы агрегировать цели Релизных Поездов на Интервал Планирования в цели Поезда Решения на PI. В результате создаётся план на Интервал Планирования для Поезда Решения. Этот план отражает, какие Капабилити планируется реализовать за предстоящий Интервал Планирования.
Частая интеграция
Для Agile разработки необходимо быстро получать обратную связь. Это, в свою очередь, требует часто проводить интеграцию элементов решения. Однако объём разработки, ее сложность и комплексность, зависимость от внешних поставщиков, соответствие регуляторным требованиям, а также многое другое значительно затрудняют частую интеграцию крупных решений.
Кроме того, переход на практики и техники DevOps часто затрудняется из-за наличия устаревших технологий, тесно связанных компонентов и сочетания ручных и автоматизированных процессов осуществления сборок и тестирования. Помимо этого, для киберфизических систем часто требуется аппаратное обеспечение и материалы, которые дополнительно увеличивают время выполнения интеграции.
Несмотря на эти возможные препятствия, частая интеграция необходима для получения обратной связи и внесения корректировок. Такой подход позволяет снизить риски при разработке крупного решения. Безусловно, моделирование, симуляции и высокоуровневые прототипы являются быстрыми и экономичными способами получения информации на ранних этапах жизненного цикла продукта. Но эти техники не отменяют необходимость физической интеграции. Возможность проведения частой интеграции требует долгосрочной стратегии, инвестиций в архитектуру решения, модернизацию технологий и создание автоматизированного и сквозного Конвейера Непрерывной Доставки (Continuous Delivery Pipeline, CDP).
Кроме этого, когнитивная нагрузка и инфраструктура, необходимые для интеграции многих систем, часто слишком велики для отдельных команд разработчиков. Проблема решается благодаря Командам Системы, работающим на уровнях Релизного Поезда (ART) и Поезда Решения (Solution Train), которые помогают создавать и поддерживать большую часть инфраструктуры и систем автоматизации для Непрерывной Интеграции (Continuous Integration, CI) и Непрерывного Развертывания (Continuous Deployment, CD) (рис. 6). Команды Системы помогают получать быструю обратную связь относительно изменений, предоставляя:
- Автоматизацию для создания, интеграции и тестирования системы на всех уровнях
- Надлежащие среды, позволяющие командам тестировать свою часть системы
- Телеметрию по всему конвейеру для измерения производительности и обнаружения проблем
Рисунок 6. Частая интеграция сквозного решения с помощью Конвейера Непрерывной Доставки, включающего в себя Интеграцию и Развертывание (CI/CD)
Регулярная синхронизация
Поезд Решения — это «вложенные» команды команд. Высокопроизводительные команды создают высокопроизводительные Релизные Поезда, которые в свою очередь создают высокопроизводительные Поезда Решений.
Масштабирование добавляет технические и социальные сложности, которые могут блокировать работу команд. Поэтому для Релизных Поездов и команд необходимо иметь механизмы для эффективной коммуникации и быстрого выявления рисков и препятствий. Такой подход позволяет поддерживать непрерывное выравнивание внутри Поезда Решения. Безусловно, любая команда может взаимодействовать с любой другой командой и в любое время. Однако для частого выравнивания и минимизации расхождений важно регулярно проводить мероприятия по синхронизации. (рис. 7).
Рисунок 7. Команды и Релизные Поезда проводят регулярные мероприятия по синхронизации для координации разработки и доставки на основе каденции
Как и Agile Release Train, Поезд Решения проводит мероприятия по синхронизации, которые обеспечивают регулярную связь и координацию. Их цель — «засветить» проблемы и обсудить, что необходимо для продолжения работы и как можно помочь командам в решении проблем.
К мероприятиям по синхронизации Поезда Решения относятся:
- Синхронизация RTE (RTE Sync) – Аналогично мероприятию «Синхронизация Коучей» (Coach Sync), RTE Sync обычно проходит с той же периодичностью, что и Coach Sync. RTE Sync проводится вскоре после Coach Sync для решения проблем, которые не могут быть решены непосредственно на уровне Релизных Поездов (ART). Участники этого мероприятия: Инженер Поезда Решения (Solution Train Engineer, STE), Инженеры Релизного Поезда (Release Train Engineers, RTE), отдельные Cкрам Мастера/Коучи Команд и другие эксперты в зависимости от повестки встречи.
- Синхронизация Менеджеров Продукта (Product Manager Sync) – Аналогично мероприятию «Синхронизация Владельцев Продукта» (PO Sync), Product Manager Sync обычно проходит с той же периодичностью, что и PO Sync. PM Sync проводится вскоре после PO Sync для озвучивания и решения проблем, которые возникли на уровне Релизных Поездов (ART). Участники: Менеджеры Решения, Менеджеры Продукта, отдельные Владельцы Продукта и другие лица в зависимости от повестки встречи.
- Синхронизация Архитекторов (Architect Sync) – это мероприятие Поезда Решения, используемое для управления развивающимся дизайном. На нём участники обсуждают компромиссы и возможности для выравнивания подходов к реализации, а также способы как «самим не стать источником задержек». Участники: Архитекторы Решения, Архитекторы Систем и представители команд. Это мероприятие также могут посещать Архитекторы Предприятия.
Участники мероприятий по синхронизации могут варьироваться. Архитекторы также часто посещают PM Sync, чтобы внести свой вклад или почерпнуть новые знания из обсуждений. Точно также Менеджеры Продукта могут участвовать в Architect Sync. Каждое мероприятие, как правило, проводится еженедельно, с учётом расписания существующих других мероприятий отдельных поездов. Цель состоит в том, чтобы управлять изменениями, устранять препятствия и принимать решения о ходе выполнении работ. По аналогии с «Синхронизацией Релизного Поезда» (ART Sync) мероприятия RTE Sync, PM Sync и Architect Sync могут быть объединены в единое мероприятие «Синхронизация Поезда Решения» (Solution Train Sync), если темы обсуждений пересекаются.
Демонстрация Полного Решения
Вместо того, чтобы измерять прогресс с помощью отслеживания формального закрытия этапов, графиков выполнения работ и других прокси-показателей доставки ценности, лидеры вносят свой вклад и дают обратную связь со своей стороны непосредственно во время мероприятий-демонстраций. Демонстрации Решения являются одним из таких важных мероприятий, на которых заинтересованные лица могут увидеть реальные результаты работы и объективно оценить результаты на основе работающего крупного решения. Эти демонстрации, как правило, проводит Менеджмент Решения, что позволяет обеспечить надлежащее обсуждение и объяснение новых капабилити (возможностей).
Координация Выпусков (Релизов)
В идеальной среде Agile команды и Релизные Поезда (ART) независимо друг от друга развёртывают и выпускают небольшие инкременты ценности. Однако у крупных решений есть некоторые сложности, которые препятствуют частому развёртыванию и выпуску:
- Функциональные зависимости между фичами, которые разрабатывают Релизные Поезда и Поставщики, могут потребовать дополнительной координации.
- Длительные сроки реализации для компонентов киберфизических систем при использовании их поставщиками водопадных подходов могут потребовать дополнительной координации релизов.
- Маркетинговые мероприятия могут определять даты выпуска и поощрять выпуск новой функциональности большими партиями, чтобы привлечь внимание к этим решениям, имеющим высокий уровень капиталовложений.
Дорожная Карта Решения и Доска Планирования Поезда Решения помогают поддерживать со-направленность, чётко информируя о датах выпуска и зависимостях. Чтобы отслеживать и координировать зависимую работу в Поезде Решения, STE и RTE взаимодействуют с Менеджментом Решения и Менеджментом Продукта. В результате Релизные Поезда скоординировано выпускают ценность на уровне всего крупного решения.
Инспект-Адапт (Inspect & Adapt)
Неустанное улучшение является одной из четырех базовых ценностей SAFe. Для реализации неустанного улучшения необходимо выделять время и обеспечивать пространство для людей, которые вовлечены в разработку крупного решения. Поезд Решения выигрывает, если его Релизные Поезда применяют практики непрерывного улучшения, включая проведения таких мероприятий как Ретроспективы на уровне команд и Инспект-Адапт (Inspect and Adapt, I&A) на уровне Поезда. При этом, некоторые препятствия, выявленные на мероприятиях уровня отдельного релизного поезда, могут потребовать отдельного внимания на уровне Solution Train.
Поезда Решений слишком большие, чтобы все члены команд всех ART могли участвовать в одном мероприятии по улучшению поезда решения, таком как общий Инспект-Адапт (Inspect & Adapt, I&A.) По этой причине в зависимости от темы в Инспект-Адапт Поезда Решения участвуют отдельные представители поездов. Для повышения эффективности мероприятия Релизные Поезда сами определяют своих представителей, или они определяются на основе приглашений.
Статья подготовлена по материалам Scaled Agile, Inc. и не является официальным переводом статьи «Coordinate and Deliver».