Robotic Process Automation – w czym tkwi sekret jej popularności?

Przemysław Włodarczyk | Transformacja cyfrowa | 1 kwietnia 2020

Sprzedaż oprogramowania Robotic Process Automation zanotowała w 2018 roku wzrost o 63%. To czyni systemy RPA najszybciej rozwijającą się technologią, a wartość rynkowa sektora rośnie w zawrotnym tempie. Czym jest ta technologia i w jakich branżach się ją wykorzystuje? Jak narzędzia RPA rewolucjonizują rynek i co kryje się za ich sukcesem? O tym wszystkim opowiada Przemysław Włodarczyk, RPA developer w JCommerce.

Czym jest RPA (Robotic Process Automation)?

Wyobraź sobie, że rozmawiasz z kimś, kto pierwszy raz słyszy o RPA. Jak w prosty sposób wyjaśniłbyś, czym jest ta technologia?

Może rozwinę skrót RPA: to jest Robotic Process Automation, czyli automatyzacja procesów biznesowych (ang. Business Processes Automation). Tłumacząc prosto – automatyzuje się to, co człowiek robi ręcznie. Wykonuje takie czynności jak analiza czy przetwarzanie danych. Co pozwala skupić się człowiekowi na bardziej wymagającej pracy i trudniejszych zadaniach.

Skąd taka ogromna popularność tych rozwiązań w ostatnim czasie? Co stoi za zawrotnym tempem ich rozwoju? 

W przypadku technologii RPA tworzy się takich „wirtualnych pracowników”. Skąd popularność? Wiadomo: oszczędności. Zamiast zatrudniać kilkadziesiąt osób, które realizują dane czynności manualnie, można do tego zaangażować, stworzyć robota software’owego, który będzie kosztował mniej niż fizyczny pracownik, nie będzie żądał podwyżek, nie będzie chodził na urlopy, nie będzie chorował, nie rzuci pracy z dnia na dzień.

Od prostego makra do automatyzacji procesów biznesowych

Jak wcześniej automatyzowało się procesy biznesowe?

Automatyzacją zajmuję się już od ponad 5 lat i wcześniej automatyzowało się pracę ludzi – w zależności od wykorzystywanej aplikacji i jej możliwości – różnymi technologiami, jak: makra VBA lub aplikacje typu C Sharp. Czas rozwoju oprogramowania przy wykorzystaniu takich rozwiązań był jednak długi. Późniejsze utrzymanie takich narzędzi polegało na tym, że aby dowiedzieć się, jaką logikę biznesową posiada automatyzacja, jakie wykonuje czynności, trzeba było analizować kod aplikacji.

I tutaj wchodzi na scenę technologia Robotic Process Automation, jako coś nowego, co jest łatwiejsze w utrzymaniu i wdrożeniu…

To po pierwsze – jeśli automatyzujemy jakiś proces, to ideą oprogramowania RPA jest to, że wdrożenie jest znacznie szybsze. I druga rzecz – jest kilka narzędzi, zintegrowanych środowisk do utrzymania aplikacji. Ich zaletą jest to, że widać całą logikę danego procesu. Do projektowania wykorzystuje się na przykład program BluePrism czy UIPath. To są swego rodzaju schematy blokowe, logiczne kawałki. Jeżeli ktoś je zobaczy, to jest w stanie zrozumieć, jakich procesów biznesowych dotyczą.

Także użytkownik biznesowy? Czy klient, który chce zobaczyć, jak taki proces jest zbudowany od środka, będzie w stanie zrozumieć, o co tam chodzi?

Tak, zaprojektowany proces można pokazać użytkownikowi biznesowemu. Na przykład w BluePrism klient może łatwo zobaczyć, jakie dane są przetwarzane oraz jakie czynności są na tych danych wykonywane. Nie trzeba analizować kodu całej aplikacji. Dlatego właśnie robotyka, w tym rozwiązania RPA, są uważane obecnie za kolejny krok w automatyzacji procesów biznesowych.

BluePrism, UIPath to najczęściej wykorzystywane narzedzia RPA

Czy „robotyka” i „RPA” oznaczają to samo? Jest tak wiele zastosowań RPA i tyle rodzajów: hybrydowe RPA, wspierane RPA, niewspierane RPA. Łatwo się w tym pogubić.

I tak, i nie. Robotyka to zbiór różnych technologii. To nie jest jeden język programowania, jedna technologia czy jedno narzędzie. To jest wiele narzędzi, także w zależności od klienta, od firmy, która wdraża takie rozwiązanie. Są różne technologie – bardziej zaawansowane, mniej zaawansowane, w zależności od podejścia.

Jak będzie wyglądać praca z RPA?

Czy pracownicy mogą się obawiać tego, że technologia RPA ich zastąpi? A może będzie wykorzystywana tylko jako model wspierający dla pracowników?

Podczas automatyzacji procesów biznesowych nigdy całkowicie nie eliminuje się udziału fizycznych pracowników. Są pewne części tego procesu, których nie można zautomatyzować i jest potrzeba wykonywania pracy manualnie.

Możesz podać przykład?

Rolą pracownika może być dostarczenie danych wejściowych (ang. input), np. faktur. Może je dostarczyć w różnej formie: mailowo, w formie pliku Excel lub innego pliku. Następnie program Robotic Process Automation działający na maszynie wirtualnej wykonuje określone czynności i uzyskujemy dane wyjściowe (ang. output), które również mogą mieć różną formę. Dalsze czynności, takie jak aktualizacje w bazie danych, zlecenia zapłaty czy inne operacje na danych pracownik będzie wykonywał samodzielnie.

Czy wykorzystanie RPA w firmie wymaga dużej wiedzy od takich pracowników?

Od pracownika nie jest wymagana tak naprawdę żadna wiedza techniczna. Dodatkowo dzięki zastosowaniu maszyn wirtualnych, czyli plików, tzw. obrazów, które zachowują się jak rzeczywisty komputer, działanie RPA nie ma wpływu na środowisko pracy użytkowników.

Robotic Process Automation, RPA is a technology for the automation of human process .

Zastosowanie rozwiązań RPA

Z jakim ciekawym zastosowaniem RPA się spotkałeś? Brałeś udział w jakimś ciekawym projekcie?

Jednym z ciekawszych rozwiązań, które miałem okazję tworzyć, był projekt RPA dla banku, który pozwolił zautomatyzować pracę wykonywaną wcześniej przez 20 osób.

Jeden robot zastępował 20 osób?

Automatyzowałem jeden proces, który wykonywał człowiek, ale tych robotów pracowało jednocześnie 9. Gdy się projektuje takie rozwiązania, to trzeba również myśleć o skalowalności, czyli o tym, żeby takich robotów działało w jednym czasie kilka. W tamtym przypadku 9 działających robotów zastępowało pracę 20 osób.

To sporo!

To jest jeszcze mało! Nie budowałem, ale uczestniczyłem w utrzymaniu takiego rozwiązania, gdzie jednocześnie na danych mogło pracować 20 narzędzi RPA. Te roboty zastępowały pracę ok. 100 osób.

Są jakieś ograniczenia w tworzeniu takich robotów software’owych i wykorzystaniu RPA czy też „sky is the limit”?
Ograniczeniem jest infrastruktura. Dana firma ma zwykle określone zasoby, np. maszyn wirtualnych, które może zaangażować. Często automatyzuje się kilka różnych procesów, więc trzeba planować użycie zasobów. Gdy jakaś firma decyduje się na automatyzację, tworzy się osobny dział robotyki i odpowiedni podział ról.

RPA is a technology for support human in repetitive activities.

Wdrożenie automatyzacji procesów

Jak wygląda taki zespół odpowiedzialny za wdrożenie technologii RPA?

Są w nim analitycy, którzy przeprowadzają analizę danych procesów pod kątem możliwości automatyzacji oraz potencjalnych oszczędności. Są developerzy RPA, tak jak ja, zaangażowani w cały proces projektowania i programowania narzędzi w środowisku developerskim. Później wykonuje się testy symulujące pracę robotów w środowisku produkcyjnym, a następnie gotowe narzędzia RPA trafiają na produkcję. Od tego momentu robotami zarządzają kontrolerzy. Zajmują się m.in. przydzielaniem zasobów. Na przykład, gdy widzą, że jest dużo danych do procesowania, przydzielają kolejne narzędzia, by zoptymalizować i przyśpieszyć proces.

Wdrożenie automatyzacji danego procesu wymaga zatem zaangażowania bardzo wielu osób o różnych kompetencjach?

Dokładnie. Dodatkowo oprócz analityka, przeważnie po stronie biznesu, istnieje osoba lub osoby nazywane SME (Subject Matter Expert). SME to ekspert posiadający kompletną wiedzę na temat procesu, z którym developer ściśle współpracuje. O sukcesie automatyzacji decyduje zaangażowanie wielu ludzi, nie tylko developera, to praca zespołowa.
Rola developera nie sprowadza się tylko do wdrożenia automatyzacji. Developer zajmuje się również utrzymaniem rozwiązania, które wdrożył – dodawaniem nowych funkcjonalności, naprawą błędów, implementacją zmian w procesie itp.

Korzyści z wdrożenia. Czy RPA się opłaca?

Jako główny powód wdrożenia RPA często wymienia się skalowalność. Na jakim etapie można ustalić, czy proces będzie opłacalny i kto się tym zajmuje?

To analityk, który najczęściej jest osobą wewnątrz firmy, zajmuje się oszacowaniem, czy automatyzacja będzie opłacalna. Można sprawdzić np., ile czasu zajmują pracownikowi dane procesy. Następnie możemy przeanalizować, czy np. wdrożenie Robotic Process Automation da jakieś wymierne korzyści. Bo też trzeba pamiętać o tym, że takie roboty nie są darmowe.

Jakie są koszty związane z RPA?

Firma, która udostępnia technologię, pobiera opłaty za licencję – i to nie są małe kwoty. W przypadku rozwiązania BluePrism, z którego korzystam, jest to – z tego, co wiem – około 5000 funtów na miesiąc. Analityk musi więc wziąć pod uwagę koszty licencji i przeanalizować, czy opłacalne jest korzystanie z RPA, czy bardziej opłacalne jest pozostawienie tego procesu ludziom. Wymierne korzyści przynosi zwykle automatyzacja większych procesów, gdzie przetwarzany będzie duży wolumen danych.

A jakie są największe korzyści z wykorzystania RPA i w jaki sposób się je mierzy?

Wymierne korzyści to te finansowe, automatyzujemy pracę ludzi. Jeśli projektujemy jakiegoś robota, to procesuje on tak zwane „itemy”. Takim itemem może być jakiś dokument, faktura itd. Jako developer RPA mogę oszacować, że jedną taką fakturę robot procesuje 3 minuty, podczas gdy człowiekowi zajmuje to 15 minut. W przypadku RPA bardzo łatwo zmierzyć czas pracy dzięki temu, że istnieje zintegrowane środowisko, które umożliwia monitoring.

A Ty jako developer jakie dostrzegasz korzyści?

Ideą rozwiązań RPA jest to, że wszystko jest zintegrowane, wszystko jest w jednym miejscu. To się sprawdza, gdy jako developerzy pracujemy nad automatyzacją procesu, który wykorzystuje kilka różnych programów. Dawniej potrzebowaliśmy kilku technologii. Teraz możemy dany proces zautomatyzować od A do Z, wykorzystując jedno narzędzie. No i przede wszystkim czas wdrożenia jest o wiele krótszy niż przy zastosowaniu języków programowania.

Business Process Automation – możliwe problemy

A jakie napotykasz wyzwania?

Głównie problemy techniczne. Robotyka polega na tym, że automatyzuje się proces, by przetwarzał dane w sposób, jaki robi to człowiek, choć to zależy też od używanej aplikacji. Zautomatyzowany proces może różnić się od manualnego – RPA może wyciągać dane z jakiejś bazy danych czy web serwisu. Jednak nie zawsze jest to możliwe. Podam przykład. Mamy proces, który wykorzystuje dane z trzech zewnętrznych systemów, gdzie nie mamy dostępu do baz danych. Jeżeli dana firma nie udostępni mi bazy, to mam tylko dostęp do interfejsu użytkownika. Wyzwaniem mogą też być aspekty prawne regulujące dostęp do danego systemu.

Jak ważna jest współpraca między działem developerskim i biznesem?

Często jest to tak naprawdę współpraca nie między działem developerskim i biznesem, ale developerem i zewnętrzną firmą, która dostarcza jakieś aplikacje. Niejednokrotnie trzeba się kontaktować z supportem zewnętrznej firmy i ustalać, co jest możliwe do zrealizowania, a co nie. Muszę się dowiedzieć, w jaki sposób mogę jakieś dane pozyskać, czy firma jest chętna do udostępniania mi interfejsu, z którego mogę korzystać, żeby zoptymalizować pracę budowanego robota.

Kto najwięcej skorzysta z narzędzi RPA?

Jeśli chodzi o branże, to w której z nich widzisz największy potencjał wykorzystania technologii RPA?

Zajmuję się tym od paru lat i branża nie ma tak naprawdę znaczenia. To może być branża finansowa, produkcyjna, działy HR czy finansowe. Zakres zastosowania robotyki jest bardzo duży. Z tego co wiem, to bardzo dużo firm finansowych interesuje się wdrażaniem technologii RPA. Ale nie jest ona ograniczona do takich firm. Zainteresowane mogą być także firmy produkcyjne czy te z branży motoryzacyjnej. Generalnie: większe korporacje, które chcą zautomatyzować pracę swoich działów.

Jaki jest klucz do sukcesu takiego projektu? Według badań E&Y 30-50% projektów Robotic Process Automation upada.

Czasem przyczyną są błędy na etapie analizy danych procesów. Warto pamiętać, że te rozwiązania nie są bezobsługowe. To nie działa w ten sposób, że zaprojektuje się takiego robota i można o nim zapomnieć. Często w aplikacjach, z których korzystają firmy, są wdrażane aktualizacje. W takiej sytuacji roboty korzystające z ich zasobów również potrzebują przebudowy. Z tym się wiążą dodatkowe nakłady finansowe dla ludzi odpowiedzialnych za utrzymanie. Bywa też tak, że oczekiwania biznesu są inne, a rzeczywistość je weryfikuje.

O jakie sytuacje chodzi?

Wyjaśnię na przykładzie. Jest proces finansowy, który sprawdza, czy dana faktura została opłacona. Robot robi to w takim samym czasie jak człowiek, czyli np. zajmuje mu to 3-5 minut. Biznes chciałby, żeby ten robot przeprocesował 20 000 faktur, co jest fizycznie niemożliwe z powodu błędnie wykonanej analizy biznesowej na początkowym etapie i nieoszacowania technicznych możliwości. Ktoś nie sprawdził, jakie są oczekiwania biznesu, a jakie techniczne możliwości i pomimo zaangażowania czasu oraz pracy ludzi automatyzacja nie przynosi oczekiwanych oszczędności.

Etap powdrożeniowy

Kto się zajmuje utrzymaniem rozwiązań RPA? Osoby, które zajmowały się wdrożeniem czy też jest to po stronie firmy? A może firma zewnętrzna?

To zależy od firmy. Dział robotyki to może być wewnętrzna struktura i utrzymaniem zajmują się developerzy, pracownicy tej firmy. Może być też tak, że developerzy i kontrolerzy pracują w innych firmach. U obecnego klienta, dla którego pracuję, robotyką zajmuje się dział w wewnętrznych strukturach firmy, a utrzymaniem robotów – zewnętrzna firma. Po zakończeniu developmentu robot trafia na środowisko produkcyjne i zanim będzie w pełni funkcjonalny, musi działać pod stałym nadzorem, tzw. okresie „hypercare”, który trwa 1 miesiąc. W tym czasie robota dostosowuje się do środowiska produkcyjnego i eliminuje błędy. Po okresie hypercare odpowiedzialność za utrzymanie robota przejmuje zewnętrzna firma.

Oczywiście developer nadal jest odpowiedzialny za utrzymanie. Jeżeli w przyszłości wystąpią błędy, które nie zostały wykryte w poprzednich etapach wdrażania, musi je wyeliminować, a także dostosować robota do wszelkich zmian, które występują w automatyzowanych aplikacjach.

Dziękuję za rozmowę!

Autorem wpisu jest:

RPA Developer

RPA Developer w JCommerce. Lubi zmagać się ze skomplikowanymi automatyzacjami, starając się przy tym wykorzystywać wiedzę z różnych dziedzin IT. Oprócz robotyki pasjonat programowania w technologii .NET. Prywatnie ciekawy świata miłośnik jazdy na rowerze, w szczególności turystyki rowerowej.

Dodaj komentarz: