Что такое 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.
Если остались вопросы, скрам гайд вам поможет 🙂