Essential SAFe
Простота – искусство максимизации объема невыполняемой работы – крайне необходима.
Манифест Гибкой Разработки (Agile Manifesto)
В своей работе я регулярно сталкиваюсь с точкой зрения, что Scaled Agile Framework (SAFe) достаточно сложен для понимания, поскольку там «очень много всего». Это справедливо только отчасти, поскольку SAFe — это фреймворк масштабирования для любого объёма разработки, в том числе, когда речь идет об участии в Разработческих потоках ценности тысяч и тысяч человек, работающих над разными продуктами, что само по себе может быть очень непростой управленческой задачей.
Но, с другой стороны, SAFe не требует, как некоторые другие Agile подходы, строгого соблюдения всех 100% своих техник и практик, так как они не всегда и не всем нужны на практике. В результате можно говорить о том, что сам SAFe фреймворк масштабный, и минимальный масштаб, который называется «Essential SAFe (Базовый SAFe)», содержит достаточно простой набор элементов.
Используется Базовый SAFe (Essential SAFe), когда стоит задача организовать (во фреймворке используется глагол «to align» или «выравнять», «со-направить») относительно небольшое количество команд вокруг разработки одного или группы связанных продуктов для существующей организации со своим ИТ-ландшафтом.
Базовый SAFe (Essential SAFe) содержит готовую модель управления для создания одного или нескольких не связанных между собой объединений команд, «команды команд», которые фреймворк именует «Релизный Поезд Agile (Agile Release Train, ART)». Ниже представлен неофициальный перевод статьи SAFe, описывающий все элементы этой минимальной конфигурации.
По нашему опыту, конфигурация Базовый SAFe (Essential SAFe) становится работоспособной без излишних накладных расходов от 3 Agile команд и выходит на максимальную эффективность, когда в Поезде совместно работают от 5 до 12 Agile команд (размер команды при этом ограничивается рекомендацией Скрама – до 11 человек включительно, считая Владельца Продукта и Скрам Мастера). — Алексей Ионов, Executive Lean-Agile коуч.
Что такое Essential SAFe (Базовый SAFe)?
Базовый SAFe (Essential SAFe) содержит минимальный набор элементов, позволяющих Релизным Поездам Agile доставлять решения. Эта конфигурация служит отправной точкой для внедрения Scaled Agile Framework.
Являясь отправной точкой в путешествии в SAFe, конфигурация «Essential SAFe» не включает компетенцию «Доставка (крупного) Решения уровня Предприятия» и вопросы портфельного управления.
Релизный Поезд Agile (Agile Release Train, ART) является «сердцем» Базового SAFe. Релизные Поезда — это виртуальные организации, созданные для того, чтобы преодолеть функциональные границы, исключить ненужные действия и возникающие при передаче информации сложности, а также чтобы ускорить доставку ценности путем использования принципов и практик SAFe на основе Lean-Agile мышления.
Конфигурация Базового SAFe (рисунок 1) включает в себя следующие концепции:
- Фундамент, который включает в себя Lean-Agile Мышление, Основные ценности, Принципы SAFe, Дорожную карту внедрения, роль SPC и две ключевые компетенции:
- Lean-Agile Лидерство описывает, как Lean-Agile лидеры стимулируют и поддерживают организационные изменения и операционное совершенство, предоставляя отдельным лицам и командам возможность реализовать свой максимальный потенциал.
- Культура Непрерывного Обучения описывает набор ценностей и практик, которые побуждают отдельных лиц и предприятие в целом постоянно повышать знания, компетентность, производительность и инновации.
- Две ключевые компетенции, отвечающие за доставку ценности:
- Командная и Техническая Гибкость описывает критически важные навыки, а также принципы и практики Lean-Agile, которые высокопроизводительные Agile команды и команды Agile команд используют для создания высококачественных решений для своих клиентов.
- Agile Доставка Продукта — это клиентоцентричный подход к определению, созданию и выпуску непрерывного потока ценных продуктов и услуг для клиентов и пользователей.
- Роли, артефакты и мероприятия, необходимые для Базового SAFe.
- Минимальная перекрывающая палитра практик и техник, которые многократно применимы на всех масштабах этой конфигурации.
Рисунок 1: Конфигурация Essential SAFe
Essential SAFe состоит из соответствующих ролей, артефактов, событий и мышления, которые позволяют Релизным Поездам Agile доставлять одно или несколько желаемых (востребованных), осуществимых, жизнеспособных и устойчивых решений. Agile Release Train является долгосрочной, самоорганизующейся, основанной на потоке командой Agile команд. Это концепция «питает» SAFe и в итоге обеспечивает гибкость бизнеса (business agility). Большинство поездов являются виртуальными организациями, которые перекрывают организационные и географические границы. Однако некоторые из них встраиваются в структуру управления по направлениям бизнеса или продуктовую линейку.
Essential SAFe является отправной точкой для запуска Scaled Agile Framework® (SAFe). Кроме этого, существует десять критически важных факторов успеха SAFe трансформации. Их соблюдение в организации необходимо для того, чтобы Релизный Поезд Agile (Agile Release Train, ART) смог реализовать большинство преимуществ фреймворка (см. последний раздел этой статьи).
Основные концепции Essential SAFe
Основные концепции Базового SAFe (Essential SAFe) включают в себя:
- Релизный Поезд Agile (Agile Release Train, ART) – это долгосрочная команда Agile-команд, которая инкрементально разрабатывает, доставляет и, где это применимо, эксплуатирует и поддерживает одно или несколько Решений, относящихся к одному потоку создания ценности.
- Непрерывный Конвейер Доставки (Continuous Delivery Pipeline) – описывает рабочие процессы, действия и автоматизацию, необходимые для обеспечения постоянного выпуска ценности для конечного пользователя.
- Клиентоцентричность (Customer Centricity) – это мышление и способ ведения бизнеса, который фокусируется на создании положительного опыта для клиента
- Дизайн-Мышление (Design Thinking) – это итеративный процесс разработки решения. Он позволяет создавать востребованное у клиентов решение и обеспечивает при этом осуществимость, экономическую жизнеспособность и устойчивость этого решения на протяжении всего его жизненного цикла.
- Lean UX — Бережливый опыт пользователя — это образ мышления, культура и процесс, которые охватывают методы Lean-Agile. LeanUX реализует функциональность с помощью разработки минимальных жизнеспособных инкрементов. При таком подходе успех определяется сравнением полученных результатов разработки с ранее сформулированной гипотезой выгоды.
- Интервал Планирования (Planning Interval, PI) – — это фиксированный временной интервал, в течение которого Agile Release Train (ART) непрерывно доставляет ценность для достижения своих целей за Интервал Планирования (PI Objectives). Примечание: Интервал Планирования – это термин, введенный во фреймворк с новой версией SAFe 6. Этот термин заменяет ранее использовавшийся термин Инкремент Программы (Program Increment, PI)
- Итерации (Iterations) – это фиксированный интервал времени, который обеспечивает каденцию (ритм) разработки для Agile команд, создающих решения. Примечание: «Итерация» — термин Экстремального Программирования, XP, Скрам в свою очередь использует термин «Спринт»; оба термина можно использовать как смысловые синонимы.
- Итерация Инноваций и Планирования (Innovation and Planning «IP» Iteration) – предоставляет командам возможность для проведения исследований и работы над инновациями, выделенное время для планирования и обучения путем организации как формальных, так и неформальных мероприятий.
- SAFe Scrum – это легковесный процесс для Agile команд, позволяющий непрерывно доставлять ценность. Большинство SAFe команд используют SAFe Scrum для организации своей работы, включая практики встроенного качества.
- SAFe Team Kanban – это Lean-Agile метод, который помогает командам повысить эффективность внутреннего потока ценности путем визуализации рабочего процесса, установления ограничений для незавершенной работы (Work in Process, WIP), измерения пропускной способности и постоянного улучшения своего процесса.
- Встроенное Качество (Built-In Quality) –практики, обеспечивающие, чтобы разработка бизнес-функций или работа технологических команд соответствовали соответствующим стандартам качества на протяжении всего процесса создания ценности для клиентов.
- DevSecOps – это мышление, культура и набор технических практик. DevOps обеспечивает коммуникацию, интеграцию, автоматизацию и тесное сотрудничество между всеми людьми, которые необходимы для планирования, разработки, тестирования, развертывания, выпуска и обслуживания системы.
- Поток Поезда (ART Flow) – состояние, при котором Релизный Поезд непрерывно доставляет ценность клиентам.
- Поток Команды (Team Flow) – состояние, при котором Agile Команды непрерывно доставляют ценность клиентам.
Роли Essential SAFe
Релизные Поезда Agile (Agile Release Train, ART) — это самоуправляемые и самоорганизующиеся команды Agile-команд, которые вместе планируют, берут на себя обязательства и выполняют их. Существуют роли внутри Agile Команды и дополнительные роли Релизного Поезда Agile, которые помогают управлять и направлять поезд, выравнивать команды в соответствии с общей миссией и обеспечивать необходимое бережливое управление:
Роли Релизного Поезда Agile
- Продуктовый Менеджмент (Product Management) – отвечает за определение и поддержку создания желаемых, осуществимых, жизнеспособных и устойчивых продуктов, отвечающих потребностям клиентов на протяжении всего жизненного цикла продукта и рынка.
- Архитектор Систем (System Architect) – это отдельный сотрудник или небольшая междисциплинарная команда, которая применяет Принцип No 2 — «Применять системное мышление». Архитекторы определяют общую архитектуру систем, помогают выявить нефункциональные требования (NFR), установить важные элементы и подсистемы, а также помогают проектировать интерфейсы и взаимодействия между ними.
- Инженер Релизного Поезда (Release Train Engineer, RTE) — является лидером-слугой и главным Скрам-мастером / Коучем Команд поезда. RTE фасилитирует оптимизацию потока ценности, обеспечивая правильное проведение мероприятий Поезда (например, Инспект-Адапт/Inspect & Adapt (I&A), Синхронизация Поезда, PI Планирование) и эффективное применение артефактов поезда (например, Канбан Поезда).
- Владельцы Бизнеса (Business Owners) – представляют собой небольшую группу заинтересованных лиц, которые несут бизнес и техническую ответственность за решение, которое разрабатывается Поездом. В частности, они отвечают за пригодность Решения для использования, управление и окупаемость инвестиций (ROI). Владельцы Бизнеса являются основными стейкхолдерами Agile Release Train и активно участвуют в мероприятиях Поезда.
Роли Agile Команды
- Agile Команды (Agile Teams) – это кросс-функциональные группы до 10 человек, которые могут определять, разрабатывать, тестировать и развертывать инкремент ценности за короткий промежуток времени. Каждый Agile Release Train состоит из 5–15 Agile команд и включает в себя роли и инфраструктуру, необходимые для доставки полностью работающих и протестированных бизнес-решений.
- Владелец Продукта (Product Owner, PO) – отвечает за содержание беклога команды, а также за определение историй и расстановку приоритетов в беклоге.
- Скрам Мастер / Коуч Команды (Scrum Master / Team Coach) – является лидером-слугой и коучем agile-команды. Скрам Мастер помогает команде устранять препятствия, фасилитирует командные мероприятия и способствует созданию среды для высокоэффективных команд.
Мероприятия Essential SAFe
В Essential SAFe включены разные мероприятия, которые помогают координировать поезда и команды:
Мероприятия Agile Release Train
- PI Планирование (PI Планирование, PI Planning) – это мероприятие по планированию, основанное на каденции и личном общении. PI Planning является сердцебиением Agile Release Train и выравнивает все команды в поезде в соответствии с общей миссией.
- Демонстрация Системы (System Demo) – обеспечивает интегрированное представление новых фич, которые были доставлены всеми командами поезда за самую последнюю итерацию. Каждая демонстрация предоставляет заинтересованным лицам Agile Release Train объективную оценку прогресса во время Интервала Планирования (PI).
- Инспект-Адапт (Inspect & Adapt) – является важным мероприятием, на котором демонстрируется и оценивается текущее состояние решения. Затем команды анализируют результаты и проводят мастерскую по решению проблем (Problem-Solving Workshop). В рамках мастерской они определяют элементы улучшения и вносят их в свой беклог.
- Синхронизация Коучей (Coach Sync) –мероприятие помогает координировать зависимости внутри Поезда и обеспечивает видимость прогресса и препятствий. Примечание: Синхронизация Коучей – это новый термин версии SAFe 6. Он заменяет предыдущее название мероприятия – Scrum of Scrum (SoS).
- Синхронизация Владельцев Продукта (PO Sync) обеспечивает видимость того, насколько хорошо Agile Release Train продвигается к достижению целей Интервала Планирования на уровне Поезда. Po Sync также помогает обсудить проблемы или возможности, связанные с разработкой фич, и оценить любые корректировки в области объема работ.
- Синхронизация Поезда (ART Sync) – объединяет 2 мероприятия поезда – Coach Sync и PO Sync — в одно событие ART Sync.
Мероприятия Agile Команды
Команды SAFe Scrum и некоторые команды SAFe Kanban управляют своим процессом с помощью серии регулярных мероприятий. Как правило, к ним относятся следующие:
- Планирование Итерации (Iteration Planning) – это мероприятие, на котором Agile команда определяет цели итерации и те элементы беклога, за выполнение которых она берет на себя обязательства на предстоящую итерацию. Емкость команды определяет количество историй и энейблеров, которые берутся в Итерацию.
- Обзор Итерации (Iteration Review) – мероприятие на основе каденции проходит в конце каждой итерации. На нем команда просматривает результаты предыдущего инкремента и корректирует беклог команды на основе обратной связи.
- Ретроспектива Итерации (Iteration Retrospective) – это мероприятие проводится в конце итерации для Agile команды. Цель — проанализировать свои практики и определить способы улучшения. Ретроспектива основана на качественной и количественной информации, которая была представлена на мероприятии «Обзор Итерации».
- Уточнение Беклога (Backlog refinement) – это мероприятие проводится один или два раза за время итерации для уточнения, рассмотрения и оценки будущих историй и энейблеров в беклоге команды.
- Синхронизация Команды (Team Sync) – короткое ежедневное мероприятие команды (не более 15 минут). Team Sync позволяет команде видеть свой прогресс в достижении целей итерации, обмениваться информацией, синхронизировать свои действия и корректировать предстоящие работы. Примечание: Синхронизация Команды – это новый термин версии SAFe 6. Он заменяет предыдущее название мероприятия – Daily Stand-Up.
Артефакты Essential SAFe
Следующие элементы Базового SAFe (Essential SAFe) помогают Релизному Поезду (Agile Release Train) координировать свои действия и доставлять результаты работы:
Артефакты Agile Release Train
- Фичи (Features) — это сервисы, которые удовлетворяют потребности заинтересованных лиц. Каждая из них имеет название, гипотезу выгоды и критерии приемки. Их разработка должна умещаться в Интервал Планирования (PI).
- Фичи Энейблеры (Enabler Features) – поддерживают действия, необходимые для расширения Архитектурного Русла. Основная цель Фич Энейблеров — обеспечить разработку будущих бизнес-фич. Фичи Энейблеры бывают 4-х типов: исследования, архитектура, инфраструктура и соответствие регуляторным требованиям.
- Эпики Поезда (ART Epics) — это эпики, которые может доставить один поезд (Agile Release Train, ART).
- Цели Поезда на Интервал Планирования (ART PI Objectives) – описывают конкретные бизнес и технические цели (результаты), которые Agile Release Train намерен достичь в предстоящей Интервал Планирования (PI).
- Беклог Поезда (ART Backlog) – это место хранения будущих Фич, которые предназначены для удовлетворения потребностей пользователей и доставки бизнес-преимуществ для одного Релизного Поезда Agile (Agile Release Train). Беклог Поезда также содержит Фичи Энейблеры, необходимые для создания Архитектурного Русла.
- Видение (Vision) – это описание будущего состояния разрабатываемых решений. Видение отражает потребности клиентов и заинтересованных лиц, а также фичи, предлагаемые для их удовлетворения.
- Архитектурное Русло (Architectural Runway) – состоит из существующего кода, компонентов и технической инфраструктуры, которые необходимы для реализации приоритетных фич в самые короткие сроки, без чрезмерного редизайна и задержек.
- Решение (Solution) – это продукт, услуга или система, которые Релизные Поезда Agile доставляют клиентам, как внутренним, так и внешним по отношению к предприятию.
- Контекст Решения (Solution Context) – описывает, как система будет взаимодействовать, упаковываться и развертываться в своей операционной (окружающей, внешней) среде.
Артефакты Agile команды
- Истории (Stories) – предоставляют краткое описание небольшого фрагмента желаемого функционала, написанное на языке пользователя.
- Истории Энейблеры (Enabler stories) – обеспечивают необходимую работу в части исследований, создания инфраструктуры, архитектурных элементов или обеспечения соответствия регуляторным требованиям, которая необходима для другой Истории или Фичи в целом.
- PI Цели Команды (Team PI objectives) – это краткое описание конкретных бизнес- и технических целей, которые конкретная Agile команда намерена достичь в предстоящий Интервал Планирования (PI).
- Беклог команды (Team backlog) – состоит из пользовательских (бизнес) Историй и Историй Энейблеров. Большинство историй определяются в ходе двух мероприятий: PI Планирование и Уточнение Беклога.
Перекрывающая Палитра
- Видение — это описание будущего состояния разрабатываемых решений. Видение отражает потребности клиентов и заинтересованных лиц, а также фичи и капабилити, предлагаемые для их удовлетворения
- Дорожная Карта – отражает результаты, которых планирует доставить Релизный Поезд и поток ценности, и основные вехи в течение определенного периода времени;
- Команда Системы — Agile-команда, которая помогает в создании и использовании конвейера непрерывной доставки и, при необходимости, валидирует производительность комплексной системы.
Десять важнейших факторов успеха в SAFe трансформации
SAFe доказал свою способность к масштабированию в любых ситуациях, от разработки сложного (комплексного) программного обеспечения и систем до торговли облигациями, от производства медицинских устройств до разработки чипов памяти и создания истребителей. Но с таким хорошо проработанным фреймворком возникает вопрос: в каком объёме и насколько строго организация должна следовать практикам Базового SAFe (Essential SAFe), чтобы получить желаемый результат?
К тому же, при диагностике проблем перехода на SAFe иногда становится очевидным, что предприятия скорее всего пропустили или прекратили выполнение некоторых из критически важных практик.
В завершении статьи представлены 10 критически важных элементов, которые необходимы для успешного внедрения Scaled Agile Framework в организации.
Рисунок 2. Десять важнейших факторов успеха в SAFe трансформации
#1 – Lean-Agile Принципы
Практики SAFe основаны на фундаментальных Lean-Agile Принципах. По мере того, как организации переходят на SAFe, они непрерывно стремятся к улучшениям. И это позволяет им находить всё более эффективные способы работы. Знание принципов направляет усилия по улучшению и гарантирует, что корректировки движутся к достижению «кратчайших устойчивых сроков выполнения (shortest sustainable lead time), с наилучшим качеством и максимальной ценностью для людей и общества».
#2 – Настоящие Agile Команды и Поезда
Настоящие Agile команды и Релизные Поезда Аgile (Agile Release Train) полностью кросс-функциональны и могут определять, разрабатывать и тестировать свою работу. У них есть все и всё для создания работающего, протестированного инкремента решения. Они являются самоорганизующимися и самоуправляемыми, что позволяет ценности проходить по потоку быстрее, с минимальными накладными расходами.
#3 – Каденция и Синхронизация
Каденция задает ритм, который обеспечивает стабильное (устойчивое, ровное) сердцебиение для процесса разработки. Это позволяет обеспечить гарантированную регулярность выполнения для рутинных операций. Синхронизация позволяет одновременно понимать и принимать различные подходы и решения для большого количества разных участников потока. Например, синхронизация используется для объединения различных активов системы для оценки её жизнеспособности на уровне решения.
#4 – PI Планирование
Ни одно событие не является более значимым в SAFe, чем PI Планирование (PI Planning). Оно обеспечивает ритм для Agile Release Train и связывает стратегию с выполнением, обеспечивая согласованность и со-направленность бизнеса и технологий. Выравнивание всего Релизного Поезда в соответствии с единым видением и общими целями дает важную энергию, осмысленность и единое понимание задачи.
#5 – Клиентоцентричность, DevOps и Выпуск по Требованию
Предприятия SAFe создают положительный опыт для клиентов в рамках всех своих продуктов и услуг. Они принимают мышление и культуру DevOps, применяют технические практики, чтобы обеспечить более частые и более качественные выпуски (релизы) в соответствии с требованиями рынка. Эти методы обеспечивают более быструю проверку гипотез и приносят большую прибыль, обеспечивают повышенную вовлеченность сотрудников и создают более удовлетворенных клиентов.
#6 – Демонстрация Системы (System Demo)
Основным показателем прогресса Agile Release Train являются объективные доказательства работающего решения, представленного на мероприятии «Демонстрация Системы». Каждые две недели полная система (интегрированный результат работы всех команд в поезде за последнюю завершенную итерацию) демонстрируется заинтересованным лицам поезда. Заинтересованные лица дают обратную связь, необходимую поезду, чтобы не сбиться с курса и принять соответствующие меры. Это заменяет другие формы управления, которые обычно создают дополнительную работу и замедляют поток.
#7 – Инспект-Адапт (Inspect and Adapt, I&A)
Инспект-Адапт (I&A) является важным событием, которое проводится каждый Интервал Планирования (PI). Это время для размышлений, сбора данных и решения проблем. Мероприятие собирает команды и заинтересованных лиц, чтобы оценить решение и определить, что нужно и можно улучшить. В течение I&A определяются конкретные действия, которые необходимы для повышения скорости, качества и надежности следующего Интервала Планирования (PI).
#8 – Итерация Инноваций и Планирования (IP Iteration)
Итерация инноваций и планирования (IP Итерация) происходит в рамках каждого Интервала Планирования (PI) и служит нескольким целям. Она действует как своего рода буфер для повышения уровня достижения Целей за Интервал Планирования (PI Objectives) и предоставляет выделенное время для инноваций, непрерывного обучения, проведения таких мероприятий как PI Планирование (PI Planning) и Инспект-Адапт. (Inspect & Adapt). Деятельность в рамках IP Итерации позволяет реализовать многие принципы Lean-Agile, которые обеспечивают гибкость бизнеса.
#9 – Архитектурное Русло (Architectural Runway)
Архитектурное Русло состоит из существующего кода, компонентов и технической инфраструктуры, которые необходимы для поддержки ближайшей реализации приоритетных фич в самые короткие сроки, без чрезмерного редизайна и задержек. Недостаточные инвестиции в Архитектурное русло замедляют движение Поезда и делают доставку Релизным Поездом менее предсказуемой.
#10 – Lean-Agile Лидерство (Lean-Agile Leadership)
Чтобы SAFe был эффективным, топ-менеджмент и лидеры предприятия должны взять на себя ответственность за внедрение и успех Lean-Agile. Руководители высшего звена и менеджеры должны стать Lean-Agile лидерами, которые прошли обучение сами, а затем стали коучами и проводниками этих более бережливых способов мышления и работы для других. Если руководство не готово отвечать за реализацию изменений, трансформация, скорее всего, не будет иметь успеха.
Статья подготовлена по материалам Scaled Agile, Inc.