Scrum
Методологии

Что такое Scrum?

Скрам (Scrum) — очень модное на сегодняшний день слово и одна из самых популярных Agile техник. Огромное количество проектов пытается использовать этот фреймворк, но, к сожалению, не у всех есть понимание того, как он должен работать.
В этой статье мы кратко разберём что же такое скрам и чем его едят.

Что такое Scrum?

Скрам (Scrum) — итеративно-инкрементальный, гибкий (Agile) фреймворк (каркас разработки), позволяющий в процессе постоянной коммуникации за короткое время, называемое спринтом, доставлять инкремент продукта.

Почему Scrum — это не методология?

В скраме нет чётко описанных процессов, этапов, методов разработки и тестирования. То есть нет чёткого описания того как всё должно работать.

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

Особенности скрама:

Начнём с некоторых определений:

Спринт (Sprint) — это фиксированный отрезок времени от 2 до 4 недель, который выделяется на разработку инкремента. Длина спринта изменятся не может.

Элемент бэклога продукта (Product backlog item) — изменение, которое планируется выполнить в следующих инкрементах продукта.

Критерии завершенности (Definition of Done, DoD) — набор критериев, которые позволяют понять, сделано ли то, что было целью разработки. Формат Definition of Done может быть любым, но чаще всего это простой список с перечнем активностей, которые должны быть успешно завершены, чтобы функционал мог считаться готовым.

Критерии готовности (Definition of Ready, DoR) — набор критериев готовности задачи к взятию в работу. То есть, если задача, отвечает критериям из DoR, команда может взять её на планировании в работу.

Артефакты в Скраме:

Артефакт 1: Хранилище продукта (Product backlog) — это постоянно обновляемый, упорядоченный список того, что необходимо для улучшения продукта. Это единственный источник работы, выполняемый Scrum-командой.

За обновление, приоритизацию бэклога отвечает владелец продукта (Product owner).

Элементы бэклога продукта (Product backlog items, PBI), которые оценены и могут быть выполнены командой Scrum в течение одного спринта, считаются готовыми для выбора в мероприятии по планированию спринта (Sprint Planning).

Уточнение Бэклога Продукта (Backlog refinement, grooming) — встреча, на которой PO и команда обсуждают и уточняют все детали PBI. После уточнения, проводится оценка данного PBI.

Только оцененные PBI могут попасть в хранилище спринта (Sprint Backlog)!

Артефакт 2: Бэклог спринта (Sprint backlog) состоит из цели спринта, набора элементов бэклога продукта (PBI), выбранных для спринта, а также плана действий по доставке инкремента.

Бэклог спринта (Sprint backlog) — это набор работы, которую разработчики планируют выполнить во время спринта для достижения цели спринта.

Артефакт 3: Инкремент (Increment) — это конкретная ступенька к достижению цели продукта. Каждый инкремент является добавочным ко всем предыдущим инкрементам и тщательно проверяется, обеспечивая совместную работу всех инкрементов. Чтобы обеспечить ценность, инкремент должен быть пригодным для использования.

Роли в Скраме:

Команда в скраме (Scrum Team) обычно не более 10 человек и состоит из 3 основных ролей:

  • Product Owner
  • Scrum Master
  • Development team

Команда разработчиков (Development team) — отвечает за реализацию инкремента внутри спринта.

В её состав входят разнообразные специалисты (разработчики, тестировщики, дизайнеры и тд), которые необходимы для создания продукта. Такая команда называется кросс-функциональной (Cross-functional team).

Как правило, команда является самоуправляемой. То есть у неё нет конкретного лидера.

Владелец продукта (Product owner, PO) — ответственен за улучшение ценности продукта, по средствам работы с командой.

Product owner, используя свои знания бизнеса и обратную связь от пользователей, создаёт новые элементы бэклога (PBI).

Скрам мастер (Scrum master) — ответственен за создание и улучшение процессов скрама. Он помогает понять теорию и практику скрама как скрам команде, так и компании.

Скрам мастер помогает команде в следующем:

  • Учит команду быть самоуправляемой и кросс-функциональной
  • Помогает команде фокусироваться на создании качественного инкремента, который соответствует Definition of Done
  • Устраняет препятствия в процессах на пути прогресса скрам команды
  • Обеспечивает позитивную и продуктивную атмосферу в рамках собраний (Scrum Events)
  • Контроллирует, чтобы все собрания были в рамках своих временных слотов

Скрам мастер помогает владельцу продукта в следующем:

  • Помогает найти техники для эффективного управления бэклогом продукта
  • Помогает в понимании необходимости чётких и лаконичных PBI
  • Содействует сотрудничеству с заинтересованными сторонами

Скрам мастер помогает компаниям в следующем:

  • Планирует, консультирует и обучает внедрению скрам процессов
  • Устранение барьеров между заинтересованными сторонами и Scrum-командами

События в Скраме (Scrum events)

Событие в скраме подразумевает те активности, которые обязательно должны быть в каждом спринте.

Спринт (Sprint ) — Сам спринт является активностью, в рамках которой мы делаем работу по достижению цели спринта

Планирование спринта (Sprint planning) — встреча, на которой определяется цель спринта и список задач на спринт (Sprint Backlog). Проводится до начала спринта.

Ежедневный скрам (Daily scrum) — короткая ежедневная встреча (обычно до 15 минут), на которой команда делится прогрессом относительно цели спринта. Каждый член команды отвечает на вопросы:

  • Что он сделал?
  • Что делает?
  • Какие проблемы возникли?

Подведение итогов спринта (Sprint review) — встреча, на которой команда делится результатами спринта с PO и заинтересованными лицами. Достигнута ли цель спринта, что было сделано, что было не сделано и почему. Так же на этой встрече команда демонстрирует изменения в инкременте продукта.

Ретроспектива спринта (Sprint retrospective) — встреча, на которой собирается команда и скрам мастер, где определяется, что было сделано хорошо за спринт, а что можно улучшить.

В завершение:

Скрам очень гибкий инструмент, который нацелен на постоянное улучшение качества процесса и продукта.

Этот фреймворк предоставляет каркас, который можно дополнять и улучшать никак себя не ограничивая.

Но отказ от какой-то роли или процесса автоматически лишает Вас статуса Scrum.

Если остались вопросы, скрам гайд вам поможет 🙂