Czy roboty muszą tyle kosztować?

Celem tej analizy jest porównanie i przetestowanie software’u od wiodącego dostawcy, ale również tych tańszych i niestandardowych rozwiązań. Zobaczymy jak biznesowa część rodziny repoBot’ów poradzi sobie z przykładowym procesem. Na początek jednak pozwolę sobie przybliżyć w kilku słowach co to jest RPA, czyli Robotic Process Automation. Jaki jest business case i jakie jest zapotrzebowanie na specjalistów z tej dziedziny. Jeśli już wiesz to wszystko – przejdź od razu do zestawienia i testu technologii.

Co to jest to RPA?

Dla tych którzy jeszcze nie wiedzą – krótkie słowo wstępu czym jest Robotic Process Automation. Najprościej mówiąc – software’owy „robot” to aplikacja, która replikuje aktywność/akcje człowieka poprzez interakcję z interfejsem użytkownika na komputerze – „naciska” klawisze na klawiaturze, „rusza i klika” myszką wedle ustalonej kolejności kroków.

Ile to kosztuje?

Koszty licencji UiPath, Automation Anywhere czy Blue Prism to od około 4 do nawet 15 tysięcy USD rocznie za jednego użytkownika. Za stat.gov.pl, średnie wynagrodzenie brutto w sektorze przedsiębiorstw w Polsce w grudniu 2017 to około 5000 zł, pracodawca pewnie dokłada drugie tyle opłacając składki, fundusze, koszta biura, infrastruktury, itp. Roczny koszt jednego pracownika to około 30 tys. USD. Podsumowując 30 tys. vs 4 tys. USD wstępnie wygląda na całkiem niezły business case.

Kto zrobi robota?

Niektórzy dostawcy software’u, jak również firmy wdrażające rozwiązania z tej dziedziny często mówią że do stworzenia robota nie musisz umieć programować. Sprawdźmy, co na to rynek pracy. repoBot’y doniosły mi, że tylko w styczniu 2018 na portalu pracuj.pl pojawiło się ponad 40 ogłoszeń w poszukiwaniu RPA Developerów/Architektów/itp, a w nich oczekiwania wobec kandytatów m.in. takie jak:

  • Min. 5 years experience in software design and development
  • Knowledge of at least one of following languages: VB.NET, VBA, C#, Object Pascal,
  • Having track record in the successful delivery and support of excel macros, Visual Basic scripts or other configuration/scripting type technology
  • Experience in IT environment in supporting different stages of software development process (analysis, design, implementation, testing, deployment).
  • Experience in Object Orientated Development (VB, .NET, Java etc.).

Ok – czyli jednak trzeba programować. Tego nie unikniemy, nawet przy najprostszych robotach potrzebna jest co najmniej podstawowa wiedza na temat programowania obiektowego.

Gdzie użyć robotów?

Cokolwiek nie usłyszycie – RPA to nie sztuczna inteligencja, ani nawet trochę. RPA służy do odzwierciedlenia aktywności, którą wykonuje człowiek, na podstawie opracowanego schematu działania ze zdefiniowanym drzewem decyzji. Robota warto użyć do obsługi jasno i klarownie zdefiniowanego procesu, w którym nie ma miejsca na wybory, których nie potrafisz przetłumaczyć na algorytm. Czy masz takie procesy u siebie? Oczywiście że tak, być może nie zdajesz sobie z tego sprawy, ale stawiam „dolary przeciwko pączkom” że jest ich całkiem sporo.

Czy muszę za to płacić?

Nie ma nic za darmo 🙂 Jeśli Ty i Twój zespół nie potraficie programować, to musisz ponieść koszty RPA Developera/ów, jeśli potrafcie – musicie poświęcić swój czas. Na pewno jednak warto dobrze rozważyć wybór software’u. Oprócz wiodących na rynku jest wiele innych sposobów na robotyzację procesów, część z nich jest bezpłatna lub prawie bezpłatna. Przyjrzyjmy się im bliżej.

Porównywane technologie

Mimo tego iż jest co najmniej kilku wiodących dostawców, mało który udostępnia trial’owe lub darmowe wersje swojego oprogramowania. Stąd też, z wiodących, przetestuję UiPath, który po pierwsze udostępnia trial swojego produktu, a po drugie oferuje również jego darmową wersję (choć trochę uboższą). Do testów stają w alfabetycznej kolejności:

  • AutoHotkey_L – bezpłatne
  • Python + Selenium – bezpłatne
  • UiPath Enterprise Edition (Trial) – płatne ale jest dostępna Community Edition bezpłatna dla indywidualnych użytkowników i małych firm (do 5 użytkowników)
  • VBA / Excel 2016 – MS Excel jest płatny ale już go masz więc nie niesie dodatkowych kosztów

Z ciekawostek, zwrócę uwagę na fakt, że robotyzacja procesów jest już możliwa od kilkunastu lat. Autohotkey (w wersji L – którą testuję) jest dostępne od 2010 a w wersji poprzedniej od 2004 (też działa). VBA w Excelu istnieje od 1993 (już 25 lat!). Warto więc zadać sobie pytanie skąd nagle ten hype na RPA…

Przykładowy proces

Przykładowy proces zaprojektowałem tak aby jak najbardziej przypominał taki, który możecie zobaczyć w swoich organizacjach. Niewspółpracujące ze sobą technologie, mix narzędzi online i offline, rozwiązania stare i nowoczesne. Process flow prosty i oczywisty, ale niezbyt efektywny. Samo życie. Roboty odwzorowują te działania, które robiłby człowiek na ich miejscu, za wyjątkiem komunikacji z bazą danych, która, w celu przyspieszenia procesu, odbywa się bezpośrednio, a nie poprzez interfejs użytkownika. Proces flow poniżej, a process steps w załączniku do artykułu.

Process flow

RPA w akcji

Wreszcie sedno sprawy. Na poniższym wideo pokazuję, krótko dane wejściowe, wynik i 4 technologie (Autohotkey, Python + Selenium, UiPath, VBA / Excel) pracujące równolegle na tym samym procesie. Wideo ma komentarz w języku angielskim, mam nadzieję że to nie przeszkodzi Wam w odbiorze.

Wyniki i obserwacje

Czas mierzyły same repoBot’y, także pomiar jest powtarzalny i wiarygodny. Komentarze i punktację kluczowych części procesu subiektywnie przyznałem sam, co czyni je wiarygodnymi nieco mniej 🙂

 

 

VBA – kodowało się całkiem przyjemnie, pewnie też ze względu na moje najdłuższe doświadczenie z tym właśnie językiem. Nie udało mi się obsłużyć okienka do upload’u pliku w samym VBA – musiałem wesprzeć się VBScriptem. Jeśli chodzi o niezawodność – zdecydowanie najsłabsza spośród testowanych metod.

Autohotkey_L – byłoby nieźle gdyby nie ta szalona składnia języka. Mimo tego, że używałem Autohotkey lata temu, bardzo ciężko pracowało mi się nad tym botem, właśnie przez składnię. W miarę niezawodny jeśli chodzi o obsługę Internet Explorer’a.

UiPath – Bardzo przyjemny proces budowania robota. W większość drag & drop, jednak co widać po ilości linii kodu – nie udało się całkowicie uniknąć programowania. Raczej niezawodny, niestety ujawnił się jeden fragment, który mógłby w przyszłości sprawiać problemy.

Python + Selenium – Przejrzysta i przyjemna składnia to ogromne zalety Pythona, do tego udało się osiągnąć cel niewielką ilość kodu. Z pomocą Selenium, obsługa przeglądarek internetowych jest wysoce wiarygodna – stąd czas procesowania najkrótszy. Jak dla mnie na pewno miejsce 1sze wśród testowanych metod, choć UiPath nie jest daleko w tyle.

Python ma również inne zalety, które nie miały zastosowania w tym przykładzie. Duża ilość dodatkowych modułów wysokiej jakości, do przeróżnych zastosowań jak również bardzo szeroka społeczność programistów.

Czy roboty muszą tyle kosztować?

Odpowiadając na tytułowe pytanie – nie, nie muszą tyle kosztować. Jesteś w stanie  automatyzować swoje procesy taniej niż myślałeś, przy zachowaniu wysokiej niezawodności. Czy jest to strategia długoterminowa? Mądrze zaprojektowana – może być, ale to chyba temat na kolejny artykuł 🙂

Pozdrawiam

Kuba

 

Załączniki

Przykładowy proces – process steps

  1. Otwórz listę nowych Lead’ów.
  2. Sprawdź kompletność danych.
  3. Dane kompletne? Idź to kroku 5tego.
  4. Dane niekompletne? Pobierz brakujące dane z bazy danych.
  5. Przygotuj pliki w formacie csv (jeden / kanał) do importu.
  6. Zapisz pliki ze zdefiniowaną nazwą (lead_channel.txt).
  7. Otwórz stronę Salesforce.
  8. Zaloguj się.
  9. Idź do sekcji Leads.
  10. Powtórz kroki 11-22 dla wszystkich kategorii Lead’ów.
  11. Naciśnij przycisk Import.
  12. Zaznacz „Leads” w sekcji What kind of data are you importing?.
  13. Zaznacz „Add new records” w sekcji What do you want to do?.
  14. Zaznacz match leads by email.
  15. Wybierz kategorię lead’ów.
  16. Wybierz „CSV” w sekcji Where is your data located?.
  17. Wybierz Unicode8 w liście Character Code.
  18. Wybierz odpowiedni plik do zaimportowania=.
  19. Naciśnij Next.
  20. Naciśnij Next.
  21. Naciśnij Start Import.
  22. Naciśnij OK.
  23. Zarezerwuj slot czasowy dla lead’ów w kategoriach Partner i Website (1h dla Partner’ów, 30 min. dla Websites) w bazie danych.
  24. Utwórz i wyślij e-mail powitalny do wszystkich lead’ów w kategoriach Partner i Website.

Props

 

Do robots have to cost so much?<<

Leave a Reply

Your email address will not be published.