W Domain-Driven Design (DDD), kluczowym aspektem jest zrozumienie i modelowanie domeny biznesowej w sposób, który najlepiej odzwierciedla rzeczywiste procesy i zdolności organizacji. Dwa pojęcia, które często pojawiają się w kontekście DDD, to „zdolność biznesowa” (ang. business capability) oraz „proces biznesowy” (ang. business process). Choć mogą wydawać się podobne, pełnią różne role w modelowaniu domeny. W tym artykule przyjrzymy się bliżej tym pojęciom, aby lepiej zrozumieć ich znaczenie i zastosowanie.
Zdolność biznesowa
Zdolność biznesowa to fundamentalna umiejętność, którą organizacja musi posiadać, aby osiągnąć swoje cele strategiczne. Jest to coś, co firma potrafi robić, niezależnie od tego, jak to robi. Zdolności biznesowe są zazwyczaj stabilne w czasie i nie zmieniają się tak często jak procesy biznesowe.
W kontekście DDD, zdolności biznesowe pomagają w identyfikacji i definiowaniu granic kontekstów (bounded contexts). Każda zdolność może być modelowana jako osobny kontekst, co pomaga w utrzymaniu czystości i spójności modelu domeny. Dzięki temu możemy skupić się na specyficznych aspektach biznesu bez mieszania ich z innymi obszarami.
Proces biznesowy
Proces biznesowy to sekwencja działań lub kroków, które są wykonywane w celu osiągnięcia określonego wyniku biznesowego. Procesy biznesowe są bardziej dynamiczne i mogą ewoluować w odpowiedzi na zmieniające się potrzeby i warunki rynkowe.
Procesy biznesowe w DDD są często modelowane jako przepływy pracy (workflows) lub przypadki użycia (use cases) w ramach określonych kontekstów. Procesy te mogą wymagać współpracy między różnymi kontekstami, co wymaga precyzyjnego zdefiniowania interfejsów i kontraktów między nimi. Modelowanie procesów biznesowych pomaga w zrozumieniu, jak różne części systemu współpracują ze sobą, aby osiągnąć cele biznesowe.
Jak odróżniać zdolności biznesowe od procesów biznesowych?
Najlepszym sposobem odróżnienia zdolności biznesowej od procesu biznesowego jest używanie odpowiedniego słownictwa. Zdolności biznesowe powinny być wyrażane w formie rzeczowników (np. „zarządzanie klientami”, „przetwarzanie zamówień”), natomiast procesy biznesowe w formie czasowników (np. „Zweryfikuj status płatności”, „Utwórz zamówienie”).
Zdolności biznesowe określają strukturę i umiejętności organizacji, podczas gdy procesy biznesowe wskazują przepływ działań i sekwencję kroków prowadzących do osiągnięcia określonego celu.
Zdolności biznesowe są bardziej stabilne i rzadziej się zmieniają. Stanowią podstawę dla organizacji i pomagają w definiowaniu granic kontekstów. Procesy biznesowe natomiast są bardziej dynamiczne i mogą ewoluować w odpowiedzi na zmieniające się potrzeby biznesowe.
Wielu przedstawicieli biznesu zazwyczaj zorientowanych jest na procesach i rezultatach, przez co zdolności schodzą na dalszy plan. Istotne jest aby rozróżniać i dostrzegać subtelne różnice pomiędzy tymi dwoma pojęciami. Zdolności biznesowe ułatwiają prowadzenie komunikacji na poziomie strategicznym. Pozwalają też nakreślić odpowiednie granice dla leżących u ich podstaw procesów biznesowych.