Niskokosztowe rozwiązania RPA - czyli pięć alternatywnych podejść do wdrażania robotyzacji procesów

Kategoria II
Wiedza
Niskokosztowe rozwiązania RPA - czyli pięć alternatywnych podejść do wdrażania robotyzacji procesów

Zakup dedykowanych narzędzi klasy RPA to spory wydatek. Zależnie od producenta jest on zazwyczaj w przedziale 3.000-18.000 USD rocznie za robota (to koszt zakupu licencji, do tego trzeba później doliczyć roczną opłatę utrzymaniową). Konieczne jest także uwzględnienie kosztów kastomizacji (nauczenia) robotów i zarządzania zmianami. Modyfikacja procesu biznesowego lub oprogramowania, które jest "pod spodem" RPA często pociąga za sobą konieczność modyfikacji działania robotów). Pojawia się pytanie, czy jest inna droga wprowadzenia robotyzacji do przedsiębiorstwa -  szczególnie w przypadku, gdy organizacja nie jest do tego przekonana.

W sieci można znaleźć informacje, ile kosztuje zakup robotów od wyspecjalizowanych dostawców. I tak np. licencja roczna na Blue Prism (najprawdopodobniej są to produkty najdroższe w tej klasie) to wydatek rzędu 15.000-18.000 USD.  Ceny licencji na UiPath zaczynają się od 3.000 USD (~3.000 USD za Studio, ~6.000 USD za Bota, ~20.000 za Orchestrator). Natomiast ceny rozwiązań firmy Automation Anywhere zaczynają się od 3.000 USD (cena dotyczyła starszej wersji narzędzia). Warto także zwrócić uwagę, że są to ceny bez VAT ;).

Firma analityczna Forrester w raporcie "The Forrester Wave™: Robotic Process Automation, Q1 2017" podaje, że koszt robota zazwyczaj mieści się w przedziale 5.000-10.000 USD. Zaś według Kinetic Consulting Services średni koszt licencji na rozwiązania RPA wynosi 5.400 USD. Należy także pamiętać, że przy produktach Automation Anywhere oraz Blue Prism dostawcy wymagają zakupu pakietu minimum 10 botów, co oznacza wydatek rzędu 100.000 USD.

Jak te ceny licencji przekładają się na całkowite koszty wdrożeń? Firma Deloitte wskazuje, że przedsiębiorstwo, które wdraża 500 botów musi się liczyć z kosztami rzędu 20 milionów USD (w tym mieszczą się licencje na oprogramowanie, planowanie, przeprojektowanie procesów, kastomizację, testowanie i wdrożenie). Przy założeniu, że boty zastąpią 1000 pracowników wdrożenie takie potencjalnie ma wygenerować 100 milionów dolarów oszczędności. Mamy jednak świadomość, że w warunkach polskich taki budżet wdrożenia jest gigantyczny i praktycznie nieakceptowalny.

Z drugiej strony zgodnie z danymi GUS z grudnia 2017 r. przeciętna wysokość wynagrodzenia w średnich i dużych firmach wyniosła 4.973,73 zł brutto,  co oznacza 3.531 zł na rękę. Rocznie na jednego pracownika oznacza to kwotę blisko 60.000 zł. Do tego trzeba dodać składki ubezpieczenia pokrywane przez pracodawcę w wysokości 20,61% oraz inne koszty utrzymania stanowiska pracy (też rzędu 20%). Oznacza to, że średni koszt etatu w Polsce to blisko 85 000 zł (w dużym przybliżeniu jest to 25.000 USD). Warto te wartości odnieść  do raportu z 2016 r. opracowanego przez Kinetic Consulting Services, w którym oszacowano, że jeden etat pracownika Back-Office na Filipinach kosztuje rocznie 10.150 USD, zaś w Indach 7.250 USD. Zestawienie porównawcze kosztów pracy przedstawia Wykres 1. 

Wykres 1. Roczny koszty miejsca pracy w Back-Office w kontekście RPA
Źródło: Opracowanie własne na podstawie The Case for Robotic Process Automation, Kinetic Consulting Services, luty 2016 oraz danych GUS

Jednocześnie warto zauważyć (por. Wykres 2), że w ostatniej dekadzie poziom zarobków w Polsce wzrósł o blisko 1.900 zł (z około 3.000 zł do około 4.900 zł). Czynnik ten (plus zmieniająca się, z różnych przyczyn dostępność zasobów ludzkich o określonych kompetencjach) może mieć istotne znaczenie przy podejmowaniu decyzji o wdrażaniu rozwiązań klasy RPA. Jeżeli nawet obecnie firma nie widzi takiej konieczności, to za jakiś czas może okazać się to po prostu niezbędne.

Wykres 2. Zmiana wysokości średnich zarobków w latach 2008-2017 r.
Źródło: Serwis Money.pl

Dlatego większość firm powinna przynajmniej przeanalizować możliwość wdrożenia rozwiązań klasy RPA (np. w formie POC - Proof of Concept). Ale czy jest rozsądna alternatywa dla profesjonalnych (ale bardzo drogich) rozwiązań klasy RPA? Okazać się może  że koszty wejściowe są dla większości organizacji zbyt wysokie. 

Wydaje się, że jest kilka możliwych ścieżek działania. Oczywiście na pewno nie jest to zestaw kompletny - dlatego będę wdzięczny za Państwa komentarze, co pozwoli mi uzupełnić to zestawienie:

  1. Darmowe wersje profesjonalnych rozwiązań klasy RPA.
  2. Rozwiązania klasy RPA w modelu Open Source.
  3. Wykorzystanie dedykowanego języka skryptowego do automatyzacji działań.
  4. Wykorzystanie narzędzi do automatyzacji testów w połączeniu z uniwersalnym językiem programowania.
  5. Wykorzystanie mechanizmu makr dostępnym w pakiecie biurowym w połączeniu z językiem programowania wykorzystywanym w danym pakiecie biurowym.

Ad 1. Darmowe wersje profesjonalnych rozwiązań klasy RPA

Jeden z głównych dostawców oferuje obecnie darmową wersję profesjonalnych rozwiązań klasy RPA. Jest ona ograniczona funkcjonalnie w stosunku do "starszego brata" (który ma np. możliwości kognitywne). Dostawca ogranicza od strony licencyjnej możliwość skalowania wdrożeń tego produktu w przedsiębiorstwach. Jest to rozwiązanie Work Fusion Express (https://www.workfusion.com/rpaexpress)

Do tej kategorii celowo nie zaliczyłem wersji trial narzędzi RPA (np. UiPath Enterprise), ponieważ są one przydatne do ogólnego rozpoznania możliwości poszczególnych produktów, ale nie da się ich zastosować w bardziej rozbudowanym PoC lub przy mini-wdrożeniach.

Ad 2. Rozwiązania klasy RPA w modelu Open Source

Na rynku można wskazać produkty z obszaru RPA, które są tworzone i rozwijane są w modelu Open Source.

W tej grupie można wskazać:

Byłbym ostrożny w zastosowaniu tych produktów do dużych wdrożeń, ale do działań pilotażowych mogą być wzięte pod uwagę.

Ad 3. Wykorzystanie dedykowanego języka skryptowego do automatyzacji działań

RPA nie jest nową koncepcją. Zanim zrobił się boom na tej klasy oprogramowanie, od dawna istniał język skryptowy  AutoHotkey_L (open source, dostępny do nieodpłatnego użycia). Dzięki jego zastosowaniu możliwa jest automatyzacja większości czynności wykonywanych w środowisku Windows, w szczególności:

  • możliwość użycia każdego klawisza, przycisku klawiatury, myszy,
  • manipulacja plikami, tekstem i oknami należącymi do prawie każdego programu,
  • wywoływanie funkcji z bibliotek DLL, np standardowych funkcji Windows API,
  • automatyczne rozwijanie wybranych skrótów literowych do wcześniej zdefiniowanych ciągów znaków,
  • konwersja stworzonych skryptów do samodzielnego pliku wykonywalnego EXE, który można uruchomić na każdym komputerze.

W praktyce oznacza to, że mając w zespole programistów przynajmniej pewne elementy realizacji procesów można zautomatyzować bezkosztowo - o ile ograniczymy się do środowiska Windows.

Ad 4. Wykorzystanie narzędzi do automatyzacji testów w połączeniu z uniwersalnym językiem programowania

Jednym z pierwszych obszarów automatyzacji pracy było wykonywanie testów. Można próbować zastosować narzędzia z tego obszaru do automatyzacji działań (celowo nie używam słowa procesów) biznesowych. 

W ostatnich latach dużą popularność zyskał zestaw narzędzi określanych wspólnym mianem Selenium. Pod kątem automatyzacji działań szczególnie istotny jest Selenium WebDriver pozwalający na przygotowanie testów pod przeglądarką internetową. W przypadku próby zaadaptowania Selenium do automatyzacji działań biznesowych w celu osiągnięcia pełnych możliwości automatyzacji dostarczanych przez to narzędzie należy rozważyć wykorzystanie go razem z językiem Python (w tym miejscu zachęcam do sięgnięcia po książkę Al Sweigart pt. "Automatyzacja nudnych zadań z Pythonem. Nauka programowania").

Ten wariant automatyzacji jest najtrudniejszy od strony realizacyjnej, wymaga bowiem największych umiejętności programistycznych. Jego zaletą jest brak opłat licencyjnych.

Ad 5. Wykorzystanie mechanizmu makr dostępnym w pakiecie biurowym w połączeniu z językiem programowania wykorzystywanym w danym pakiecie biurowym

Od wielu lat w pakiecie MS Office dostępna jest możliwość tworzenia makr. W połączeniu z językiem VBA (Visual Basic for Application) wbudowanym w MS Office można oprogramować sporą część prac realizowanych w środowisku Microsoftu. Dzięki temu istnieje możliwość zautomatyzowania czynności wykonywanych w Outlooku, Wordzie, Excelu, Accessie oraz przeglądarce internetowej. To podejście także wymaga umiejętności programistycznych (w zakresie języka Visual Basic). Ma jednak ono niezwykle wąski obszar zastosowań w stosunku do wcześniej przedstawionych metod automatyzacji.

Jak widać z powyższego przeglądu najprostsze na etapie pilotażu jest wykorzystanie ograniczonych wersji narzędzi (ścieżka pierwsza, ew. druga). Alternatywną ścieżką jest wykorzystanie Selenium+Pythona. Jeżeli w organizacji są programiści wykorzystujący tę kombinację, może się to okazać metodą najszybszą i najtańszą.

Należy także pamiętać, że (może poza ścieżką pierwszą) przedstawione rozwiązania są trudniejsze w utrzymaniu (wymagają ciągłego dostępu do programistów), mogą okazać się trudniej skalowalne i są zdecydowanie mniej przyjazne dla biznesu (no i last but not least: ciężko się nimi pochwalić na konferencjach i w komunikatach prasowych ;)).

Trzeba mieć także świadomość, że wdrożenia profesjonalne w dłuższej perspektywie czasu mają jedną kluczową zaletę. Ponieważ większość z nich jest obecnie na etapie intensywnego rozwoju a ich dostawcy inwestują w integrację rozwiązań klasy RPA z technologiami kognitywnymi, więc za jakiś czas należy spodziewać się powstania dojrzałych produktów klasy Cognitive RPA (nazywanych czasami RPA II). Przedstawione wyżej rozwiązania alternatywne nie zapewnią takiej możliwości.