Как описать бизнес-правила. Отличия бизнес-правил от требований к системе
Работа над каким-либо IT-продуктом/системой всегда начинается со сбора требований.
В идеальной вселенной, со стороны представителя бизнеса работает бизнес-аналитик, который собирает пожелания, требования заказчиков и формирует их в бизнес-правила. Далее уже над бизнес-правилами работает системный аналитик, формируя требования к системе. Но, зачастую, позицию “бизнес-аналитик” опускают: в бизнесе данная позиция отсутствует, в IT- команде данную роль совмещает в себе системный аналитик. У многих встает вопрос, как же правильно выделить бизнес-правила, чем они отличаются от требований к системе и зачем вообще их выделять, разве нельзя сразу приступить к формированию требований к системе?
Для начала, давайте определимся с понятиями “Бизнес-правила” и “Системные требования”.
В группе Business Rules Group (2012) дали определение бизнес-правил с точки зрения как бизнеса, так и информационных систем.
С точки зрения бизнеса: “бизнес-правило-это указание на существование обязательств относительно поведения, действия, принятого порядка или процедуры в определенной деятельности или отрасли”.
С точки зрения информационной системы: “бизнес-правило-это указание, определяющее или ограничивающее определенный аспект бизнеса. Оно предназначено для установления бизнес-структуры или для для управления и влияния на бизнес-деятельность”.
Требования к системе, согласно Карлу Вигерсу, определяют, каким должно быть поведение продукта в тех или иных условиях. Требования к системе описываются в форме традиционных утверждений со словами “должен” и “должна”.
Выделять бизнес-правила необходимо на первом этапе работы над продуктом:
Выявить правила бизнеса;
Задокументировать;
Согласовать с бизнесом.
Рассмотрим подробнее, как же правильно описывать бизнес-правила. Для этого можно применить следующие правила:
Бизнес-правило должно быть сформулировано на языке бизнеса. В описании бизнес-правил не должны использоваться технические термины.
Язык написания бизнес-правил должен быть понятным представителю бизнеса, не являющимся IT-специалистом. После описания бизнес-правил, постарайтесь абстрагироваться от своих технических знаний, поставьте себя на место представителя бизнеса, руководителя компании, для который вы разрабатываете продукт. Понятен ли вам написанный документ? Не содержит ли документ технических терминов, указания систем и языков программирования?
Бизнес-правило должно описывать правило бизнеса, а не работу системы. Описание бизнес-правил должно содержать те требования бизнеса, которые должна решить система, но без описания работы системы. Например, у бизнеса есть правило: "Отслеживать время прихода и ухода сотрудников на рабочее место". Бизнес-правило не должно содержать описания, как достичь соблюдения данного правила: будет ли сотрудник записываться в журнал прихода и ухода, или на входе будет стоять автоматическая пропускная система, которая будет фиксировать время.
Бизнес-правило должно описывать ограничения: какие операции не могут быть выполнены.
Ограничительные бизнес-правила могут определять ограничения пользователей. Например: “В полис ОСАГО страховщик может вписать не более 5-ти водителей”; "Оформить заказ-онлайн может только клиент компании".
Бизнес-правило подчиняется бизнесу: принять, изменить, отменить.
Представители бизнеса могут изменять бизнес-правила, вносить поправки или отменять.
Рассмотрим несколько примеров бизнес-правил и требований к системе
Бизнес-правило | Требование к системе |
Постоянный посетитель библиотеки может отложить для себя до 10 книг. | Посетитель, имеющий карточку в библиотеке; посещающий библиотеку не менее 1 раза в месяц является постоянным. Постоянный посетитель должен иметь возможность отложить для себя 10 книг. |
Клиент компании может оформить заказ с оплатой курьеру. | Клиент компании-пользователь, имеющий учетную запись в интернет-магазине компании. Для оформления заказа, пользователь должен быть авторизован в системе. Пользователь, должен иметь возможность оформить заказ. Заказ может быть оформлен: с доставкой по указанному адресу; с оплатой наличными при получении; с оплатой банковской картой при получении. |
На примере видно различие формулирования бизнес-правил от требований к системе. Можно задаться вопросом, какую же роль играют бизнес-правила, если их содержание менее раскрыто, чем описание требований? Нужно ли вообще описывать бизнес-правила?
Бизнес-правила существуют для четкого определения целей бизнеса.
Бизнесу понятен язык бизнес-правил. Язык описания требований к системе бизнесу непонятен. На этапе согласования БП бизнес сможет понять, правильно ли зафиксировали их пожелания и требования.
Бизнес-правила являются основой для написания требований к системе. Одно бизнес-правило может являться источником для нескольких требований к системе.
Правильно зафиксированные бизнес-правила сокращают риски на разработку. Не забываем золотое правило: “Чем раньше выявлены неточности в зафиксированных требованиях- тем дешевле стоит их исправить!”
Собирайте бизнес-правила, создавайте продукты, отвечающие требованиям заказчика!
Материал для данной статьи подготовлен с помощью книги К. Вигерса "Разработка требований к ПО", 3-е издание, 2021 г.