Прокачайся в код-ревью: для первых 50 участников — курс бесплатный

время чтения: 6 мин

Что такое Scrum и как использовать его в работе

Что такое Scrum и чем он отличается от Agile? Что относится к структуре, артефактам и событиям Scrum, как устроена команда?

Подробно о понятиях и процессах рассказывает автор Anywhere Club — бизнес-аналитик Елизавета Сокол.

Читай другие статьи автора:

Если вы начали осваивать профессию бизнес-аналитика или уже стали джуниор специалистом, то наверняка не раз слышали про Sсrum. Многие команды считают, что они «работают по Scrum», хотя на самом деле используют лишь его некоторые атрибуты.

Давайте попробуем разобраться, что же в действительности он собой представляет и чем отличается от Agile.

Что такое Scrum

Чтобы лучше понять данную тему, предлагаю начать с определения. Часто встречается мнение, что Scrum — это методология разработки программного обеспечения. Так ли это на самом деле?

Согласно определению из руководства по Scrum, Scrum — это «легкий фреймворк, который помогает людям, командам и организациям создавать ценность с помощью адаптивных решений комплексных проблем. Каждый элемент фреймворка служит определенной цели, необходимой для достижения общей ценности и результатов».

Руководство описывает структуру — основные компоненты, роли и принципы — и определяет отношения между разными элементами: «Scrum не предоставляет подробных инструкций, а вместо этого лишь задает ориентиры для отношений и взаимодействий людей».

Таким образом, согласно официальному определению, Scrum — это фреймворк, а не методология. Разница между этими двумя понятиями заключается в следующем: фреймворк обеспечивает общую структуру и принципы, в то время как методология предоставляет конкретные рекомендации и инструкции для выполнения задач или процессов.

В чем разница между Scrum и Agile

Agile (Agile Software Development — «гибкая» разработка ПО) — это философия, способ мышления и набор принципов, описанных в Agile Manifesto, который состоит из 4 главных ценностей и 12 принципов.

Основная идея Agile заключается в том, чтобы поставить в приоритет гибкость, сотрудничество и реагирование на изменения в процессе разработки ПО и управления проектами. Особое внимание уделяется итеративной и поэтапной разработке, вовлечению клиентов в процесс и адаптивному планированию для быстрого и эффективного получения ценности.

Scrum же, как мы уже выяснили, — это фреймворк, который помогает внедрять Agile принципы в управление проектами. Таким образом, Agile — более широкая философия или подход, охватывающий разнообразные фреймворки и методологии, включая Scrum и др., например, Kanban, Lean, Extreme Programming.

Теперь, когда мы разобрались с основными понятиями, давайте вернемся к сути фреймворка. Руководство по Scrum говорит, что «Scrum использует итеративный, инкрементальный подход для оптимизации предсказуемости и управления рисками». Что же это значит?

Итеративный подход предполагает наличие итераций или циклов. Если рассматривать это в контексте разработки ПО, то итеративный подход подразумевает, что весь процесс разработки разбивается на серию повторяющихся циклов. В каждом цикле за короткий промежуток времени происходят все необходимые этапы жизненного цикла разработки программного обеспечения (англ. Software Development Life Cycle, SDLC). В рамках Scrum спринт является формой итерации. Спринт — это фиксированный временной период, как правило, от 1 до 4 недель, в течение которого команда разрабатывает и доставляет готовый инкремент продукта. За время спринта происходят все этапы разработки от планирования до тестирования, а затем начинается новый спринт.

Цикл разработки ПО
Источник изображения: bigwater.consulting

Так мы плавно переходим к понятию инкрементального подхода, когда продукт делится на полностью работающие части — инкременты. Вместо полного завершения всего продукта и его выпуска в конечном виде, разработка происходит поэтапно: каждый этап приносит новый инкремент, и его добавляют к существующему продукту. Например, в одном спринте вы разработали каталог товаров, в следующем спринте — корзину, еще в одном — интеграцию с платежной системой, и так пока весь продукт не будет готов.

«Вся скрам-команда несет ответственность за создание ценного, полезного инкремента в каждом спринте».

Структура Scrum-фреймворка

А теперь давайте рассмотрим структуру фреймворка немного подробнее и начнем с событий Scrum (англ. Scrum Events).

События Scrum

В руководстве по Scrum определяется пять основных событий:

  • Спринт/Sprint — событие, которое содержит всю работу и все другие события, происходящие в течение ограниченного по времени периода разработки (контейнер для всех остальных событий). Длительность спринта обычно составляет от 1 до 4 недель.
  • Планирование спринта/Sprint Planning — инициирует начало спринта. В рамках него планируется работа, которую необходимо выполнить в данном спринте (элементы бэклога продукта, которые будут включены в спринт), определяется цель — Sprint Goal (часто решаемая бизнес-проблема), а также план их реализации. Все вместе это называется Sprint Backlog, который и будет результатом этого события.
  • Ежедневный скрам/Daily Scrum — это ежедневное событие для Developers, входящих в Scrum-команду. Оно предназначено для инспекции (отслеживания прогресса) в достижении цели спринта и корректировки запланированной работы по мере необходимости.
  • Обзор спринта/Sprint Review — событие для проверки инкремента продукта, полученного в результате спринта, а также оценки влияния выполненной работы на общий прогресс в достижении цели продукта и бэклога. Этот комплекс действий позволяет максимизировать ценность следующего спринта.
  • Ретроспектива спринта/Sprint Retrospective — завершает спринт, основная функция — изучение прошедшего спринта и планирование улучшений, которые должны быть реализованы во время будущих спринтов.

Есть еще одно событие, не обозначенное как обязательное в руководстве по Scrum, но не менее важное для достижения цели продукта — это уточнение бэклога продукта (англ. Product Backlog Refinement). Неопытный глаз может не определить его как таковое, изучая руководство по Scrum, но это событие активно используется в рамках проектов. Оно необходимо для проработки элементов бэклога продукта командой совместно с владельцем продукта. Backlog Refinement проводится для того, чтобы эти элементы имели достаточную детализацию, при необходимости были декомпозированы, приоритизированы и в целом были готовы для рассмотрения на планировании спринта.

Артефакты Scrum

К артефактам Scrum относятся следующие понятия:

  • Бэклог продукта/Product Backlog — состоит из упорядоченного списка работ/задач, которые необходимо выполнить для создания и поддержки продукта. Перекладывая данное определение на реалии любого проекта — это приоритизированный список всех возможных задач (например, пользовательские истории, баги, технические задачи и др), которые необходимы для создания, развития и поддержки продукта.
  • Бэклог спринта/Sprint Backlog — включает:

- цель спринта — почему нам нужен этот спринт,

- набор выбранных для cпринта элементов бэклога продукта — что именно мы будем делать в рамках cпринта,

- план действий по поставке инкремента — как мы будем это делать.

  • Инкремент/Incrementруководство по Scrum определяет его как «конкретную ступеньку в достижении цели продукта». В действительности же инкремент представляет собой небольшую работающую часть продукта, которая готова в конце каждого спринта.

Scrum-команда

Еще одна не менее значимая часть фреймворка — Scrum Team, небольшая команда людей — обычно не более 10 человек. В нее входят:

  • Владелец продукта/Product Owner — это всегда один человек в рамках команды, который отвечает за максимизацию ценности продукта, разрабатываемого командой, а также за управление Product Backlog.
  • Scrum Master — руководит, направляет, обучает и помогает команде в правильном понимании и использовании Scrum. Он также отвечает за эффективность команды, помогая улучшать ее методы работы в рамках фреймворка. Эту роль также выполняет только один человек в рамках команды.
  • Команда разработки/Developers — согласно определению из руководства по Scrum, это люди в скрам-команде, которые «привержены созданию любого аспекта готового к использованию инкремента в каждом спринте».

Необходимо сделать акцент на том, что скрам-команды являются кросс-функциональными, то есть их участники обладают всеми навыками, необходимыми для создания ценности в каждом спринте.

Изображение демонстрирует, как все перечисленные элементы Scrum взаимодействуют между собой:

Фреймворк Scrum

Выводы

В начале статьи я упомянула, что многие команды на самом деле лишь используют атрибуты Scrum. Под формальными атрибутами как раз и имелись в виду вышеперечисленные события, артефакты и роли. Но почему же их использование не говорит о том, что у вас в команде действительно используют Scrum?

Многие забывают о критической части фреймворка — того, с чего начинается описание понятия Scrum. Важной частью Scrum являются его 3 столпа (англ. Pillars of Scrum) — прозрачность, инспекция и адаптация, а также его ценности (англ. Scrum Values) — приверженность, открытость, сфокусированность, уважение и смелость. Они обеспечивают основу для успешного внедрения фреймворка и направляют поведение и мышление скрам-команды.

https://www.scrum.org/resources/what-scrum-module

Когда команда полностью осознает и внедряет ценности, принципы и практики Scrum, она переходит от простого использования его отдельных атрибутов к полноценному применению.

Стоит отметить, что описанный в руководстве по Scrum фреймворк не подлежит изменению. Хотя использование его отдельных элементов допустимо, «полученный результат не будет Scrum».

Нельзя сказать, что команда работает по Scrum, если:

  • команда не знает и не разделяет ценности Scrum;
  • если нет Product Goal, и в рамках планирования спринта никогда не определяется Sprint Goal;
  • в команде нет Scrum Master, который помогает понять, как правильно применять фреймворк, а есть только проектный менеджер, отвечающий за сроки и бюджеты;
  • если ваша команда не гибкая и не готова адаптироваться к изменениям.

Но кто сказал, что это плохо, если такой измененный подход помогает вам добиться нужного результата?

Полезные материалы для изучения: