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 → Done

4. 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 SP

5. 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 имеет право голоса в том, что входит в DoD

6. 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 — сравнение

КритерийScrumKanban
СтруктураФиксированные спринты (1–2 нед.)Непрерывный поток
ПланированиеSprint PlanningПо мере появления задач
РолиPO, Scrum Master, TeamНет обязательных ролей
ДоскаОчищается после спринтаПостоянная
МетрикиVelocity, Burndown chartLead 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 ProjectsKanban прямо в 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 с самого начала, а не в конце