У вас с перевозчиком есть acceptance criteria это договоренность, что значит доставленный груз, но ценность — это то, что внутри. Хотя критерии, основанные на правилах, имеют более простой формат, нет причин, по которым они не могут быть длинными и подробными. Критерии приемки гарантируют, что конечный продукт соответствует ожиданиям и потребностям клиентов, сокращая риски недопонимания и переделок. AC должен описывать, как пользователь взаимодействует с функцией; не нужно объяснять, как выглядит функция или как она работает изнутри.
Представьте, что инопланетяне хотят создать продукт для людей, который изменит их жизнь. Проблема в том, что они никогда не взаимодействовали с нами, а только наблюдали издалека. В нашем мире важно познакомиться с клиентами, понять их потребности и предложить решения — для этого существует подход кастдев (customer improvement, CustDev). Чаще всего владелец продукта инициирует создание критериев, но их окончательная версия – результат совместной работы команды. Нередко пишут Acceptance Standards для пользовательской истории, готовя отставание незадолго до груминга бэклога или до планирования спринта для обсуждения приоритетов. Если речь идет о сложной или самой основной функции вашего продукта, вы должны написать как можно больше и подробных Acceptance Standards, чтобы помочь вашей команде избежать путаницы.
Критерии приемки — это неоправданно расплывчатое название набора шагов, которые описывают, как пользователь может взаимодействовать с конкретной функцией. Они написаны в формате, использующем шаги Given, When, и Then , и сопоставлены с действиями пользователя. Разработка функции таким образом также является отличным способом выявления других вещей, которые могут понадобиться для ее работы. В статье расскажу, как превратить пожелания заказчика в критерии приемки готового продукта. На конкретных примерах объясню, чем отличаются понятия Definition of Done и Acceptance Standards, поделюсь техниками работы с требованиями для пользовательских историй. Обычно в создании критериев приемки участвуют несколько человек или команд.
Но они всегда должны предоставлять достаточно информации для разработчиков, чтобы создать функцию, а для QA – для ее тестирования. Это не значит, что в процессе разработки программного обеспечения не возникнет вопросов. В agile-методологиях критерии приемлемости относятся к набору предопределенных требований, которые должны быть выполнены, чтобы отметить историю пользователя как завершенную. Они представляют собой форму документации по гибким требованиям. Как и в случае с большинством Agile, существуют разные определения Acceptance Standards.
Важно, чтобы ваши критерии были максимально простыми и понятными. Критерии приемки делают более понятной ту Consumer Story, над которой ведется работа. За счет этого снижается вероятность переделок и исправлений в работе, поскольку она сразу выполняется с нужным качеством.
Definition of Carried Out — это договоренность о том, как команда будет работать в процессе. Один из элементов scrum arrange — это командное соглашение (team working agreements) о критериях завершенности и создание estimation baselines. Это условия для Consumer Story, чтобы ее можно было считать выполненной. Это определенный стандарт результата, которому должно соответствовать предлагаемое решение или функция.
Хотя вы тратите время на приоритетный список пользовательских историй, отсутствие Acceptance Standards перед определением приоритетов может помешать прогрессу приоритизации. Практически каждый в кросс–функциональной команде может написать Acceptance Standards для пользовательских историй. Его привлекают https://deveducation.com/ к оценке опосредованно, через юзабилити-тестирование.
Наконец, эти обсуждения могут помочь вам как владельцу продукта лучше понять, как выглядят ваши пользовательские истории глазами разработчиков. Оптимально формировать acceptance standards до начала разработки — во время обсуждения бэклога или планирования спринта. Это помогает избежать разночтений и сэкономить время на корректировках. При его написании я понял, что не знаю, что произойдет после того, как пользователь успешно войдет в систему. Форматирование данного требования таким образом заставило меня задуматься об этом, что поспособствовало развитию дизайна продукта и пользовательского опыта. Для работы с требованиями и критериями приемки подойдет Jira или любая другая система управления задачами.
Тем не менее рекомендуется сделать написание критериев групповой деятельностью, в которую входят как разработчики, так и представители QA. Он будет определять ваш дизайн, передавать ваше видение и помогать для тестирования, однако это еще не все и не всегда. Вы должны писать подзадачи, чтобы лучше определить технические аспекты ваших функций, создавать макеты и писать конкретные примеры. В этой статье мы подробно рассмотрим, что такое критерии приемки, как они помогают команде достигать общих целей, и как правильно создавать тестируемые и измеримые acceptance standards. Вы узнаете разницу между пользовательскими историями и критериями приемки, получите практические рекомендации и ответы на частые вопросы, а также найдете примеры эффективных критериев приемки.
Еще, для больших команд, применяется критерий готовности Релиза (Definition of Carried Out for a Release). То, что код прошел все технические процедуры, а коробка лежит в красивом виде на правильной полке, не говорит ничего о содержимом. Для содержимого, есть дополнительный критерий, называемый Системное тестирование Критерий Приемки (Acceptance Criteria).
Только когда аналитик закончит всю работу на своей стороне, а QA-специалист протестирует разработанные аналитиком требования — инкремент переходит к разработчику. К формулированию AC могут быть привлечены представители заказчика, пользователи, аналитики, разработчики и другие участники проекта. Он предоставляет подробный охват User Story и того, что нужно, чтобы ваша команда могла понять, какие задачи перед ней стоят. Пишите Acceptance Criteria с точки зрения пользователя, как если бы у него были конкретные пожелания к функциональности. В этом смысле написание похоже на описание User Story — простое и понятное каждому, отражающее потребность пользователя. Величина, отражающая количество работы, которое Скрам-команда может выполнить за один Спринт.
Такие Элементы можно принять в работу немедленно (они Instantly Actionable). Например, Элементы можно проверять на соответствие критериям I.N.V.E.S.T. Каждый из этих этапов точно объясняет, что должно произойти в сценарии.
Иногда программисты отказываются оценивать усилия по истории, пока не увидят критерии приёмки – желательно расписанные очень детально. Однако владельцам продукта (и тестировщикам) нежелательно тратить время на критерии приёмки до тех пор, пока история не запланирована к исполнению. В конце концов, если на это уйдёт какое-то количество часов, а история запланирована так и не будет, то это время окажется потраченным зря. Как в самой истории на лицевой стороне карточки, на её обороте место для письма ограничено – и это сделано намеренно. Критерии приемки — важный инструмент в Agile-разработке, позволяющий обеспечивать прозрачность, тестируемость и качество продукта. Правильно составленные acceptance standards помогут вашей команде избежать множества ошибок, улучшить коммуникацию и ускорить процесс вывода продукта на рынок.
Definition of Ready можно рассматривать как чек-лист для верификации требования, т.е. А Definition of Delivery пригодятся в задаче валидации требований, т.е. Анализ нефункциональных требований – это техника не только классического бизнес-анализа из BABOK®Guide. В продуктовой парадигме нефункциональные требования фиксируются в понятиях определений или критериях приемки. При разработке программного продукта не стоит пренебрегать критериями приёмки. Примеры применения Agile-практик и техник Guide to Product Ownership Evaluation к разработке и анализу нефункциональных требований к ПО при их спецификации в SRS и ТЗ.