В быстро меняющихся цифровых средах концепция гибкости становится все более популярной. Все говорят оСкрум, агильная разработка программного обеспечения, и различных других подходах, таких как экстремальное программирование (XP), Скрум, методы Кристалла, адаптивная разработка программного обеспечения (ASD), разработка, ориентированная на функции (FDD), метод динамической разработки систем (DSDM) и легкие методы. RUP, разработка, основанная на тестировании (TDD), и другие, как показано на диаграмме ниже. Среди всех методологий агильной разработки Скрум является наиболее широко используемым.
В этой статье в основном делятся знаниями о понимании и внедрении Скрума, а также о изменениях, которые Скрум вносит в команды.

Зонтик агильности
Что такое Скрум?
Скрум — это рамочная модель для разработки и поддержки сложных продуктов, основанная на поэтапном и итеративном процессе разработки. В этой модели весь процесс разработки состоит из нескольких коротких итеративных циклов, один из которых называетсяспринт, который длится от 2 до 4 недель.
В Скруме используется продуктбэклогдля управления требованиями к продукту. Бэклог продукта приоритизируется на основе бизнес-ценности. В ходе спринтакоманда Скрумавыбирает наиболее приоритетные элементы из бэклога продукта и, с помощью процессапланирования спринтасоздаетбэклог спринта. Выбранные элементы бэклога продукта обсуждаются, анализируются и оцениваются на встрече планирования спринта, чтобы составить список задач, которые будут включены в следующий спринт (называемый бэклогом спринта). Как только команда Скрума завершает все выбранные задачи в бэклоге спринта, текущий спринт завершается и переходит в следующую итерацию спринта.

Агильная рамочная модель Скрума
Почему Скрум сложно освоить?
Скрум чрезвычайно ценен. Однако в некоторых организациях внедрение Скрума представляет сложность. Некоторые говорят, что Скрум оказывает мало ощутимого влияния. Почему так много людей считают Скрум трудным для освоения или внедрения? Давайте вспомним, что говорит руководство Скрума о Скруме:
Скрум — это
- легковесный
- простой для понимания
- сложно освоить
Поскольку Скрум требует изменений в культуре, его сложно внедрить. Если организация внедряет Скрум для агильной разработки, исходя из своей традиционной структуры команды, она должна обеспечить значительные навыки, обучение и руководство для всех ролей Скрумаролей. Ответственность каждой роли в Scrum значительно шире, чем в традиционной водопадной среде. Почему Scrum сложно освоить? Основные причины:
- Роли в Scrum намного более требовательны для всех членов команды.
Например, в проекте по Scrum разработчики не просто «пишут код» — им необходимо отвечать за планирование, оценку, управление своей работой и интеграцию её с другими членами команды для создания целостного решения. Ожидается также прямое взаимодействие с бизнес-пользователями для понимания требований. - Scrum — это адаптивный процесс, требующий значительных навыков и умения принимать решения.
Scrum основан на модели эмпирического управления процессом, что означает, что в ходе выполнения проекта решения и процесс их создания должны непрерывно корректироваться на основе наблюдений. Многие навыки и решения могут быть освоены только на практике с некоторой помощью. Многие люди пытаются применять Scrum механически, не понимая его основополагающих принципов, что обычно приводит к неудаче. - Scrum требует трансформации организации.
Scrum требует сотрудничества между командами разработки и бизнес-пользователями на протяжении всего жизненного цикла проекта. Часто это требует разрушения организационных «силосов» для обеспечения эффективного взаимодействия.
Десять стратегий успеха в агиле
Стратегии успеха при переходе от традиционных методов к агильной разработке основаны на интервью с агильными менеджерами проектов и практикующими специалистами, которые активно разрабатывают программное обеспечение для различных проектов по всему миру, включая: интервью с агильными специалистами (бизнес, ИТ и управление), стандартные организации (PMI, Scrum.org, Agile Alliance, Scrum.org, DSDM, IEEE и др.), отраслевые кейсы, книги и исследовательские институты (Gartner, Standish, Forrester и др.).
- Обеспечение обязательств руководства – Обязательства руководства должны быть обеспечены до начала любого плана внедрения.
- Поддерживайте свои команды – Агиле обеспечивает высокую прозрачность и снижает необходимость в обширных проверках на промежуточных этапах.
- Понимайте культуру сотрудничества – Представители бизнеса должны инициировать агильную инициативу; их участие является основой агильной методологии.
- Полностью примите агилу – Подлинная ценность агилы наилучшим образом проявляется при полной отдаче.
- Создавайте дорожные карты и первоначальные планы – Агиле является частью общего процесса планирования.
- Привлекайте агильного коуча и обучайте свою команду – По крайней мере один опытный агильный коуч, Scrum-мастер, и не менее 20% команды, имеющие опыт в агиле, значительно повышают шансы на успех.
- Начинайте с малого и добивайтесь ранних успехов – Ничто не способствует росту импульса агильной инициативы больше, чем демонстрация раннего, ощутимого успеха.
- Установите метрики производительности Agile – Agile ориентирован на решение текущих приоритетов бизнеса, а не на соответствие набору базовых требований, которые могут больше не отражать текущее направление бизнеса.
- Создайте договоры Agile – Вместо того чтобы сосредоточиться на «чем» будет доставлено, четко определите и обеспечьте «как» будет определено и доставлено решение.
- Примите инструменты ALM для улучшения взаимодействия – Инструменты Agile ALM интегрируют процессы Agile и структуры управления поверх традиционной интеграции инструментов ALM.
На основе исследований и опыта организациям настоятельно рекомендуется принять эти стратегии, а также внедрить сильные практики управления бизнесом и ИТ, чтобы обеспечить плавный переход от традиционных методов разработки к Agile.