Produktem modelowania procesów biznesowych są jakieś diagramy, i z tym jesteśmy oswojeni. Od czasu do czasu można usłyszeć o symulacjach procesów, lecz to już jednak znacznie rzadziej. O symulacjach procesów pisze się mniej: Google Scholar (literatura naukowa) pokazuje ok. 5 mln publikacji na temat modelowania procesów biznesowych, na temat ich symulacji 2 mln mniej. Ale już Google („cały Internet”) odpowiednio: 2,3 mld. i 282 mln. Jak widać w powszechnym obiegu symulacje, jako temat, to trzy rzędy (tysiąckrotnie) mniejsza ilość tekstów! (wyszukiwane były hasła ang. «business process modeling» oraz «business process simulation»). Zastanówmy się dlaczego i co można osiągnąć symulacją.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie. Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów.
W toku szkoleń, a także audytów, powstają nie raz spory o interpretacje znaczenia symboli notacji: ich semantyki i syntaktyki (co oznaczają i jak je można łączyć z innymi). Dzisiaj o dość częstym sporze czyli bramki OR (inclusive) i XOR (exclusive) w notacji BPMN oraz o tym, że z 380 stron specyfikacji BPMN, w modelach analitycznych stosujemy tylko niecałe 40 stron rozdziału 7., pozostałe rozdziały służą wyłącznie lepszemu zrozumieniu teorii i modelom wykonywalnym. Czyli dlaczego w analizach stosujemy kilka, a nie kilkadziesiąt symboli notacji BPMN.
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie. Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów.
Każdego roku prowadzę kilka, bywa że kilkanaście, szkoleń z zakresu modelowania procesów biznesowych z użyciem notacji BPMN. Do tego w ramach zająć jakie prowadzę na uczelni (studia niestacjonarne) wykłady i laboratoria z obszaru analiz i modelowania z użyciem sformalizowanych notacji (UML, BPMN, SBVR). To znaczy, że mam co roku kontakt co najmniej z kilkudziesięcioma osobami zajmującymi się praktycznym stosowaniem tych notacji. W ogromnej większości przypadków dostrzegam ten sam problem: brak wiedzy i zrozumienia pojęcia abstrakcji i umiejętności modelowania warstwy abstrakcyjnej analizowanego podmiotu.
Tym tytułowym mitem jest teza, że zawsze można używać wszystkich dostępnych symboli i należy tworzyć diagramy detalicznie opisujące wszelkie czynności.
Na początek cytat z oryginalnej specyfikacji (Business Process Model and Notation (BPMN) Version 2.0.2):
2.2.1 BPMN Process Types
The implementations claiming Process Modeling Conformance MUST support the following BPMN packages:
The BPMN core elements, which include those defined in the Infrastructure, Foundation, Common, and Service packages (see Clause 8).
Process diagrams, which include the elements defined in the Process, Activities, Data, and Human Interaction packages (see Clause 10).
Collaboration diagrams, which include Pools and Message Flow (see Clause 9).
Conversation diagrams, which include Pools, Conversations, and Conversation Links (see Clause 9).
As an alternative to full Process Modeling Conformance, there are three conformance sub-classes defined:
Descriptive
Analytic
Common Executable
Descriptive is concerned with visible elements and attributes used in high-level modeling. It should be comfortable for analysts who have used BPA flowcharting tools.
Analytic contains all of Descriptive and in total about half of the constructs in the full Process Modeling ConformanceClass. It is based on experience gathered in BPMN training and an analysis of user-patterns in the Department of DefenseArchitecture Framework and planned standardization for that framework.
Both Descriptive and Analytic focus on visible elements and a minimal subset of supporting attributes/elements.
Common Executable focuses on what is needed for executable process models.
Mamy więc trzy typy modeli:
opisowe (descriptive), wykorzystują podstawowe elementy notacji, tylko ich graficzne atrybuty, pokazują procesy na wysokim poziomie abstrakcji jako ich architekturę (ogólny, abstrakcyjny przepływ pracy),
analityczne (analytic), pokazujące to co modele opisowe, te modele wykorzystują już ok. połowy wszystkich zdefiniowanych elementów notacji (nadal bez ich wewnętrznych atrybutów), służą do analiz i modelowania konkretnych wzorców zachowań i procesów, także procedur,
wykonywalne (common executable), zorientowane na tworzenie detalicznych modeli, możliwych do implementacji (uruchomienia) w środowiskach BPMS.
Wykonywalne ze swej natury, tworzone są z użyciem wszystkich pojęć BPMN i ich atrybutów. Celem ich tworzenia jest uruchomienie procesów w środowisku BPMS, jest praca analogiczna do programowania.
Modele opisowe i analityczne, to abstrakcyjne modele, a celem ich tworzenia jest udokumentowanie mechanizmów opisujących funkcjonowanie organizacji z perspektywy przepływu pracy i powstających jej produktów. Pozostaje więc powiedzieć, że nie ma sensu na modelach opisowych i analitycznych używanie pojęć i atrybutów nie wnoszących wartości dodanej do tych modeli a przeznaczonych do tworzenia model wykonywalnych. To dlatego na tych – analitycznych – modelach używa się maksimum ok. połowy elementów zdefiniowanych w notacji BPMN i to głównie te abstrakcyjne.
Typowym przykładem są zadania (task):
10.3.3.1 Types of Tasks There are different types of Tasks identified within BPMN to separate the types of inherent behavior that Tasks might represent. The list of Task types MAY be extended along with any corresponding indicators. A Task which is not further specified is called Abstract Task (this was referred to as the None Task in BPMN 1.2). The notation of the Abstract Task is shown in Figure 10.8.
Predefiniowane typy zadań (service task, send task, manual tast, itp.) to symbole reprezentujące konkretne wykonywalne elementy i parametry (atrybuty) zadań na poziomie skryptów BPEL4WS czy XPDL. Stosowanie ich na opisowych czy analitycznych modelach warstwy abstrakcyjnych nie ma większego sensu, zaciemnia diagram, a u wielu ich adresatów prowokuje ich intuicyjne interpretowanie, co dodatkowo prowadzi do wielu nieporozumień i pomyłek. Innymi słowy stosowanie na diagramach symboli przeznaczonych do interpretowania w środowiskach BPMS (zapisane jako BPEL4WS lub XPDL) na diagramach nie przeznaczonych do takiej interpretacji (opisowe i analityczne), a tylko do komunikowania architektury procesów lub mechanizmu działania organizacji, po protu nie ma sensu i szkodzi.
Zjawisko nadużywania tych symboli jest niestety dość powszechne na świecie, wielu autorów publikacji o stosowaniu BPMN, zwraca jednak uwagę na błędne stosowania formalnych notacji: jako biblioteki (fajnych) symboli. Notacje formalne to sformalizowane systemy pojęciowe, modele te to nie infografika prezentacyjna, to języki, których elementy cechuje określona semantyka i syntaktyka, których należy po prostu przestrzegać, bo bez tego diagramy te będą tylko obrazkami a nie modelami a ich interpretacja będzie niejednoznaczna.
Nagminnie spotykam się z diagramami podobnymi do tego:
Biorąc pod uwagę to, że nie jest to model procesu do wykonania w środowisku BPMS, diagram jest typowym przykładem przerostu formy nas treścią, czegoś co w literaturze nazywane jest „spaghetti-modelingiem”. Myślę, że sama nazwa wyjaśnia co autorzy tego określenia mieli na myśli.
Diagramy opisowe i analityczne reprezentują raczej poziom szczegółowości jak poniżej:
Warto pamiętać, że modele analityczne to także modele opisowe, jednak na tyle precyzyjne, że pozwalają np. na analizy możliwych optymalizacji, analizy przepływu informacji czy analizy wymagań na oprogramowanie. Przykładem modelu opisowego jest np. ten diagram:
Warto pamiętać, że symbol DataObject to abstrakcja reprezentująca określony dokument, z reguły formularz. Słownik kluczowych pojęć (Specyfikacja BPMN, dodatek C) zawiera dwie ważne definicje: atomic activity oraz business process. Proces biznesowy to aktywność (lub ich ciąg) prowadząca do powstania określonego biznesowego rezultatu. Atomowa (elementarna) aktywność to element, który nie jest już dalej dekomponowany, graficznie jest to Zadanie (Task) w notacji BPMN. Tak więc tworząc na opisowe, a nawet analityczne, modele procesów biznesowych, podstawowym blokiem konstrukcyjnym jest Zadanie i Dokument jaki tworzy (lub zmienia), nie ma więc sensu „obrazkowe” opisywanie wypełniania pól tego dokumentu w postaci diagramu i ciągu zadań z wariantami na nim. Treść dokumentu (DataObject, w tym rygory treści jego pól) dokumentuje się biznesowym słownikiem pojęć i regułami biznesowymi np. wartość upustu wybieramy z tablicy promocji, gdzie pojęcia upust i promocja mają swoje definicje.
Podobnie nie ma sensu na modelach analitycznych umieszczanie elementów takich jak „system IT” bo modele opisowe i analityczne, to modele biznesowe nazywane CIM (Computation Independent Model) czyli modele niezależne od oprogramowania (patrz OMG MDA).
O modelach wykonywalnych (common executable) nie tu piszę, bo rośnie sceptycyzm co do ich tworzenia. Dostawcy systemów BPMS (środowisk wykonywalnych BPM) tworzą własne rozszerzenia notacji BPMN lub nie raz stosują własne notacje, by możliwe było w pełni wykorzystanie dostarczanych rozwiązań i uwzględnienie ich ograniczeń.
W latach 60-tych powstała notacja IDEF0 (modelowanie procesów biznesowych do celów analitycznych), podstawowym zaleceniem metodycznym było tam modelowanie na takim poziomie abstrakcji, by poszczególne diagramy mieściły się na poziomo zorientowanych kartkach A4 i było czytelne, co gorąco polecam.
A tu przykładowe zastosowanie modelu analitycznego w notacji BPMN:
tego, że zgodnie z BPMN 2.0 można do diagramów dodawać inne elementy .…
tego jak przejść, zgodnie z definicjami procesów i przypadków użycia, od modelu procesu do modelu przypadków użycia:
Bouzidi, A., Haddar, N., & Haddar, K. (2019). Traceability and Synchronization Between BPMN and UML Use Case Models. Ingénierie Des Systèmes d Information, 24(2), 215 – 228. https://doi.org/10.18280/isi.240214
BIO: Od roku 1991 roku, nieprzerwanie, realizuję projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzę także samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzę wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie. Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów.
Strona używa plików cookie, aby zapewnić Ci wygodę przeglądania poprzez zapamiętywanie Twoich preferencji i powtarzających się wizyt. Klikając "Akceptuj wszystko", wyrażasz zgodę na użycie WSZYSTKICH plików cookie. Jednakże, możesz odwiedzić "Ustawienia plików cookie", aby zapewnić kontrolowaną zgodę.
Ta strona korzysta z plików cookie, aby poprawić wygodę podczas podczas przeglądania witryny. Pliko cookie, które są sklasyfikowane jako niezbędne, są przechowywane w przeglądarce, ponieważ są niezbędne do działania podstawowych funkcji witryny. Używamy również plików cookie stron trzecich, które pomagają nam analizować i zrozumieć, w jaki sposób korzystasz z tej witryny. Te pliki cookie będą przechowywane w przeglądarce tylko za Twoją zgodą. Możesz również zrezygnować z tych plików cookie. Ale rezygnacja z niektórych z tych plików cookie może mieć wpływ na wygodę przeglądania.
Niezbędne pliki cookie są absolutnie niezbędne do prawidłowego funkcjonowania witryny. Ta kategoria obejmuje tylko pliki cookie, które zapewniają podstawowe funkcje i zabezpieczenia strony. Te pliki cookie nie przechowują żadnych danych osobowych.
Wszelkie pliki cookie, które mogą nie być szczególnie potrzebne do działania witryny i są wykorzystywane w szczególności do gromadzenia danych osobowych użytkowników za pośrednictwem analiz, reklam i innych treści osadzonych, są określane jako niepotrzebne pliki cookie. Wymagane jest uzyskanie zgody użytkownika przed uruchomieniem tych plików cookie w witrynie.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__atuvc
1 year 1 month
AddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
__atuvs
30 minutes
AddThis sets this cookie to ensure that the updated count is seen when one shares a page and returns to it, before the share count cache is updated.
bcookie
2 years
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
bscookie
2 years
LinkedIn sets this cookie to store performed actions on the website.
language
session
This cookie is used to store the language preference of the user.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
na_id
1 year 24 days
The na_id is set by AddThis to enable sharing of links on social media platforms like Facebook and Twitter.
ouid
1 year 24 days
Associated with the AddThis widget, this cookie helps users to share content across various networking and sharing forums.
vc
1 year 24 days
The vc cookie is set by addthis.com on sites that allow sharing on social media.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
at-rand
never
AddThis sets this cookie to track page visits, sources of traffic and share counts.
browser_id
5 years
This cookie is used for identifying the visitor browser on re-visit to the website.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
uid
1 year 24 days
This is a Google UserID cookie that tracks users across various website segments.
uvc
1 year 1 month
Set by addthis.com to determine the usage of addthis.com service.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
di2
1 year 24 days
AddThis sets this cookie on sites that allow sharing on social media. It is used to track user behaviour anonymously, to create usage trends that will improve relevance to their services and advertising.
loc
1 year 1 month
AddThis sets this geolocation cookie to help understand the location of users who share the information.
um
1 year 24 days
Set by AddThis for registering the user's sharing of content through social media.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextId
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.