Специфические термины - root causes и edge case. Попробуем разобраться с ними.

Root causes (корневые причины) ошибок в требованиях — это глубинные факторы, которые приводят к некорректным, неполным или противоречивым требованиям в проекте. Их анализ помогает не просто исправить конкретную ошибку, а устранить системную проблему, чтобы избежать повторения в будущем.
Симптом: Пропущены edge-cases (например, не учтено, как система поведёт себя при отмене заказа).
Root causes:
Симптом: В разных документах указаны разные форматы данных для одного поля (например, «дата» в RFC 2822 vs. ISO 8601).
Root cause:
Симптом: Запрос на «мгновенную» синхронизацию данных между серверами, расположенными в разных точках мира/страны.
Root cause:
Симптом: «Система должна работать быстро» (без метрик).
Root cause:
1. Почему требование оказалось ошибочным? — Потому что аналитик не учёл сценарий отмены.
2. Почему не учёл? — Не было чек-листа для проверки.
3. Почему не было чек-листа? — Его не включили в процесс работы.
4. Почему не включили? — Не проводился ретроспективный анализ прошлых ошибок.
5. Почему не проводился? — Нет выделенного времени на улучшение процессов.
Итоговый root cause: Отсутствие ретроспектив и чек-листов.
1. Ввести артефакты:
2. Процессы:
3. Обучение:
| Ошибка | Root cause | Как устранить? |
| Пропущен сценарий возврата денег | Нет чек-листа для платежных систем | Создать шаблон требований для фин.модулей |
| Не учтены нагрузки на API | Аналитик не знал про ограничения | Добавить этап консультации с DevOps |
Важно: Без устранения root causes команда будет «тушить одни и те же пожары» снова и снова.

Edge case (крайний случай, граничный случай) — это редкий, нестандартный или экстремальный сценарий работы системы, который выходит за рамки основного потока (happy path), но может привести к сбоям, если его не учесть в требованиях.
1. Для интернет-магазина
2. Для банковского приложения
3. Для SaaS-платформы
Безопасность: Могут стать лазейкой для хакеров (например, переполнение буфера).
Репутация: Один краш-кейс может испортить впечатление пользователей.
Юридические риски: Нарушение законов (например, двойное списание денег).
1. Метод «А что, если...»
2. Анализ граничных значений (Boundary Value Analysis):
3. Стресс-тесты:
4. Исторические данные:
Включать их в требования или в тест-кейсы с пометкой:
Сценарий: [Описание основного потока]
Edge case:
- Условие: Пользователь вводит отрицательное число.
- Ожидаемое поведение: Система показывает ошибку «Допустимы только положительные значения».
Золотое правило: Учитывать edge cases, но приоритезировать их по рискам и частоте.