Привет, меня зовут Юлия Новикова и я системный аналитик. Сегодня обсудим критерии качества требований и как их применять
О чём пойдёт речь:
зачем соблюдать критерии качества при написании требований;
как проверить хорошее требование или нет с помощью критериев качества;
как исправить требование
Для кого эта статья:
джуны аналитики научатся писать понятные требования;
мидлы убедятся, что всё делают правильно;
сеньоры могут поделиться опытом в комментариях, что будет полезно всем грейдам
Озвучила организационную информацию, переходим к сути
Зачем соблюдать критерии качества при написании требований?
Критерии качества — принципы, которые гарантируют, что требования будут понятны всем
Понятные требования помогут создать нужный для заказчика продукт и уменьшить шансы на появление той самой страшной ошибки аналитики при сдаче проекта, когда клиент говорит «А мы хотели по‑другому»
Характеристики качества требований:
Атомарность
Полнота
Краткость
Консистентность
Выполнимость
Приоритизированность
Тестируемость
Однозначность
Понятность
Как проверить требование?
Прогоните его по каждому критерию и поправьте, если нужно
Атомарность
Требование атомарно, если его нельзя декомпозировать без потери завершённости
Инструкция
Как проверить требование на атомарность:
Прочитайте требование
Если в тексте нет перечислений, условий или союзов — переходим к проверке на полноту
Если есть — проверьте по чек‑листу ниже
Если пункт применим, декомпозируйте требование и вернитесь на первый шаг
Если пункт неприменим — пропустите его
Чек‑лист:
Разделены функциональные и нефункциональные требования
Каждая функция описана отдельно
Разграничены этапы процесса
Требования четко разделены по направлениям деятельности
Полнота
Требовани�� полное, если содержит всю информацию, необходимую для реализации задачи
Инструкция
Проверьте описание. Убедитесь, что учли все возможные сценарии
Например, если описали создание пользователя, не забудьте о редактировании и удаленииОцените детализацию. Прочитайте ещё раз и дополните требование, если возникают уточняющие вопросы
Исследуйте граничные условия
К примеру,
числовые поля и строки. Пропишите ограничение количества символов
файлы. Установите ограничение размера в мб для загрузки
количество записей на странице для настройки пагинации
Определите критерии успеха. Убедитесь, что указаны четкие и измеримые критерии приемки
Было требование «Покупатель быстро заказывает товар». Измерим скорость в шагах. Стало: «Покупатель заказывает товар за 3 клика». Уже лучшеОцените как новые требования изменят систему и поправьте документацию
Посмотрите на требования под другим углом: продумайте интерфейс и напишите требования для дизайнера, составьте user story, нарисуйте диаграммы UML или BPMN
Краткость
Требование краткое, если не содержит лишнюю информацию
Как сделать требование кратким:
Определите основную мысль
Задайте вопрос «Можно ли убрать без потери смысла?» к каждому слову в требовании. Если да — убирайте
Консистентность
Требование консистентно, если не противоречит другим требованиям проекта
Внимательно отнеситесь к описанию БД и маппингов. Часто здесь встречаются ошибки
Как написать консистентное требование:
Сравните с другими требованиями. Посмотрите, не противоречит ли оно тому, что уже есть на проекте. Возможно, стоит поправить связанные статьи
Поговорите с командой. Обсудите новое требование, вопросы покажут что дописать
Проиллюстрируйте требование на примере и уточните похож ли он на ожидаемый результат. Иллюстрацию для примера выбирайте по ситуации, но вот распространённые варианты: макет, сценарий, схема или excel файл
Выполнимость
Оцените ресурсы:
Бюджет. Сколько времени денег нужно для реализации и укладывается ли хотелка в бюджет
Квалификация команды. Сможет ли команда выполнить требование или нужно нанимать новых людей
Технологии. Можно ли реализовать требование чисто технически? Обсудите с командой
Приоритизированность
Выставить приоритет получится, если требование атомарное, полное и непротиворечивое. Этот пункт особенно полезен, когда продукт развивается итерациями
Пример приоритизируемых требований:
Приложение поддерживает авторизацию через социальные сети (VK, Telegram)
Приложение поддерживает двухфакторную аутентификацию
Тестируемость
Напишите базовые тест‑кейсы для QA даже если требование ��понятно, как проверить». Будет достаточно одного успешного кейса и 2–3 с ошибкой. Это ускорит погружение команды в задачу и создание unit‑тестов со стороны разработки
Однозначность и понятность
Уточните требование с заказчиком и обсудите с командой. Убедитесь, что участники процесса понимают требования одинаково. От заказчика важно получить письменное подтверждение
Вот и всё. Теперь требование хорошее, поздравляю с прохождением этого пути :)
Какими правилами вы руководствуетесь для написания требований? Поделитесь опытом в комментариях
P.S.: в моём телеграм канале Шерлок в IT делюсь мнением о технологиях и полезными инструментами для аналитика. Буду рада познакомиться поближе и обсудить другие темы
