Требования к ПО: ФТ vs НФТ

ФТЧТО система делает? НФТКАК она это делает?

Аналогия: ФТ — «в доме есть дверь с замком и окна». НФТ — «дом выдерживает -30°C и землетрясение в 5 баллов».


Функциональные требования (ФТ / FR)

Конкретное поведение, бизнес-логика, реакция на действия пользователя.

  • Измеримость: бинарная — работает или нет
  • Пишет: Product Owner, бизнес-аналитик
  • Если не выполнить: продукт не работает

Примеры (интернет-магазин):

  • [FR-01] Пользователь может добавить товар в корзину
  • [FR-02] При неверном пароле — сообщение «Неверный логин или пароль»
  • [FR-03] После оплаты — email с электронным чеком

Нефункциональные требования (НФТ / NFR)

Атрибуты качества и технические ограничения. Делают продукт быстрым, надёжным, безопасным.

  • Измеримость: конкретные цифры (мс, %, RPS)
  • Пишет: Tech Lead, Architect, DevOps
  • Если не выполнить: продуктом не будут пользоваться

Основные типы:

ТипПример
ПроизводительностьГлавная страница грузится ≤ 2 сек на 3G
Масштабируемость10 000 одновременных пользователей без деградации
БезопасностьПароли — bcrypt-хэш, передача данных — только HTTPS
ДоступностьUptime 99.9% (~8.7 ч даунтайма в год)
СовместимостьРаботает в Chrome, Safari, Firefox (последние версии)
УдобствоОформление заказа — не более 3 кликов

Сравнение

ФТНФТ
ФокусБизнес-логикаКачество, ограничения
Если не выполнить«Кнопка не работает!»«Сайт грузится 10 минут, ухожу к конкурентам»
ТестированиеUnit, Integration, E2ELoad, Stress, Pentest, Usability
ДокументацияUser Stories, Use CasesSLA, архитектурные спецификации