Lesson 26 of 26
Урок 26 — Scrum и Kanban: методологии разработки для QA
Название: Scrum и Kanban — как работают команды разработки и какое место в них занимает QA
Описание: Разбираем две главные Agile-методологии: Scrum и Kanban. Объясняем спринты, церемонии, роли, доску задач и как QA-инженер работает в каждой из них.
Почему это важно для QA: QA-инженер — часть команды. Без понимания процессов (планирование, ретроспектива, Definition of Done) невозможно эффективно взаимодействовать с командой и строить карьеру.
1. Agile — философия, из которой вышли Scrum и Kanban
Agile — это набор принципов гибкой разработки, описанных в Agile Manifesto (2001). Основная идея:
Люди важнее процессов
Работающий продукт важнее документации
Сотрудничество с клиентом важнее контракта
Реагирование на изменения важнее следования плануScrum и Kanban — это конкретные реализации Agile-подхода.
2. SCRUM
Что такое Scrum
Scrum — это фреймворк, в котором работа разбита на короткие итерации — спринты (обычно 1–2 недели). В конце каждого спринта команда выпускает работающий инкремент продукта.
Роли в Scrum
| Роль | Кто это | Что делает |
|---|---|---|
| Product Owner (PO) | Владелец продукта | Приоритизирует задачи, отвечает за backlog |
| Scrum Master | Фасилитатор процесса | Убирает препятствия, следит за соблюдением Scrum |
| Development Team | Команда разработки | Разработчики, QA, дизайнеры — самоорганизующаяся команда |
Артефакты Scrum
| Артефакт | Что это |
|---|---|
| Product Backlog | Список всех задач/фич продукта (упорядоченный по приоритету) |
| Sprint Backlog | Задачи, взятые в текущий спринт |
| Increment | Работающий продукт после завершения спринта |
Церемонии (Events) Scrum
SPRINT (1–2 недели)
├── Sprint Planning (планирование, ~2–4 часа)
│ └── Выбираем задачи из Product Backlog в Sprint Backlog
├── Daily Scrum (ежедневный стендап, 15 минут)
│ ├── Что сделал вчера?
│ ├── Что сделаю сегодня?
│ └── Есть ли препятствия?
├── Sprint Review (демо, ~1–2 часа)
│ └── Показываем stakeholders, что сделали
└── Sprint Retrospective (ретро, ~1–2 часа)
├── Что шло хорошо?
├── Что шло плохо?
└── Что улучшим в следующем спринте?3. Scrum-доска (Sprint Board)
┌──────────┬──────────┬──────────┬──────────┬──────────┐
│ BACKLOG │ TO DO │ WIP │ REVIEW │ DONE │
├──────────┼──────────┼──────────┼──────────┼──────────┤
│ Story 5 │ Story 1 │ Story 2 │ Story 3 │ Story 4 │
│ Story 6 │ Task 1.1 │ Task 2.1 │ │ │
│ Story 7 │ Task 1.2 │ │ │ │
│ Bug #12 │ │ Bug #10 │ Bug #11 │ Bug #9 │
└──────────┴──────────┴──────────┴──────────┴──────────┘
Статусы задачи:
Backlog → To Do → In Progress (WIP) → Review/Testing → Done4. Story Points и Velocity
Story Points
Относительная оценка сложности задачи (не в часах).
Числа Фибоначчи: 1, 2, 3, 5, 8, 13, 21...
Простая задача: 1–2 SP
Средняя задача: 3–5 SP
Сложная задача: 8–13 SP
Слишком большая: нужно разбитьPlanning Poker
1. PO описывает задачу
2. Каждый участник тайно выбирает карточку (1, 2, 3, 5, 8...)
3. Все открывают карточки одновременно
4. Обсуждаем расхождения
5. Голосуем снова до консенсусаVelocity
Количество Story Points, которые команда в среднем завершает за спринт.
Sprint 1: завершено 30 SP
Sprint 2: завершено 28 SP
Sprint 3: завершено 32 SP
Velocity = ~30 SP/sprint
Планируем следующий спринт: берём задачи на ~30 SP5. Definition of Done (DoD)
Definition of Done — это общее понимание команды, при каких условиях задача считается завершённой.
Пример DoD для команды с QA
Задача считается DONE, если:
□ Код написан и прошёл code review
□ Unit тесты написаны (coverage > 80%)
□ QA выполнил ручное тестирование по тест-кейсам
□ Все найденные баги исправлены или отложены с обоснованием
□ Автоматические тесты написаны (если применимо)
□ Smoke тесты прошли на Staging
□ Документация обновлена (если нужна)
□ Product Owner принял задачуПочему DoD важен для QA
Без DoD:
Dev: «Я закончил» (имеет в виду «код написан»)
QA: «Ещё не тестировал»
PO: «На демо не готово»
С DoD:
Все понимают, что «Done» = весь чеклист выполнен
QA имеет право голоса в том, что входит в DoD6. KANBAN
Что такое Kanban
Kanban — это метод визуального управления потоком работы. В отличие от Scrum, нет фиксированных итераций (спринтов). Задачи непрерывно поступают и выполняются.
Принципы Kanban
1. Визуализируй работу → доска
2. Ограничь Work In Progress (WIP) → не берём больше, чем можем сделать
3. Управляй потоком → минимизируй время выполнения задачи
4. Сделай правила явными → у каждой колонки чёткий критерий
5. Улучшай совместно и непрерывноKanban-доска
┌──────────┬──────────────┬──────────────┬──────────┐
│ BACKLOG │ IN PROGRESS │ REVIEW │ DONE │
│ │ (WIP: 3) │ (WIP: 2) │ │
├──────────┼──────────────┼──────────────┼──────────┤
│ Task 5 │ Task 1 │ Task 3 │ Task 6 │
│ Task 7 │ Task 2 │ Task 4 │ Task 8 │
│ Task 9 │ Task X │ │ │
│ Task 10 │ │ │ │
└──────────┴──────────────┴──────────────┴──────────┘
↑ ↑
Лимит = 3 Лимит = 2
(нельзя брать (нельзя брать
4-ю задачу) 3-ю задачу)WIP Limit (Work In Progress Limit)
Если WIP = 3, то в колонке "In Progress" максимум 3 задачи.
Нет свободного слота → нельзя начать новую задачу.
Зачем: многозадачность снижает эффективность.
Лучше закончить 3 задачи, чем начать 10.7. Scrum vs Kanban — сравнение
| Критерий | Scrum | Kanban |
|---|---|---|
| Структура | Фиксированные спринты (1–2 нед.) | Непрерывный поток |
| Планирование | Sprint Planning | По мере появления задач |
| Роли | PO, Scrum Master, Team | Нет обязательных ролей |
| Доска | Очищается после спринта | Постоянная |
| Метрики | Velocity, Burndown chart | Lead Time, Cycle Time, Throughput |
| Когда лучше | Продуктовая разработка | Поддержка, операционные задачи |
| WIP Limit | Ограничен спринтом | Явный лимит на колонку |
| Изменения | Нельзя менять спринт после старта | Можно добавить задачу в любой момент |
8. Роль QA в Scrum
На каждой церемонии
Sprint Planning:
QA участвует в оценке задач:
- «Эта история слишком большая для одного спринта — её нужно разбить»
- «На тестирование этого функционала нужно 3 дня — учтите при планировании»
- «У этой задачи нет критериев приёмки — нельзя начать тестирование»Daily Scrum:
QA отвечает:
- «Вчера протестировал AUTH-05 и AUTH-06, нашёл баг BUG-342»
- «Сегодня тестирую AUTH-07, жду исправления BUG-340 от Димы»
- «Блокер: нет доступа к тестовой среде (второй день)»Sprint Review:
QA участвует в демо:
- Показывает, какие сценарии были проверены
- Демонстрирует найденные и исправленные багиRetrospective:
QA поднимает вопросы:
- «Задачи попадали в Review без покрытия unit-тестами — это нарушает DoD»
- «Нам нужно больше времени на тестирование — сейчас QA — узкое горлышко»
- «Предлагаю: QA вовлекается в разработку раньше (Shift Left)»9. Shift Left Testing
Shift Left — это практика вовлечения тестирования как можно раньше в процесс разработки.
ТРАДИЦИОННО (Shift Right):
Требования → Дизайн → Разработка → Тестирование → Релиз
↑
QA входит здесь
SHIFT LEFT:
Требования → Дизайн → Разработка → Тестирование → Релиз
↑ ↑ ↑
QA участвует с самого началаПреимущества Shift Left для QA
✓ QA проверяет требования до начала разработки («А что если пользователь введёт пустую строку?»)
✓ Баги находятся на этапе дизайна → их дешевле исправить
✓ QA пишет тест-кейсы параллельно с разработкой (не после)
✓ Разработчики пишут unit-тесты с осознанием QA-перспективы10. Agile-инструменты
| Инструмент | Для чего |
|---|---|
| Jira | Управление задачами (Scrum/Kanban), баг-трекер |
| Trello | Простая Kanban-доска |
| Linear | Современная альтернатива Jira |
| GitHub Projects | Kanban прямо в GitHub |
| Confluence | Документация, Wiki |
| Notion | Документация + задачи |
| Slack / Teams | Коммуникация команды |
11. Метрики Scrum и Kanban для QA
Scrum метрики
Burndown Chart: сколько SP осталось выполнить до конца спринта
Bug Rate: количество багов, найденных на разных стадиях
Test Coverage: % функциональности, покрытой тестами
Defect Leakage: баги, найденные в production после релизаKanban метрики
Lead Time: время от появления задачи до её завершения
Cycle Time: время от начала работы до завершения
Throughput: количество задач, завершённых за единицу времени
WIP: текущее количество задач в работеИтог
SCRUM
├── Спринты: 1–2 недели
├── Роли: PO + Scrum Master + Team
├── Церемонии: Planning → Daily → Review → Retro
├── Артефакты: Product Backlog + Sprint Backlog + Increment
└── QA: участвует во всех церемониях, поднимает DoD
KANBAN
├── Непрерывный поток без спринтов
├── WIP Limit: ограничивает количество задач в работе
├── Доска: постоянная, задачи не сбрасываются
└── QA: мониторит cycle time, предотвращает накопление задач
ОБЩЕЕ:
✓ Оба — Agile подходы
✓ Оба используют доску для визуализации
✓ QA — полноправный член команды, а не «приёмщик работы в конце»
✓ Shift Left: вовлекай QA с самого начала, а не в конце