6. Ретроспектива (Sprint Retrospective)Sprint Retrospective - это важная часть Agile-процесса, которая позволяет команде анализировать прошедший спринт и находить способы улучшения. Для тестировщиков это особенно полезно, так как помогает не только решать текущие проблемы, но и развивать процессы тестирования в целом.
Основные вопросы:- Что работало хорошо?
- Что можно улучшить?
- Какие действия предпринять для улучшения?
Для тестировщика ретро — это отличная возможность:- Указать на проблемы, влияющие на тестирование (например, нехватка времени, сложности с окружением).
- Предложить улучшения, такие как внедрение автоматизации или корректировка процесса тестирования.
Ретроспектива предоставляет безопасное пространство, где можно открыто обсудить, что пошло не так. Для тестировщиков это возможность поднять такие проблемы, как:
- Недостаток времени на тестирование.
- Проблемы с тестовым окружением (например, нестабильность).
- Недостаточная четкость требований, что затрудняло тестирование.
- Задержки в исправлении багов, которые блокировали тесты.
Если в ходе спринта выявлены критические баги, ретроспектива позволяет проанализировать причины их появления:
- Были ли тестовые сценарии недостаточно детализированы?
- Пропустило ли тестирование определенные сценарии?
- Возникли ли проблемы из-за недостаточной автоматизации?
Команда может выработать меры, чтобы предотвратить повторение таких ошибок.
Retro помогает находить узкие места в тестировании и предлагать улучшения. Примеры:
- Внедрение новых инструментов или методов тестирования (например, автоматизация регрессионных тестов).
- Улучшение процесса создания тест-кейсов.
- Уточнение критериев приемки задач (Definition of Done).
Ретроспектива — это площадка для обмена опытом. Тестировщики могут:
- Поделиться успешными кейсами и инструментами, которые они использовали.
- Обсудить, что не сработало и почему.
- Предложить идеи, как улучшить общий подход к тестированию.
Ретроспектива заканчивается созданием конкретного плана улучшений. Для тестировщиков это может быть:
- Подготовка чек-листа для типичных тестов.
- Создание новых автотестов.
- Введение регулярного груминга требований, чтобы заранее выявлять риски для тестирования.
На одном из моих проектов я столкнулась с типичной, но крайне неприятной ситуацией: задачи систематически передавались на тестирование слишком поздно. Это создавало постоянное давление и вынуждало нас тестировать буквально «на бегу», что увеличивало вероятность пропустить важные дефекты.
Задачи попадали ко мне на тестирование ближе к концу спринта, причем часто с недостающими деталями. Некоторые функции были сырыми, и часть требований приходилось выяснять уже в процессе тестирования. Нестабильное окружение добавляло проблем: исправление багов в коде мешало корректно протестировать другие участки функционала.
В результате я часто работала в условиях ограниченного времени, жонглируя задачами и сталкиваясь с ситуациями, когда завершение тестирования приходилось сдвигать на следующий спринт. Это не устраивало ни меня, ни команду: баги иногда доходили до релиза, что подрывало доверие к продукту.
На ретроспективе я решила поднять этот вопрос. Сначала я описала ситуацию:
- Как поздняя передача задач влияет на тестирование.
- Почему работа в таких условиях снижает общее качество продукта.
После обсуждения я предложила
ввести минимальный Definition of Ready (DoR) для задач перед началом разработки.
Что это значило для нас?- Задачи не начинали разрабатывать, пока они не соответствовали критериям DoR.
- Я предложила такие критерии для DoR:
- Четко сформулированные требования (не только описание, но и примеры).
- Определенные критерии приемки.
- Наличие тестового окружения, если это необходимо.
Мы договорились, что перед началом разработки Product Owner будет проверять задачи на соответствие этим критериям, а команда, включая меня, могла вносить свои замечания на этапе груминга.
После внедрения DoR ситуация улучшилась. Теперь к моменту начала разработки задачи уже имели ясное описание и согласованные критерии приемки. Это сократило вопросы и доработки в процессе. Я могла подключаться к задачам еще на этапе разработки, тестируя их поэтапно и предотвращая накопление дефектов. Задачи попадали на тестирование раньше, что давало больше времени для полноценной проверки.
На следующей ретроспективе я заметила, что команда тоже оценила изменения. Разработчики реже сталкивались с доработками из-за недостаточных требований, а качество продукта заметно выросло.