Как проверить качество требований: чек-лист
Чек-лист превращает «мне кажется, требование нормально» в порядок вопросов, на которые можно ответить «да» или «нет». Здесь собран список из восьми вопросов с примерами «было и стало» и объяснено, что проверять у одного требования, а что у всего набора.
Если требования проверяют «на глаз», каждый проверяющий смотрит на своё: один видит неясные слова, другой нехватку данных, третий ничего не замечает. Чек-лист делает проверку повторяемой: одни и те же вопросы к каждому требованию.
Кейс: одно требование, в котором три
В «Узелке» в требованиях написано: «Список заказов должен быстро открываться и показывать статус, а после отмены отправлять письмо». Фраза читается гладко, и её можно пропустить на согласовании. Но разработчик прочитает в ней три разные задачи, тестировщик не поймёт, что значит «быстро», а если часть реализуют раньше остальной, проверить требование целиком нельзя.
По этому требованию мы и пройдёмся чек-листом.
Восемь вопросов к требованию
Чек-лист состоит из восьми вопросов. Каждому требованию задают их по очереди:
- Однозначность. Есть ли слова без точного смысла, например «быстро» и «удобно».
- Проверяемость. Какой тест покажет, что требование выполнено. Если такого теста нет, требование не докончено (критерии приёмки: статья 02-09).
- Полнота. Названы ли роли, условия, исключения и ошибки (как искать пробелы: статья 02-18).
- Одно требование. Нет ли в одной фразе двух требований, которые могут быть выполнены по отдельности.
- Потребность, а не решение. Описано ли, что нужно, а не как это сделать: «покупатель видит статус заказа» лучше, чем «статус в виде зелёной плашки».
- Термины. Одно понятие названо везде одинаково: не «заказ» в одном месте и «покупка» в другом.
- Связь с целью. К какой цели ведёт требование. Если связи нет, её просто не проследить (трассировка: статья 02-22).
- Качество. Есть ли скорость, доступ и надёжность, которые часто остаются в голове автора (нефункциональные требования: статья 02-13).
Набор вопросов мы собрали из практики, поэтому он не повторяет ни один стандарт целиком.
Как это выглядит на примере
Проведём требование из кейса через вопросы. «Быстро» без числа нарушает однозначность и проверяемость. Три действия в одной фразе нарушают правило «одно требование». Письмо после отмены не указывает адресата и случая, когда почты нет, что указывает на пробел в полноте. После правки получается три отдельных требования, и для каждого есть тест.
Две секунды и 95% в правке условные: такие числа согласуют с владельцем продукта (статья 02-13).
Что проверяем у одного требования, а что у набора
Принято разделять свойства одного требования и свойства набора требований. Ниже перечислены те свойства, которые проверяют чаще всего.
- Одно требование: нужное, однозначное, полное, одно по смыслу, выполнимое, проверяемое, верное.
- Набор требований: полный, без противоречий, выполнимый, понятный читателю, соответствующий замыслу.
На практике это значит два прохода. Сначала чек-лист применяют к каждому требованию по отдельности. Потом смотрят весь набор: нет ли противоречий между требованиями и не забыто ли что-то важное.
Где это встречается в работе
- Проверка требований перед тем, как отдать их в разработку (статья 02-26).
- Короткое ревью требований коллегой перед согласованием.
- Разбор спорных мест с разработчиками и тестировщиками.
- Подготовка к изменениям: плохое требование дороже изменять (статья 02-20).
- Связь с целями и тестами при трассировке (статья 02-22).
Итог
Чек-лист задаёт каждому требованию восемь вопросов: однозначность, проверяемость, полнота, одно требование, потребность без решения, термины, связь с целью, качество. Отдельно смотрят набор целиком: противоречия и забытые части. Нарушения исправляют делением фразы, заменой расплывчатых слов числом и добавлением теста.
Что дальше
Дальше разберём, как вести изменения требований (статья 02-20) и связывать их с целями и тестами (статья 02-22).
5 вопросов