Ответ
Нефункциональные требования (NFR) определяют, как система должна работать, а не что она делает. Их важно обсудить сразу, потому что:
- Влияют на архитектуру — например, требования к производительности или масштабируемости могут потребовать выбора конкретных технологий.
- Снижают риски — если пропустить NFR (например, безопасность), переделки на поздних этапах будут дорогими.
- Определяют бюджет и сроки — поддержка 99.9% uptime или обработка 10K RPS требует дополнительных ресурсов.
Пример:
Если клиент хочет «быструю загрузку страницы», но не уточняет метрики, позже может оказаться, что его ожидания (например, <1 сек) технически недостижимы в рамках бюджета.
Вывод: NFR так же критичны, как функциональные требования, и их нужно фиксировать с самого начала.