Everything you need to know about acceptance criteria
Під час розробки програмного забезпечення важливим моментом є правильна та своєчасна підготовка вимог до майбутнього продукту. Наразі існує доволі багато інструментів, способів та підходів до підготовки вимог такі, як: підготовка Product Requirements Document (PRD), підготовка Software requirements specification (SRS) з описом функціональних та нефункціональних вимог, опис функціоналу у вигляді User story, Use cases та інше.
При передачі виконаного проекту чи частини функціоналу замовнику для приймального тестування (UAT), команді розробки важливо впевнитись, що те, що вони розробили, співпадає з очікуваннями замовника. Чудовим інструментом для цього слугують Acceptance Criteria.
Acceptance Criteria – це умови, які мають бути виконані, щоб поточна ітерація, user story або продукт в цілому були прийняті замовником, власником продукту або іншими зацікавленими сторонами.
На відміну від інших документів з описом проектних вимог, Acceptance Criteria мають бути чіткими та лаконічними, по суті це набір тверджень, які мають позначатись лише як “так” або “ні”, тобто чи ствердження виконується чи ні і тут не має бути варіанту “частково виконується”. В доповнення до цього, критерії прийомки мають бути:
- Зрозумілими і однозначними, щоб усі члени команди могли трактувати їх однаково;
- Націленими на результат, який задовольняє клієнта.
Хоча критерії прийомки найбільш активно використовуються на етапі приймального тестування, готувати їх потрібно значно раніше, ще на етапі підготовки вимог до проекту, так як вони мають слугувати для команди своєрідними маркерами, що технічна реалізація поставленого завдання рухається у правильному напрямку.
Готувати Acceptance Criteria може безпосередньо замовник або Product owner, але найчастіше цим займається проектний менеджер, з консультаціями з боку замовникам чи іншими стейкхолдерами. В кінці обов’язкове погодження критеріїв з зацікавленими сторонами.
Цінність критеріїв прийому полягає в тому, що вони:
- Однаково ідентифікують умови успішності виконаної роботи для команди розробників, замовника та кінцевими користувачами;
- Можуть бути створені швидко, в порівнянні з детальною документацією;
- Допомагають під час тестування продукту.
У WebbyLab ми часто використовуємо цей інструмент для підтримки якості нашої роботи, в доповнення до інших видів документації.