• Home
  • Blog
  • Automatyzacja procesów biznesowych (BPMN)

TECHNOLOGIE

Automatyzacja procesów biznesowych (BPMN)

21.05.2020 - Przeczytasz w 5 min.

Czym jest BPMN? Czy znasz wartość procesów biznesowych i automatyzacji? Jaki mają wpływ na relację pomiędzy biznesem, a zespołem deweloperskim? Sprawdź czemu wybraliśmy Camundę.

Automatyzacja_procesów_biznesowych_(BPMN)_rst_software_masters

Świat IT to już od dłuższego czasu coś więcej, niż tylko proste strony internetowe ze statyczną treścią. Obecnie to często skomplikowane aplikacje, na które składa się nawet kilkaset komponentów od kilkudziesięciu różnych zespołów deweloperskich. Komponenty, bądź innymi słowy usługi, działające „pod spodem” są niewidoczne dla użytkownika końcowego i przetwarzają zawiłą logikę biznesową. Składając zamówienie, klient nie ma pojęcia co tak naprawdę dzieje się wewnątrz. A potrafi dziać się tam naprawdę sporo. Zwłaszcza odkąd dominującą architekturą systemów stała się ta oparta o mikroserwisy. 

Jeśli chcesz dowiedzieć się więcej o samych mikroserwisach, możesz pobrać nasz darmowy e-book Mikroserwisy czy monolit, czyli jak wyjść z architektury hamującej rozwój lub przeczytać krótki Niezbędnik mikroserwisów, czyli 10 cech efektywnej architektury.

 

Starcie biznesu z deweloperami

OK, ale odejdźmy od tego co widzi użytkownik i przejdźmy na stronę zespołów deweloperskich i współpracujących z nimi osób z tzw. biznesu. Nieporozumienia na linii deweloper – biznes to rzecz całkowicie naturalna – biznes często nie zna technikaliów, a deweloper nie ma pełnej świadomości tego, czego oczekuje druga strona, jak dana funkcjonalność przekłada się na zyski itd. Sytuację tę doskonale przedstawia poniższa grafika: Automatyzacja_procesów_biznesowych_(BPMN)_rst_software_masters

Czy współpraca deweloperów z biznesem zawsze musi kończyć się w ten sposób? A może da się na to coś  zaradzić?

 

Wspólny język – BPMN

Jak pozwolić zrozumieć biznesowi to co się dzieje w systemie? Pokazać! 

Tutaj do akcji wchodzą procesy biznesowe, a właściwie ich automatyzacja. Programista powie: „Hej, przecież my w kodzie też automatyzujemy pewne procesy” – i ma rację, ale czy tłumacząc biznesowi, osobie nietechnicznej, jak działa np. proces nadawania dostępów dla klienta, po rejestracji w systemie, będzie zrozumiany?. „Dostajemy event rejestracji z usługi X, pytamy się po API w usłudze Y i jak status jest na true to ustawiamy dostęp, w przeciwnym wypadku event wraca na DLQ”. Możliwe, iż biznes uda, że zrozumiał, albo poprosi o przetłumaczenie na zrozumiały język.

A gdyby tak przekuć powyższe operacje w obrazek? Chińskie przysłowie mówi:

Jeden obraz wart więcej niż tysiąc słów.

Jak to więc zrobić? Za pomocą schematu blokowego? OK, może i będzie to bardziej czytelne,ale dalej jest to techniczny język, niekoniecznie zrozumiały dla każdego. Problematyczne może być także to, jak za jego pomocą na żywo zaprezentować, na jakim etapie procesu dany klient się znajduje w danym momencie.

Z pomocą przychodzi nam BPMN. Jest to graficzna notacja, której zrozumienie nie zajmie dużo czasu, a znacznie ułatwi porozumiewanie się pomiędzy osobami technicznymi i nietechnicznymi. Tutaj (online) sprawdzisz sam, jak proste jest zbudowanie takiego procesu.

 

Przykładowa transformacja wyżej wspomnianego procesu do postaci BPMN:

Automatyzacja_procesów_biznesowych_(BPMN)_rst_software_masters

 

To może automatyzacja?

Jednak wyłącznie sam uspójniony język komunikacji to nie wszystko. Przydałby się jakiś silnik pozwalający zautomatyzować procesy biznesowe. 

W naszym wypadku wybór padł na silnik Camunda (zobacz – obecnie jesteśmy jedynym certyfikowanym partnerem Camunda w Polsce). Dlaczego? Silnik jest tak naprawdę rozwinięciem open-source’owego narzędzia jakim jest Activity, jednak Camunda poszła w swoją stronę z rozwojem silnika i obecnie jest bardzo mocnym graczem na rynku. Przede wszystkim Camunda dalej jest darmowym narzędziem. Ma wiele udogodnień, jak np. kokpit, wsparcie dla popularnych języków programowania, tabele decyzyjne, możliwość optymalizacji procesów. Warto wspomnieć też o community, m.in. forum Camundy, gdzie można bez problemu uzyskać pomoc.

 

Co właściwie może Camunda?

Camunda wspiera znakomitą większość standardu BPMN 2.0, a co za tym idzie pozwala automatyzować rozmaite procesy. Zobacz, dlaczego warto wdrażać zaawansowane narzędzia oraz gdzie, Camunda sprawdza się najlepiej.

Należy tutaj wspomnieć przede wszystkim o możliwości asynchronicznej komunikacji z zewnętrznymi serwisami poprzez tzw. External Taski. Nie można też zapomnieć o User Taskach, które są tak naprawdę odzwierciedleniem udziału człowieka w procesach biznesowych – proces dojdzie do tego momentu i zaczeka, aż ktoś ręcznie potwierdzi ukończenie zadania (np. gotowość paczki do wysłania w procesie symulującym zamówienie). Równie ciekawym rozwiązaniem są zdarzenia sterowane czasem. Trzeba ponaglić klienta, gdy ten nie płaci na czas rachunku? Camunda spełni tę rolę idealnie! Takich i innych rozwiązań jest wiele. Z powodzeniem można spełnić skomplikowane wymagania biznesowe i przedstawić je w czytelny sposób.

 

Biznes lubi widzieć

Poprzez udostępnienie wspomnianego kokpitu do zarządzania procesami, w którym każda nietechniczna osoba powinna się bezproblemowo odnaleźć, biznes tak naprawdę uzyskuje okno na świat. Dając dostęp do możliwości podglądu własnych procesów biznesowych, przekazujemy biznesowi bardzo dużo niezbędnych informacji. Bez pomocy zespołu deweloperskiego (który, nie mając silnika procesów, zazwyczaj zmuszony jest do przeszukiwania logów aplikacji) biznes jest w stanie dowiedzieć się, dlaczego system zachował się w określony sposób. Jeśli dodać do tego podgląd ,,na żywo” konkretnych instancji procesów, możliwość obserwacji, na jakim etapie,w danym procesie aktualnie znajduje się klient, otrzymujemy sprzyjające biznesowi narzędzie.

 

Kolejne zalety silnika BPMN

W czym Camunda może jeszcze pomóc? To poniekąd zabrzmi jak paradoks, ale w skomplikowanych procesach są czasem sytuacje, których nie warto automatyzować. Mogą to być np. przypadki brzegowe, występujące bardzo rzadko, natomiast będące bardzo kosztowne w implementacji,w momencie ich automatyzacji. Camunda pomoże nam i tym razem – przez wspomniane już User Taski. Wystarczy, że odpowiednio zbudujemy proces, który wyróżni problematyczne przypadki i skieruje je do obsługi manualnej – dla kogoś z szerszą wiedzą biznesową (w przypisaniu zadań do konkretnych osób pomoże lista zadań) – a dany przypadek zostanie rozwiązany ręcznie.

 

Błędy, czyli skąd wiedzieć, że coś poszło źle? 

Camunda ma odpowiedź także na ten problem. Udostępnia ona bowiem mechanizm incydentów. Po otworzeniu kokpitu w mgnieniu oka widać, które procesy zostały wstrzymane przez błąd. Ponowienie danego procesu w przypadku błędu również jest do wykonania z poziomu kokpitu, dzięki czemu ta czynność staje się dziecinnie prosta. Żadnego problemu nie stanowi także monitorowanie stanu procesów. O tym, jak jest to ważne, przeczytasz tutaj.

 

Automatyzacja vs programista

Czy Camunda oferuje coś deweloperom? A może tylko dokłada im pracy, bo przecież oprócz kodu (bez którego i tak się nie obejdzie) muszą tworzyć jeszcze procesy w postaci BPMN? Okazuje się, że programiści też są w stanie czerpać korzyści z Camundy. Pomaga im choćby sam kokpit i prezentacja procesu oraz miejsca, w którym ten się aktualnie znajduje. Zespół w mgnieniu oka (bez zaglądania w logi) jest w stanie dostrzec sytuację i miejsce, w którym dana usługa zewnętrzna ma jakieś dolegliwości i niepoprawnie przetwarza zapytania. Można natychmiast poinformować zespół odpowiedzialny, że coś jest nie tak. Co więcej, można też „jednym kliknięciem” zatrzymać wszystkie procesy przed zapytaniem do źle działającej usługi.

 

Moc tabel decyzyjnych

Dodatkowo narzędzie wspiera też standard DMN  – w skrócie jest to po prostu tabela decyzyjna. Deweloperzy niejednokrotnie dostają wymagania biznesowe w postaci arkusza kalkulacyjnego, gdzie dla kilku różnych zmiennych na wejściu ma być określony wynik. Używając DMN zamiast lasu instrukcji warunkowych, bądź skomplikowanych strategii w kodzie łatwiej jest przekonwertować tabelę od biznesu bezpośrednio na tabelę decyzyjną (np. przy użyciu konwertera plików XLSX do postaci DMN). Wyobraź sobie sytuację, w której przychodzi do zmiany wymagań biznesowych. Zamiast ,,nurkować” w kodzie, wystarczy zmienić wartości w czytelnej tabeli. Jest to szybsze, łatwiejsze do zmiany i banalne w testowaniu. Oczywiście tabele te są też dostępne dla biznesu z poziomu kokpitu (mogą być nawet edytowalne), co jest kolejnym mocnym punktem.

 

Zmierzając do brzegu…

Camunda to potężne narzędzie i nie sposób scharakteryzować wszystkich jego możliwości w jednym wpisie. Oczywiście, ma również swoje bolączki, natomiast jest stosunkowo łatwo rozszerzalne i daje się przystosować do swoich potrzeb. Po około 2 latach obcowania z Camundą jesteśmy w stanie powiedzieć, że jest to jak najbardziej przydatne narzędzie. Zarówno z perspektywy programisty (gdy jednym rzutem oka na proces, w ciągu kilku sekund, wiadomo mniej więcej co się w nim dzieje), jak i biznesu, z którym mamy okazję blisko współpracować. Obserwując jego działania, widać, że daje im to odczuwalną wartość, a także zdejmuje z nas – programistów – nieco obowiązków. 

Ocena artykułu

Udostępnij

Sławomir Szczurek-RST Software

Sławomir Szczurek

Developer

Absolwent wydziału Informatyki i Zarządzania na Politechnice Wrocławskiej. Od dłuższego czasu związany z językiem Java, lubi rozwiązania proste i przejrzyste, stoi na straży jakości kodu i nie tylko. Po pracy śledzi F1 i majsterkuje przy samochodach.

Newsletter

Newsletter

Dziękujemy, Twój email został wysłany.

Nasz serwis internetowy używa plików cookies do prawidłowego działania strony. Korzystanie z serwisu bez zmiany ustawień dla plików cookies oznacza, że będą one zapisywane w pamięci urządzenia. Ustawienia te można zmieniać w przeglądarce internetowej. Więcej informacji udostępniamy w Polityce plików cookies.