Modern QA2026Three Amigos
Join

Course20 Agile & Scrum

Foundations · Chapter 20

Three Amigos

Updated Jul 2026

Что такое паттерн Three Amigos?

Паттерн Three Amigos объединяет три перспективы до начала работы над историей. Каждый человек задаёт разные вопросы, и вместе они определяют точно, что означает «сделано».

Роль Перспектива Ключевые вопросы
Владелец продукта Бизнес-ценность и потребности пользователя «Какую проблему мы решаем? Как выглядит успех?»
Разработчик Техническая реализация «Как мы это построим? Какие есть граничные случаи? Что может пойти не так технически?»
QA-инженер Тестируемость и риски «Как мы проверим, что это работает? Каковы режимы отказа? Что с граничными условиями?»

Как проходит сессия Three Amigos

Формат

  • Длительность: 15-20 минут на историю
  • Когда: до начала разработки (во время планирования спринта или уточнения бэклога)
  • Участники: один разработчик, один QA-инженер, владелец продукта (или его представитель)
  • Результат: уточнённые критерии приёмки, с которыми все трое согласны, конкретные и тестируемые

Порядок проведения

  1. PO описывает историю и критерии приёмки (2-3 минуты)

    • Что пользователь пытается сделать?
    • Почему это ценно?
    • Каковы критерии приёмки?
  2. Разработчик задаёт технические уточняющие вопросы (3-5 минут)

    • Как API должен обрабатывать параллельные запросы?
    • Какие изменения базы данных необходимы?
    • Есть ли ограничения по производительности?
    • Что происходит во время окна миграции?
  3. QA задаёт вопросы «что если» (5-7 минут)

    • Что если ввод пустой?
    • Что если сеть медленная?
    • Что если у пользователя нет прав?
    • Что если это используется на мобильном устройстве?
    • Что происходит с очень большими наборами данных?
    • Что с доступностью?
  4. Группа уточняет критерии приёмки (3-5 минут)

    • Переписать размытые критерии на конкретные и тестируемые
    • Добавить недостающие критерии, выявленные в ходе обсуждения
    • Согласовать, что означает «сделано» для этой истории
  5. QA уходит с достаточной информацией для написания тест-кейсов до начала разработки

До и после: Three Amigos в действии

Пример 1: Загрузка фото профиля

До three amigos:

«Как пользователь, я хочу загрузить фото профиля.»

Вопросы QA во время сессии:

  • Какие форматы файлов принимаются?
  • Каков максимальный размер файла?
  • Каково минимальное разрешение?
  • Должна ли система обрезать до определённого соотношения сторон?
  • Что происходит, если загрузка прерывается на середине?
  • Могут ли пользователи загружать анимированные GIF?
  • Что с EXIF-данными (ориентация, местоположение)?
  • Есть ли требование модерации контента?
  • Что происходит с существующим фото, если новая загрузка не удалась?
  • Могут ли несколько устройств загружать одновременно?

После three amigos:

«Как пользователь, я хочу загрузить фото профиля (JPEG, PNG или WebP, макс 5МБ, мин 100x100px). Система должна обрезать до квадрата, показать превью перед сохранением и отобразить понятное сообщение об ошибке, если файл слишком большой, неправильного формата или слишком маленький. Существующее фото должно сохраняться при сбое загрузки. EXIF-ориентация должна учитываться. Анимированные GIF не поддерживаются в v1.»

Пример 2: Функция поиска

До three amigos:

«Как пользователь, я хочу искать товары.»

Вопросы разработчика:

  • Полнотекстовый поиск или точное совпадение?
  • Ищем по названию товара, описанию или по обоим?
  • Нужна ли пагинация?
  • Что с производительностью при 100K товаров?

Вопросы QA:

  • Что происходит при пустом поиске?
  • Что со специальными символами или SQL-инъекцией?
  • Как быстро должны появляться результаты? Есть ли debounce?
  • Что если результатов нет?
  • Сохраняются ли поисковые запросы при навигации по страницам?
  • Сохраняется ли история поиска?
  • Что с нечётким поиском (опечатки)?

После three amigos:

«Как пользователь, я хочу искать товары по названию или описанию с полнотекстовым поиском. Результаты появляются в течение 500мс, пагинация по 20 на страницу. Пустой поиск показывает все товары. При отсутствии результатов показывается сообщение "Товары не найдены" с предложенными категориями. Поисковый ввод имеет debounce 300мс. Специальные символы экранируются (без инъекций). Нечёткий поиск -- вне скоупа для v1.»

Уникальный вклад QA

Основной вклад QA-инженера -- задавать вопросы, которые никто другой не задаёт. Разработчики думают о том, как это построить. PO думают о том, что построить. QA думает о том, как это может сломаться.

Категории вопросов для QA

Категория Примеры вопросов
Граничные значения Что происходит при 0, 1, max, max+1?
Обработка ошибок Что происходит, когда API возвращает 500? Когда сеть недоступна?
Переходы состояний Что происходит, если пользователь уходит со страницы в середине действия?
Конкурентность Что если два пользователя одновременно модифицируют одну запись?
Безопасность Что если кто-то пытается получить доступ к данным другого пользователя?
Производительность Что происходит с 10 000 элементов? Со 100 одновременными пользователями?
Доступность Можно ли это использовать только клавиатурой? Со скринридером?
Обратная совместимость Ломает ли это существующих потребителей API?
Целостность данных Что происходит с существующими данными при миграции?
Контекст пользователя Что на мобильном? При медленной сети? Офлайн?

Создание чек-листа вопросов

Со временем создайте персональный чек-лист вопросов «что если». После каждой сессии three amigos добавляйте вопросы, которые выявили недостающие требования. Этот чек-лист станет вашим самым ценным QA-инструментом.

Проведение эффективных сессий Three Amigos

Советы для успеха

  1. Сохраняйте фокус: одна история на сессию. Если история слишком большая, сначала разделите её.
  2. Строго ограничивайте время: 15-20 минут на историю. Если нужно больше времени, история слишком сложная.
  3. Записывайте: обновляйте критерии приёмки в Jira во время сессии. Не полагайтесь на память.
  4. Это не ревью дизайна: фокусируйтесь на том, каким должно быть поведение, а не как реализовывать.
  5. Все вносят вклад: если QA-инженер молчит, сессия провалилась.
  6. Последующие действия: если на вопросы нельзя ответить на сессии, создайте элементы действий.

Когда Three Amigos не нужен

Не каждая история нуждается в сессии Three Amigos. Пропустите для:

  • Исправлений багов с чёткими шагами воспроизведения
  • Незначительных UI-правок без изменений поведения
  • Инфраструктурных задач, не влияющих на поведение пользователя
  • Историй, которые уже очень хорошо определены

Фокусируйте Three Amigos на историях, которые:

  • Новые фичи с неясными граничными случаями
  • Изменения существующих фич (риск регрессии)
  • Фичи, затрагивающие несколько систем или команд
  • Фичи с последствиями для безопасности, оплаты или комплаенса

Измерение эффективности Three Amigos

Метрика Без Three Amigos С Three Amigos
Изменения критериев приёмки во время спринта 40% историй < 10% историй
Баги из неопределённого поведения Часто Редко
Истории, возвращённые PO на уточнение 20% историй < 5% историй
Тест-кейсы, написанные до начала разработки 0% 80%
Время планирования спринта Короче (но проблемы возникают позже) Чуть длиннее (но меньше сюрпризов)

Практическое упражнение

  1. Организуйте сессию Three Amigos для одной истории предстоящего спринта
  2. Подготовьте 10 вопросов «что если» до сессии, используя категории вопросов выше
  3. Отследите, сколько критериев приёмки изменились во время сессии
  4. После сессии немедленно напишите тест-кейсы из уточнённых критериев
  5. Сравните: было ли в истории меньше багов при тестировании, чем в аналогичных историях без сессии Three Amigos?
  6. Создайте свой персональный чек-лист вопросов «что если» и дополняйте его после каждой сессии