Czy reguła biznesowa to wymaganie?

Wielokrotnie spotkałem się z sytuacjami, w których reguły biznesowe oraz wymagania wobec IT były traktowane jako różne rodzaje tej samej koncepcji. A to niedobrze, gdyż z wielu powodów nie powinno się tych pojęć tak traktować, jako że prowadzi to do…o czym poniżej.

Definicji reguł biznesowych jest całkiem sporo. Co ciekawe, nawet wśród tych samych autorów, definicje zmieniają się z czasem. Mi najbardziej odpowiada ta, zaproponowana przez Business Rules Group.

Business Rule is a directive that is intended to influence or guide business behavior. 

Business Rules Group, 1998

Definicja wyraźnie wskazuje, że celem specyfikowania reguł biznesowych jest jawne określenie zasad, które powinny być brane pod uwagę podczas prowadzenia działań biznesowych. Rozpatrując reguły biznesowe z punktu widzenia siatki Zachmana, należy uznać, iż stanowią element drugiej z perspektyw, na równi z modelem pojęć, czy modelem przebiegów procesów biznesowych.

Spróbujmy przeanalizować zależności łączące reguły biznesowe z innymi aspektami architektury biznesowej, w tym architektury IT. Załóżmy, że zajmujemy się tematem zakładania rachunku bankowego w instytucji finansowej. Hipotetycznie, możemy przyjąć, że o założenie rachunku bankowego może wnioskować tylko osoba pełnoletnia. Aby to założenie biznesowe zapisać w terminach reguł biznesowych, posłużymy się stylistyką RuleSpeak. Reguła mogłaby wówczas przyjąć brzmienie:

Wniosek o założnie rachunku bankowego MOŻE złożyć TYLKO osoba, która jest pełnoletnia.

Co taka reguła oznacza z punktu widzenia architektury biznesowej. Po pierwsze, mamy tutaj odwołania do dwóch pojęć oraz jednego faktu je łączącego. Pojęcia to Wniosek o założenie rachunku bankowego oraz Osoba. Fakt, to składa. Dbając o porządek w repozytorium architektury biznesowej, powinniśmy mieć odnotowane te zależności, co mogłoby przyjąć następującą postać.

Przykładowy model pojęć
Rysunek 2 Reguła biznesowa odwołująca się do modelu pojęć

Niektóre narzędzia służące do tworzenia modeli architektury biznesowej automatycznie rozpoznają, czy we wprowadzanej treści reguły biznesowej znajdują się odwołania do modelu pojęć i łączą zidentyfikowane frazy z pojęciami. Przykłd tego typu funkcjonalności dostępnej w narzędziu Visual Paradigm prezentuje Rysunek 2.

Mając już regułę biznesową opartą o model pojęć, możemy zastanowić się, co w praktyce mogłaby oznaczać część definicji reguły biznesowej, nawiązująca do jej wpływu na działania biznesowe. Spójrzmy najpierw na jeden z najbardziej typowych elementów architektury biznesowej – modele procesów biznesowych. Zwykle prezentują one działania realizowane przez ich uczestników oraz kolejność realizacji działań. Dla przykładu, Rysunek 3 prezentuje początek hipotetycznego procesu biznesowego, mającego na celu założenie rachunku bankowego. Proces jest inicjowany przedłożeniem przez osobę wnioskującą wypełnionego wniosku. Pracownik Biura Obsługi Klienta następnie weryfikuje ten wniosek i jeśli wszystko jest poprawnie wypełnione przekazuje go do dalszej realizacji. Zakładając na początek, że nie posiłkuje się tutaj żadnym systemem, obowiązkiem pracownika będzie zdobycie kompetencji pozwalających na pełną weryfikację wniosku. Między innymi pod kątem pełnoletniości.

Jak można byłoby zinterpretować to z punktu widzenia tworzonego modelu? Na przykład, tak jak na poniższym rysunku – możemy uznać, iż wprowadzona przez nas reguła biznesowa powinna być powiązana z tym krokiem procesu, gdyż w jego ramach może zostać … złamana. Wprawdzie reguły istnieją niezależnie od kroków procesów, aczkolwiek warto je łączyć tylko z tymi, w których mają jakiekolwiek znaczenie.

Rysunek 3 Reguła biznesowa powiązana z krokiem procesu biznesowego

A co w sytuacji, gdybyśmy wraz z planowaniem nowego przebiegu procesu zamierzali wdrożyć system informatyczny, który wesprze pracę uczestników procesu? Musielibyśmy jakoś umieć wkomponować w powstający, docelowy model funkcjonowania organizacji oczekiwania wobec IT. W metodyce AION, pierwszy etapem specyfikowania tego typu wymagań, jest ich zogniskowanie wokół tych kroków procesu, które wymagają wsparcia. Rysunek 4 prezentuje diagram wymagań, zgodny z podejściem AION dla omawianego przykładu. Na bazie kroku biznesowego, w którym miałaby nastąpić rejestracja wniosku w systemie, zdefiniowane zostało wymaganie dotyczące konieczności weryfikacji wniosku względem reguł biznesowych. Warto zwrócić uwagę, iż w treści wymaganie nie zostały wprowadzone warunki, względem których wniosek należy zweryfikować. Zamiast takiego zabiegu (wprowadzałby on redundancje informacji do modelu), wprowadzono zależność łączącą wymaganie z istniejącą regułą biznesową. Gdyby reguł było więcej, w dalszym ciągu pozostałoby jedno wymaganie, które byłoby skojarzone z większa liczbą reguł biznesowych. Tak wyspecyfikowane wymaganie jest następnie powiązane relacją <<satisfy>> z przypadkiem użycia, który w analizie systemowej będzie prezentował sposób realizacji wymagania. Oczywiście, aby przykład był kompletny, do modelu powinno się wprowadzić więcej wymagań związanych z krokiem. W przypadku niniejszego wpisu koncentrujemy się jednakże jedynie na zależnościach pomiędzy wymaganiem a regułą biznesową, więc uzupełnianie nie wydaje się być konieczne.

Rysunek 4 Diagram wymagań prezentujący zależności pomiędzy elementami architektury biznesowej oraz systemowej w omawianym przykładzie
Rysunek 5 Diagram przypadków użycia dla omawianego przykładu

Jak należałoby rozszerzyć model, gdyby się okazało, iż funkcjonalność związaną z wprowadzaniem wniosku chcielibyśmy udostępnić w kanałach elektronicznych, przerzucając ciężar prac z pracownika BOK na Klienta instytucji? Z pewnością należałoby uzupełnić model procesów o scenariusz, w którym Klient wykorzystuje dobrodziejstwa IT, dzięki czemu w procesie nie występuje już Pracownik BOK. Zapewne, w dalszym ciągu obowiązek pełnoletności powinien być spełniony, więc, wykorzystamy już istniejącą regułę biznesową do tego, by skojarzyć ją z nowym krokiem biznesowym. Wyprowadzając z kroku wymagania dla nowego systemu, zdefiniujemy nowe wymaganie do weryfikacji, ale powiążemy je z istniejąca regułą, gdyż ona się nie zmieniła. Dzięki takim zabiegom, mamy jedną regułę biznesową i wiele miejsc w modelu, które się w różnych kontekstach do niej odwołują. Utrzymywanie powiązań pomiędzy elemenatmi w modelu znacząco ułatwi analizę wpływu zmiany reguły biznesowej na architekturę biznesową i IT.

Czy reguły biznesowe to wymagania? Nie. Czy są z nimi związane? Mogą być.