Что такое бизнес-требования (business requirements) в разработке ПО?

Ответ

Бизнес-требования — это высокоуровневые формулировки, описывающие цели, задачи и ценность, которую организация или заказчик планирует получить от внедрения программного продукта или системы. Они отвечают на вопрос "Зачем?" создается продукт.

Характеристики:

  • Сфокусированы на бизнесе: Описывают повышение доходов, снижение затрат, увеличение доли рынка, улучшение удовлетворенности клиентов или соответствие регуляторным нормам.
  • Не технические: Не содержат деталей реализации, технологий или конкретных функций.
  • Источник для всех последующих требований: Являются основой для вывода пользовательских (user stories) и функциональных требований.

Пример бизнес-требования для банковского приложения:

"Сократить операционные расходы на обслуживание клиентов в отделениях на 15% в течение года за счет переноса 40% типовых операций (запрос выписки, перевод между счетами) в мобильное приложение."

Роль для QA-инженера: Понимание бизнес-требований помогает:

  1. Расставить приоритеты тестирования: что критично для бизнеса, то должно быть протестировано наиболее тщательно.
  2. Определить критерии успеха (success criteria) для приемочного тестирования (UAT).
  3. Эффективно общаться с бизнес-аналитиками и заказчиками, фокусируясь на ценности продукта.

Ответ 18+ 🔞

А, ну это же классика, блядь! Сидим мы тут, тестируем, а они нам подсовывают «бизнес-требования». Давайте разберемся, что это за зверь такой, а то потом окажется, что мы не то тестировали, и виноваты будем мы, как всегда.

Бизнес-требования — это, по сути, ответ на вечный вопрос «Нахуя?» или, если культурнее, «Зачем?» мы все это городим. Это не про то, какая кнопка куда ведет, а про то, какую деньгу или выгоду хочет срубить компания. Или какую проблему решить, чтобы не обанкротиться, блядь.

Что это такое, если по-простому:

  • Про бабки и выгоду: «Заработать больше», «Тратить меньше», «Чтоб клиенты не уходили к конкурентам, пидарасам», «Чтобы закон не нарушить и штраф не получить».
  • Без технического бреда: Тут нет слов «микросервис», «репликация» или «рефакторинг». Это язык начальников, а не айтишников.
  • Корень всего: Из этой хуйни, как из говна бамбук, потом вырастают все остальные требования — пользовательские истории, функциональные и прочие страдания.

Пример, чтобы было понятно, как собака: Допустим, банк. Начальник говорит: «Бля, народ в отделениях сидит, кофе пьет, а нам за аренду и зарплаты кассирам платить. Надо сократить расходы на 15%, чтобы мне на новую яхту хватило. Пусть 40% лохов сами в телефоне выписки смотрят и переводы делают».

Вот это и есть бизнес-требование! Цель ясна — сэкономить бабки. А как это сделать технически — это уже наши, инженерные, проблемы.

А нам-то, тестировщикам, нахуя это понимать? А вот зачем, мой друг:

  1. Приоритеты, ёпта! Поняв, что для бизнеса критично (например, та же экономия), мы будем яростнее тестить именно эти сценарии. Если функция «перевод денег» — основа экономии, а «смена цвета темы» — просто прикол, то понятно, куда силы кидать в первую очередь, а что можно и костылем подпилить.
  2. Чтобы знать, когда сказать «Готово!». Критерий успеха (success criteria) берется прямо отсюда. Продукт успешен не когда все баги пофикшены (это нереально), а когда бизнес-цель достигнута. Клиенты пошли в приложение? Расходы упали? Вот и хорошо.
  3. Чтобы не выглядеть идиотом на совещаниях. Когда бизнес-аналитик или заказчик говорит про «ценность», а ты в ответ мычишь про «неконсистентность БД», все понимают, что ты нихуя не в теме. А если можешь связать баг с потерей денег для бизнеса — тебя сразу слушают внимательнее, блядь.

Короче, это фундамент. Если его проебать и не понять, можно идеально протестить тысячу функций, а продукт всё равно провалится, потому что он никому не нужен или не решает нужную проблему. А виноваты будем мы — тестировщики, потому что «пропустили баг». Так что держи ухо востро, чувак.