Что такое Scrum в гибкой разработке?

«Что такое Scrum в гибкой разработке?» — вопрос из категории Методологии разработки, который задают на 28% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Ключевые компоненты Scrum:

1. Роли:

  • Владелец Продукта (Product Owner): Формирует видение продукта, управляет Product Backlog (упорядоченным списком всех требований), максимизирует ценность работы команды.
  • Scrum Master: Лидер-слуга, который помогает команде и организации понять и применять Scrum, устраняет препятствия (impediments).
  • Команда Разработки (Development Team): Кросс-функциональная, самоорганизующаяся группа (обычно 3-9 человек), которая выполняет работу по созданию готового к релизу инкремента продукта за спринт.

2. Артефакты (рабочие результаты):

  • Product Backlog: Единственный источник требований. Это динамический, приоритизированный список всего, что может понадобиться в продукте.
  • Sprint Backlog: Набор элементов из Product Backlog, выбранных для реализации в текущем спринте, плюс план по их выполнению.
  • Инкремент (Increment): Сумма всех завершённых элементов Product Backlog за спринт и всех предыдущих спринтов. Должен быть в готовом (Done) состоянии.

3. События (временные боксы):

  • Спринт (Sprint): Сердце Scrum. Фиксированный по времени итерация (обычно 2-4 недели), в течение которой создаётся готовый, потенциально релизный инкремент продукта.
  • Планирование Спринта (Sprint Planning): Команда определяет, что будет сделано в предстоящем спринте и как этого достичь.
  • Ежедневный Scrum (Daily Stand-up): 15-минутная синхронизация команды для обсуждения прогресса и препятствий. Формат: «Что сделал вчера? Что сделаю сегодня? Какие есть препятствия?»
  • Обзор Спринта (Sprint Review): Демонстрация инкремента стейкхолдерам для получения обратной связи.
  • Ретроспектива Спринта (Sprint Retrospective): Встреча команды для анализа своей работы и улучшения процессов в следующем спринте.

Пример работы в Jira для QA в Scrum:

- **Спринт:** "Разработка модуля корзины (01.04 – 15.04)"
- **Sprint Backlog (фильтр для QA):**
  * [QA] Протестировать добавление товара в корзину (P1)
  * [QA] Протестировать применение промокода (P2)
  * [QA] Провести кросс-браузерное тестирование (P2)
- **Daily Stand-up ответ QA:** "Вчера завершил тестирование добавления товара, обнаружил баг JIRA-456. Сегодня начну тестирование промокодов. Препятствий нет."