Уровни и типы требований
По книжке Вигерса
Схема:
На практике и примеры
Бизнес-требования
Определяют цель и ожидаемый эффект для компании. Они не касаются конкретного функционала, а описывают проблему, которую решает система, и бизнес-результаты, которые должны быть достигнуты.
Выражаются в метриках и показателях успеха.
Примеры:
- Увеличить долю онлайн-заказов на 20% за счет внедрения мобильного приложения.
- Снизить время ожидания ответа оператора поддержки с 5 минут до 30 секунд с помощью чат-бота.
- Увеличить конверсию регистрации на 15% за счет упрощения формы авторизации.
Бизнес-правила
Описывают ограничения и регламенты, которые влияют на логику работы системы.
Примеры:
- Пользователь может оплатить заказ бонусами, но не более 30% от суммы чека.
- Перевод денег между счетами доступен только для пользователей с подтвержденной личностью.
- Возврат средств за подписку возможен только в течение 7 дней после оформления, если пользователь не активировал премиум-функции.
Пользовательские требования
Определяют, как продукт должен работать с точки зрения пользователя. Они основываются на потребностях конечного клиента или внутреннего пользователя системы.
Важно: они не описывают реализацию, только функции и сценарии использования.
Примеры:
- Клиент должен иметь возможность отменить заказ без звонка в поддержку в течение 15 минут после оформления.
- Водитель такси должен видеть ближайшие заказы на карте с расчетным временем подачи.
- Менеджер склада должен получать уведомления о критическом остатке товара по email и в мобильном приложении.
Функциональные требования
Описание конкретного поведения системы. Они определяют, что система обязана делать в ответ на входные данные, какие сценарии обрабатываются и какие действия доступны пользователям.
Примеры:
- Если клиент отменяет заказ в течение 15 минут после оформления, система должна автоматически возвращать деньги без участия оператора.
- После трех неудачных попыток входа учетная запись блокируется на 10 минут, и пользователю отправляется предупреждение на email.
- Если сумма заказа превышает 100 000 рублей, перед оформлением необходимо запросить подтверждение через SMS-код.
Атрибуты качества (НФ)
Определяют характеристики качества системы: скорость работы, надежность, отказоустойчивость, безопасность и удобство.
Важно: их нарушение не мешает системе работать, но может сделать ее бесполезной.
Примеры:
- Система должна обрабатывать 1000 запросов в секунду при 90-м процентиле нагрузки.
- Доступность сервиса должна быть не ниже 99,95% в месяц.
- Время отклика пользовательского интерфейса не должно превышать 1 секунды при стандартной нагрузке.
- Все пароли пользователей должны храниться в зашифрованном виде с использованием алгоритма bcrypt с фактором сложности не ниже 12.
Требования к данным
Определяют, какие данные используются в системе, как они хранятся и обрабатываются, какие форматы и ограничения применяются.
Примеры:
- В базе данных система должна хранить историю изменений статуса заказов за последние 12 месяцев.
- Все даты должны храниться в формате UTC без привязки к часовому поясу пользователя.
- Максимальная длина имени пользователя в системе — 100 символов, допустимые символы: кириллица, латиница, пробел, дефис.
Требования к системе (НФ)
Описывают технические ограничения и условия работы ПО: с какими сервисами оно интегрируется, какие технологии поддерживает, в каких средах должно работать.
Важно: не путать с атрибутами качества — тут речь именно об инфраструктуре, а не о скорости или надежности.
Примеры:
- Приложение должно поддерживать работу в веб-браузерах Chrome, Firefox, Edge (последние три версии).
- Бэкенд-сервис должен работать в контейнерах Docker и поддерживать оркестрацию через Kubernetes.