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