Zrozumieć platformy robotyczne. Na co warto zwrócić uwagę, decydując się na wykorzystanie platformy Blue Prism w robotyzacji procesów biznesowych?
Wybór odpowiedniej platformy robotycznej to jedna z kluczowych decyzji, którą należy podjąć, decydując się na wdrożenie robotyzacji procesów w organizacji. Rynek oferuje szereg rozwiązań, wśród których jeszcze do niedawna prym wiedli trzej kluczowi gracze – Blue Prism, UiPath oraz Automation Anywhere. Półtora roku temu do oferty dołączył Microsoft z platformą Power Automate (dawny Softomotive).
W artykule blogowym “Robotic Process Automation. Modele wdrożenia, czyli różne drogi do zatrudnienia Cyfrowych Pracowników” poruszyliśmy kwestie różnic biznesowych pomiędzy głównymi modelami wdrożenia robotyzacji. Z kolei w tej publikacji podejmujemy temat platform robotycznych, skupiając się przede wszystkim na możliwościach oferowanych przez Blue Prism’a.
Publikację bazuję na swoich doświadczeniach zdobytych zarówno w zespołach operacyjnych przy optymalizacji i wdrażaniu procesów do codziennej obsługi, jak i trwającemu już ponad 4 lata budowaniu, utrzymywaniu i rozwijaniu instalacji robotycznych. Na tej podstawie przygotowałem subiektywną listę, za co cenię współpracę z Blue Prism’em. Artykuł rozszerzyłem również o komentarze odnoszące się do pozostałych platform.
#1
Projektowanie na bazie schematu blokowego, które wpływa na przejrzystość w procesie.
Dwie rzeczy, na które przede wszystkim należy zwrócić uwagę to:
- przyjazny użytkownikowi interfejs;
- możliwość projektowania opartego o schemat blokowy modelowania w standardzie BPMN 2.0 lub UML.
Każdy krok w procesie jest prezentowany poprzez odpowiednią ikonę kojarzącą się przede wszystkim z diagramami czy różnego rodzaju flowchart’ami reprezentującymi przebieg procesu. Kształty ikon używane w programie przedstawiają pojedynczy krok procesu i mają charakterystyczną reprezentację graficzną zależną od rodzaju czynności, jaką robot wykonuje. Jest to przejrzyste rozwiązanie i umożliwia, nawet bez znajomości procesu odczytać, co w danym miejscu dzieje się w programie. UiPath, podobnie jak Power Automate, podchodzą do tej kwestii inaczej, ukazując poszczególne kroki jako zbiór elementów do wykonania w zagnieżdżony sposób. Dla osób lubiących schematy, BluePrism sprawdzi się najlepiej.
#2
Niski próg wejścia w stosunku do konkurencyjnych rozwiązań.
Dzięki przejrzystej i łatwej w przyswojeniu reprezentacji graficznej procesu, BluePrism ma jeden z bardziej przyjaznych interfejsów. Jest łatwy do zrozumienia, świetnie sprawdza się przy prezentowaniu przebiegu procesu. Dostępne gotowe rozwiązania i materiały szkoleniowe (głównie z oficjalnej strony) oraz narzędzia BluePrism’owe dodatkowo po ich poznaniu pozwalają na kreatywne podejście do robotyzacji.
#3
Elastyczny model integracji z aplikacjami poprzez różne narzędzia i metodologię odczytu.
W rozwiązaniach robotycznych sednem pracy jest integracja z różnego rodzaju aplikacjami używanymi w procesie. Wszystkie narzędzia umożliwiają tzw. modelowanie aplikacji. Można to nazwać uczeniem robota, jak dana aplikacja wygląda i w jaki sposób po niej nawigować.
BluePrism nie jest idealny pod względem współpracy i integracji z aplikacjami. Dlaczego?
- Ciężko integruje się z platformami na Citrix’ie.
- Średnio radzi sobie także z odczytem skanów.
- Nie jest dedykowany jako narzędzie do zdalnego zarządzania robotami (np. mobilnie) lub interakcji z użytkownikiem podczas pracy robota (chociaż taka opcja w ograniczony sposób jest dostępna).
Wypełnia to jednak możliwością tworzenia własnych rozwiązań, w zależności od naszej kreatywności, które są w stanie poradzić sobie z ewentualnymi brakami platformy. Wraz z narzędziem do robotyzacji dostajemy szereg gotowych rozwiązań (tzw. wtyczek) do integracji z różnymi aplikacjami używanymi w systemach operacyjnych takich jak:
- przeglądarki internetowe,
- otwieranie i odczyt plików, arkuszy, czy też programów opartych na konkretnych technologiach np. SAP, aplikacjach WEB oraz Windows Desktop.
BluePrism nie pozostaje w tyle za innymi narzędziami i oferuje możliwość integracji z:
- pakietem Office,
- popularnymi przeglądarkami jak Mozilla Firefox, Microsoft Edge (lub starszy Internet Explorer), Google Chrome,
- przeglądarką plików Acrobat Reader.
Pod tym względem wartość dla biznesu wzrasta wraz z elastycznością narzędzia robotycznego. Przyjazne narzędzie to takie, które zapewnia tę elastyczność, co przekłada się znów na tańsze pozyskanie robotyzacji w biznesie.
Mimo tego, nie jest to łatwe zadanie i wybór odpowiedniego modelu robotyzacji nie raz zaważy na skuteczności, czy też stabilności procesu. Do tego dochodzi konieczność umiejętnego zbudowania algorytmu, przy jednoczesnej próbie przewidzenia możliwych scenariuszy przebiegu procesu oraz odpowiedniego przygotowania “reakcji” robota.
#4
Możliwość tworzenia uniwersalnych obiektów oraz szablonów celem wykorzystania w różnych procesach.
Po stworzeniu fragmentu procesu (np. otwarcie lub zamknięcie programu), mamy możliwość zapisania go jako część algorytmu oraz wykorzystania w innym procesie, który będziemy poddawać robotyzacji. Są to tak zwane obiekty, które reprezentowane są w procesie głównym jako akcje.
Wraz z narzędziami dostajemy część gotowych akcji (stworzonych przez dostawcę rozwiązania). Jednak nic nie stoi na przeszkodzie, aby stworzyć je samodzielnie np. akcję zarządzania plikami na własny użytek. Warto nadmienić, że w samych narzędziach często mamy już gotowe szablony algorytmów do wykorzystania jako fragment naszego przyszłego projektu.
Ważnym elementem w tym miejscu jest wypracowanie standardu tworzenia projektów w organizacji (w oparciu o dostępne szablony w narzędziu). Przekłada się ono później na jakość i łatwość implementacji automatyzacji w organizacji. Ma to także istotny wpływ na wdrażanie kolejnych robotów lub dostosowaniu ich do już istniejących zmian w procesie. Wraz z dobrze opisaną dokumentacją procesu, opisany i wdrożony standard stanowi istotny element każdego projektu.
#5
Możliwość implementacji rozwiązań na bazie języków SQL, VB.Net, Powershell.
Narzędzia robotyzacji w różny sposób podchodzą do kwestii implementacji kodu opartego o język programowania. Każde z nich umożliwia integrację i tworzenie funkcji przy wykorzystaniu języków programowania:
- w UiPath’ie głównie możemy korzystać z komend VB.NET’a,
- w PowerAutomate przede wszystkim z Visual Basic,
- w BluePrism’ie istnieje możliwość korzystania wprost z zapytań bazujących na języku SQL, tworzenia akcji na bazie Visual Basic czy też integracji (poprzez odpowiednią akcję) komend Powershell’a.
Wszystko zależy od sytuacji i kreatywności użytkownika oraz dopasowania rozwiązania robotycznego pod specyficzny typ procesu.
#6
Przyjazne i przejrzyste zarządzanie procesami w Control Room’ie.
Tworzenie robotów to dopiero początek drogi. Niemniej ważne jest zarządzanie dostępnymi zasobami oraz sesjami gotowych, pracujących już, robotów. Innymi słowy, kontrola tego jaki robot, na jakiej stacji robotycznej aktualnie wykonuje pracę oraz które z zasobów (stacji) są dostępne. Łatwość i prostota w przypadku zarządzania tą częścią odgrywa niemałą rolę. I tutaj podejścia są różne. W BluePrism mamy tzw. Control Room, w którym w różnych zakładkach możemy:
- kontrolować i obserwować uruchomione sesje,
- przeglądać kolejki robotów (czy są w nich jakieś dane i ich status),
- zarządzać zasobami
- tworzyć lub importować tzw. paczki ze zmianami w procesach czy też w obiektach.
Wszystko w jednym przejrzystym oknie, gdzie za przeciągnięciem myszy możemy puścić sesję robota, zatrzymać, a nawet rozdzielić na kilka stacji robotycznych. W tym miejscu również zarządzamy licencjami robotycznymi, czy ustawieniami ogólnymi całego środowiska. Można by rzecz, że jest to centrum dowodzenia – i jego przejrzystość oraz dostępność są istotne dla sprawnej obsługi całej instalacji robotycznej.
#7
Przejrzyste i zintegrowane narzędzia do zarządzania licencjami oraz hasłami.
Ważną kwestią przy projektowaniu robotów jest zadbanie o to, aby mieć na czym je uruchamiać oraz by z łatwością móc nadać im odpowiednie uprawnienia do aplikacji. W BluePrism’ie jest to scentralizowane we wspomnianym już Control Room’ie. Hasła są zabezpieczone i zaszyfrowane (zarówno w komunikacji z robotami jak i w samym narzędziu). Raz po ich wprowadzeniu do aplikacji (przez administratora), stają się daną, której nie można „ręcznie” odczytać wprost z narzędzia.
Nadal jednak mamy pełną kontrolę administrowania hasłami robotów wraz z odpowiednim poziomem uprawnień. Także w tym miejscu zarządzamy i kontrolujemy stan licencji programu, ich podział wraz z komunikatami o dacie ważności (program monituje i komunikuje zbliżający się termin końca licencji).
#8
Rozbudowana baza wiedzy (instrukcje) w postaci dokumentacji i video oraz możliwość implementacji gotowych rozwiązań z forów poświęconych narzędziu.
Wszyscy dostawcy dążą do dostarczenia jak najlepszych materiałów szkoleniowych i koncepcyjnych dla swoich produktów. W przypadku BluePrism’a do dyspozycji użytkowników oddany jest portal internetowy, gdzie można zapoznać się z materiałami szkoleniowymi. Warto także skorzystać z forów poświęconych różnym zagadnieniom, skąd można zaczerpnąć sprawdzone już rozwiązania, czy też skorzystać z pomocy społeczności w niejasnych przypadkach. Podobnie ma się sytuacja także z innymi platformami robotycznymi, więc tutaj możemy być spokojni, że nie zostaniemy z tym sami.
#9
Rozbudowany system kontroli konfliktów w procesie i łatwe wyszukanie fragmentów (bloków) procesu wg. referencji lub fragmentów tekstu (wyszukiwarka).
Projektowanie robota przypomina tworzenie obrazu. Zaczynamy od zaplanowania procesu i tego, w jaki sposób robot będzie pracował. Tworzymy szkielet (szkic) algorytmu, dodając poszczególne elementy składające się w całość. Kreujemy model pracy na aplikacji i planujemy go zgodnie z dokumentacją przebiegów procesu. Później skupiamy się na detalach, takich jak konkretne kalkulacje, funkcje, zmienne, opisy itp. Ostatnim z elementów jest obsługa sytuacji niestandardowych, reakcji robota na awarie w procesie oraz sprawdzenie całego procesu w kontekście poprawności.
Dla dewelopera ważną kwestią jest możliwość przetestowania stworzonego fragmentu algorytmu i sprawdzenie, czy nie ma w nim błędów technicznych czy logicznych. I tutaj też mamy dostęp do pomocnych funkcji samego narzędzia, gdzie walidacja fragmentu algorytmu następuje w czasie dewelopmentu (pewną analogią jest np. sprawdzanie pisowni w edytorach tekstu). W PowerAutomate po dodaniu kroku, od razu jest on walidowany i w przypadku błędu oznaczony wraz ze wskazaniem jakiego rodzaju (można wyłączyć błędny fragment). Inaczej podchodzi do tego UiPath, gdzie w przypadku wystąpienia błędu w procesie, nie zapiszemy błędnego kodu (jednak nadal mamy możliwość testowania tego fragmentu algorytmu).
Do kontroli nad konfliktami i błędami w procesie służy walidacja. Dzięki niej możemy:
- wylistować automatycznie wykryte błędy lub konflikty w danym procesie/ obiekcie;
- wskazać kategorie błędów;
- bez problemu przenieść się do danej strony, fragmentu kodu i kroku, gdzie konieczna jest zmiana;
- wyszukać kroki lub funkcje zawierające fragment tekstu czy odnoszące się do konkretnej zmiennej.
Te elementy pozwalają na jeszcze większą kontrolę procesu.
#10
Gotowe funkcje dedykowane pod typ danych i możliwość symulowania wyniku wyrażenia bez konieczności uruchamiania procesu.
Wspomniałem już o tym, że wraz z narzędziem do robotyzacji otrzymujemy szereg gotowych rozwiązań czy szablonów. Mamy też dostęp do funkcji umożliwiających pracę na różnych typach danych tj. konwersja danych, daty, liczby, tekst czy też bardziej specyficzne jak zmienne środowiskowe czy obsługa wyjątków, praca na plikach. Są też funkcje logiczne, które możemy znać z pracy na arkuszach kalkulacyjnych. Jeśli jednak trafimy na (stosunkowo rzadką) sytuację, kiedy danej funkcji nie ma, możemy taką sami uruchomić poprzez stworzenie nowej akcji (kroku) robota.
Kolejną funkcjonalną opcją jest możliwość zasymulowania wyniku wyrażenia w poszczególnych elementach kroku robota. Celem tego rozwiązania jest sprawdzenie czy krok w algorytmie działa poprawnie, bez konieczności uruchamiania całego procesu. Mechanizm ten daje nam możliwość podglądu, co aktualnie znajduje się w zmiennych oraz umożliwia ich swobodną edycję na różnych funkcjach. Jest to bardzo przydatne rozwiązanie, z którego najczęściej korzystamy przy dewelopmencie.
#11
Możliwość zaplanowania pracy procesu wg. scheduler’a z określeniem co do konkretnych dni, cyklu, godzin.
Gdy nadejdzie dzień uruchomienia robota, w zależności od oczekiwań procesowych, mamy możliwość zaplanowania cyklu pracy robota. Możemy wybrać i zaplanować czas pracy na określony dzień tygodnia, określone godziny, a nawet posiadamy możliwość wskazania określonych dni “wolnych od pracy”. Dzięki temu nie musimy się martwić, czy robot rozpocznie pracę oraz pamiętać o tym, jak wygląda harmonogram jego pracy. Wszystko jest widoczne w jednym miejscu.
#12
Obszary do rozwoju
Obszarem do rozwoju BluePrism’a, na który warto zwrócić uwagę w przyszłości, jest stworzenie możliwości zdalnego zarządzania robotem i jego pracą, jak również integracja z aplikacjami zarządzanymi przez Citrix’a. Roboty oparte o to narzędzie nie są optymalnym rozwiązaniem w przypadku procesów wywoływanych przez decyzję użytkownika zewnętrznego. W takiej sytuacji konieczne jest wykorzystanie dedykowanych aplikacji lub stworzenie własnej. Również rozważając wdrożenie obsługi skanów, lub innego rodzaju obrazów, należy pamiętać, że jest to pięta achillesowa robotyzacji. Przy wyborze procesu istotna jest pamięć o tych ograniczeniach narzędzia i wcześniejsze zarządzanie nimi.
Podsumowanie
Podsumowując, BluePrism sprawdzi się wszędzie tam, gdzie istotne będą kwestie zbudowania instalacji robotycznej dającej przede wszystkim gwarancję bezpieczeństwa danych. Dodatkowo platforma ma stosunkowo niski próg wejścia w porównaniu do konkurencyjnych rozwiązań.
Co więcej, warto podkreślić możliwość scentralizowanego zarządzania i monitorowania przebiegu zrobotyzowanych procesów oraz zaplanowania z wyprzedzeniem czasu pracy robotów. Światowa marka daje gwarancję dostępu nie tylko do wysokiej klasy rozwiązania, ale i do materiałów edukacyjnych, które pozwalają w sprawny sposób uporać się z pojawiającymi ograniczeniami narzędzi. Jest to platforma godna polecenia firmom, które planują w swojej organizacji zbudować Centre of Excellence z w pełni działającą farmą robotów pracujących każdego dnia ramię w ramię ze swoimi ludzkimi kolegami z pracy.
Ostatnią rzeczą wartą podkreślenia jest fakt, że decydując się na zakup tej platformy robotycznej jedynym kosztem, który ponosimy, jest koszt samej licencji robotycznej. Narzędzia umożliwiające sprawną i łatwą do zarządzania pracę, takie jak Control Room, środowiska testowe, czy stacje deweloperskie wliczone są w cenę licencji.
Jeżeli chciałbyś poznać ten temat od strony biznesowej, zachęcam do zapoznania się z artykułem Karola Smolińskiego: “Robotic Process Automation. Modele wdrożenia, czyli różne drogi do zatrudnienia Cyfrowych Pracowników”, w którym autor wyjaśnia różnice w biznesowych aspektach pomiędzy głównymi modelami wdrożenia robotyzacji.