Как проверить качество требований: чек-лист

Чек-лист превращает «мне кажется, требование нормально» в порядок вопросов, на которые можно ответить «да» или «нет». Здесь собран список из восьми вопросов с примерами «было и стало» и объяснено, что проверять у одного требования, а что у всего набора.


Если требования проверяют «на глаз», каждый проверяющий смотрит на своё: один видит неясные слова, другой нехватку данных, третий ничего не замечает. Чек-лист делает проверку повторяемой: одни и те же вопросы к каждому требованию.

Кейс: одно требование, в котором три

В «Узелке» в требованиях написано: «Список заказов должен быстро открываться и показывать статус, а после отмены отправлять письмо». Фраза читается гладко, и её можно пропустить на согласовании. Но разработчик прочитает в ней три разные задачи, тестировщик не поймёт, что значит «быстро», а если часть реализуют раньше остальной, проверить требование целиком нельзя.

По этому требованию мы и пройдёмся чек-листом.

Рисунок 1. Одна фраза и три проблемы

Восемь вопросов к требованию

Чек-лист состоит из восьми вопросов. Каждому требованию задают их по очереди:

  1. Однозначность. Есть ли слова без точного смысла, например «быстро» и «удобно».
  2. Проверяемость. Какой тест покажет, что требование выполнено. Если такого теста нет, требование не докончено (критерии приёмки: статья 02-09).
  3. Полнота. Названы ли роли, условия, исключения и ошибки (как искать пробелы: статья 02-18).
  4. Одно требование. Нет ли в одной фразе двух требований, которые могут быть выполнены по отдельности.
  5. Потребность, а не решение. Описано ли, что нужно, а не как это сделать: «покупатель видит статус заказа» лучше, чем «статус в виде зелёной плашки».
  6. Термины. Одно понятие названо везде одинаково: не «заказ» в одном месте и «покупка» в другом.
  7. Связь с целью. К какой цели ведёт требование. Если связи нет, её просто не проследить (трассировка: статья 02-22).
  8. Качество. Есть ли скорость, доступ и надёжность, которые часто остаются в голове автора (нефункциональные требования: статья 02-13).
Рисунок 2. Восемь вопросов чек-листа качества требований

Набор вопросов мы собрали из практики, поэтому он не повторяет ни один стандарт целиком.

Как это выглядит на примере

Проведём требование из кейса через вопросы. «Быстро» без числа нарушает однозначность и проверяемость. Три действия в одной фразе нарушают правило «одно требование». Письмо после отмены не указывает адресата и случая, когда почты нет, что указывает на пробел в полноте. После правки получается три отдельных требования, и для каждого есть тест.

Две секунды и 95% в правке условные: такие числа согласуют с владельцем продукта (статья 02-13).

Рисунок 3. Требование до и после проверки: одна фраза и три отдельных требования

Что проверяем у одного требования, а что у набора

Принято разделять свойства одного требования и свойства набора требований. Ниже перечислены те свойства, которые проверяют чаще всего.

  • Одно требование: нужное, однозначное, полное, одно по смыслу, выполнимое, проверяемое, верное.
  • Набор требований: полный, без противоречий, выполнимый, понятный читателю, соответствующий замыслу.
Рисунок 4. Свойства одного требования и свойства набора требований

На практике это значит два прохода. Сначала чек-лист применяют к каждому требованию по отдельности. Потом смотрят весь набор: нет ли противоречий между требованиями и не забыто ли что-то важное.

Рисунок 5. Два прохода чек-листа

Где это встречается в работе

  • Проверка требований перед тем, как отдать их в разработку (статья 02-26).
  • Короткое ревью требований коллегой перед согласованием.
  • Разбор спорных мест с разработчиками и тестировщиками.
  • Подготовка к изменениям: плохое требование дороже изменять (статья 02-20).
  • Связь с целями и тестами при трассировке (статья 02-22).

Итог

Чек-лист задаёт каждому требованию восемь вопросов: однозначность, проверяемость, полнота, одно требование, потребность без решения, термины, связь с целью, качество. Отдельно смотрят набор целиком: противоречия и забытые части. Нарушения исправляют делением фразы, заменой расплывчатых слов числом и добавлением теста.

Что дальше

Дальше разберём, как вести изменения требований (статья 02-20) и связывать их с целями и тестами (статья 02-22).

Проверка знаний

5 вопросов