Blog

Odcinek 9. Einstein i Edward – dywagacje o relacjach międzyludzkich

Miałem ostatnio dość nietypowy sen. Oczywiście, jako, że standardowo nie sypiam, bo pracuję 24 godziny, 7 dni w tygodniu, ale wykorzystałem chwilowe okienko czasowe, ponieważ u Klienta trwała akurat wymuszona przerwa techniczna głównego programu ERP i zdrzemnąłem się chwilę. Przyśniła mi się rozmowa ze wspaniałym człowiekiem, laureatem nagrody Nobla – Albertem Einsteinem. Początkowo jakoś dziwnie się czułem, gdyż w tym marzeniu sennym przeniosłem się do 50- lat XX wieku i na tle kawiarni, w której się spotkaliśmy wyglądałem jakbym był z kosmosu. Po przebudzeniu, zanim wróciłem do swojej pracy, szybciutko zadzwoniłem do Moniki i opowiedziałem jej o czym rozmawialiśmy z Albertem. Okiem Eksperta: „Boję się dnia, w którym technologia zakłóci interakcje międzyludzkie. Wtedy świat zyska pokolenie idiotów ” – Albert Einstein Nie wiem, czy to tzw. legenda miejska, czy rzeczywiście profesor tak się wypowiedział. Jeśli tak, to powiedział to nie później niż w latach 50-tych XX wieku. Od tego momentu dzielą nas technologicznie lata świetlne. Ale obawa wciąż jest aktualna. Czy technologia spowodowała powstanie pokoleń idiotów? Nie zaryzykowałabym takiej tezy. Czy wszechobecna technologia zakłóca interakcje międzyludzkie? Absolutnie tak. Być może dlatego, że żyjemy w epoce nowinek technologicznych tak częstych i tak intensywnych, nie mamy czasu na zdystansowanie się do nich. Jesteśmy w nich tak zanurzeni, że nie przychodzi nam do głowy refleksja – czy one wszystkie są nam w ogóle potrzebne? Kiedyś zadawaliśmy sobie pytanie czy można żyć bez telewizji. Dziś pytamy, czy moglibyśmy obejść się bez mediów społecznościowych. Oczywiście, że moglibyśmy, ale to wymaga od nas wysiłku i determinacji. A my stajemy się leniwi. No i mówimy tu o uzależnieniu. Nie jest to wciąż pokolenie idiotów, ale technologia, która miała być nam podległa, przejmuje kontrolę nad naszym czasem i role się odwracają. To my stajemy się jej poddanymi. Technologia automatyzacji procesów biznesowych też jest, na razie, nowinką. Co oznacza ona w uproszczeniu? Zrobić robota, który za ciebie wykona nudną, żmudną pracę, abyś ty miał więcej czasu na… No właśnie. Warto się zastanowić przez chwilę, na co ten dodatkowy czas? Na pogrążanie się, na przykład, w niewolnicze oddanie mediom społecznościowym czy na twórczy rozwój? Robot wykona za nas wiele zadań w naszej pracy, ale to od nas zależy jak wykorzystamy czas, który dla nas zaoszczędził. Czy spożytkujemy go na relacje z klientem, na rozwój własny, na lepszą organizację zadań, na kontakty ze współpracownikami. Czy go zmarnujemy. Dobra automatyzacja pomaga budować i rozwijać nowe relacje międzyludzkie w biznesie. Tą filozofią kierujemy się w naszym zespole XELTO DIGIAL . Ponieważ, dopóki istnieją więzi pomiędzy członkami zespołów, w grupie, w sterowaniu biznesem itp., dopóty technologia spełnia swoją pożyteczną rolę. Tam, gdzie technologia te relacje zastępuje, świat „zyskuje” pokolenie odludków, żeby nie powiedzieć mizantropów. Autor: Monika Stawicka – Business Analyst

czytaj więcej »

Odcinek 8. Edward w obłokach – NetSuite jako przykład automatyzacji cloudowych systemów ERP

Dziś chciałbym wraz z Przemkiem opowiedzieć Wam o automatyzacji systemów ERP innych niż JD Edwards czy SAP, bo opartych na rozwiązaniach chmurowych. Jednym z takich systemów jest NetSuite czyli prawdopodobnie najlepszy cloudowy system do zarządzania produkcją. Jako ciekawostkę powiem Wam, że artykuł na temat NS bardzo długo „dojrzewał”. I w sumie, kiedy już powstał, to sam nie wiem dlaczego, tyle czasu nad nim pracowaliśmy z Przemkiem. Przecież ten temat jest taki niesamowity. Okiem Eksperta: NetSuite od firmy Oracle jest kompletnym, w pełni skalowalnym rozwiązaniem, zaprojektowanym dla szybko rozwijających się przedsiębiorstw. Jest to jeden z produktów błyskawicznie zwiększających swoje udziały na rynku chmurowych systemów ERP. Rozwiązanie wykorzystuje chmurę do przechowywania danych, w związku z czym jego automatyzacja przebiega nieco inaczej. O różnicach opowiem na przykładzie zrealizowanego dla jednego z naszych klientów procesu: aktualizacja wersji zestawień materiałowych (BOM). Na wstępie dodam, że pojawiły się już dedykowane rozwiązania w UiPath pozwalające na automatyzację z poziomu backend`u, ale… nie u każdego są one możliwe do zrealizowania ze względów konfiguracyjnych bądź dostępowych. W naszym przypadku rozwiązanie nie umożliwiło zmian w całym NS, a jedynie w części aplikacji. W związku z tym zdecydowaliśmy się na klasyczną automatyzację interfejsu użytkownika. Pierwszą z różnic pomiędzy klasycznym ERP a NS jest brak bazy danych, co uniemożliwia wyciąganie potrzebnych informacji takich jak np. lista zadań (Work Order) czy komponenty w rewizji (BOM Revision) z poziomu SQL. Aby rozwiązać ten problem wykorzystaliśmy Web Scraping – bezpośredni odczyt danych z ekranu. Następnie przy mechanizmie przechodzenia do kolejnego Work Orderu (kolejnej „transakcji”) – w cloudowym ERP nie można wpisać np. numeru WO w aplikacji, tylko trzeba przejść do WO za pomocą unikalnego linku. To samo dotyczy innych zakładek/aplikacji. Wykorzystując pole Internal ID (domyślnie ukryte, ale opcjonalne pole w NS) oraz stałą część adresu udało nam się stworzyć mechanizm, który pozwala poruszać się po systemie NetSuite bez uciążliwego i długiego klikania po ekranie – czyli bezpośrednią nawigację. Jedną z ostatnich rozbieżności były selektory. O ile w klasycznych ERP dane pole posiada jeden stały selektor, to w NetSuite napotkaliśmy przypadki, w których pole miało dwa (a czasem nawet trzy) różne selektory, w zależności od tego czy było aktywne (kliknięte) czy nie. Dodatkowo, urokiem aplikacji webowej jest to, że czasem mimo iż jakiegoś wewnętrznego okna/przycisku nie widać na ekranie (wyłączony parametr visible/active na stronie) to de facto dla robota, który szuka selektora jest to widoczne. Finalny problem z jakim się spotkaliśmy związany był z jednoznacznym wybieraniem nazwy komponentu (produktu), jeśli na liście wartości dla pola znajdowało się kilka pozycji zaczynających się od tych samych znaków. Wynikało to stricte ze specyfiki NS i jego sposobu wyświetlania list. Pomimo początkowych trudności, udało nam się opracować mechanizm sprawdzenia, czy wybór jest niejednoznaczny i w takim przypadku wykorzystaliśmy poszerzone wyszukiwanie z możliwością ustawienia szukania konkretnego tekstu. Spytacie czy nie lepiej było go użyć od początku? Odpowiedź brzmi nie – to wyszukiwanie wymaga otwarcia nowego okna, zaznaczenia kilku pól i poczekania na wynik, co przekłada się na kilka (naście) sekund więcej dla procesowania pojedynczego komponentu (produktu). Wydaje się niedużo, aczkolwiek w kontekście całego procesu wydłużyłoby go znacząco. Podsumowując, automatyzacja systemów ERP opartych na chmurze ma swoje plusy i minusy. Na pewno w niektórych przypadkach będzie szybsza od automatyzowania tradycyjnych systemów ERP, aczkolwiek wymaga ona znalezienia odpowiednich rozwiązań. Autor: Przemysław Wal – RPA Developer Foto: iStock

czytaj więcej »

Odcinek 7. Edward ubiera się u Prady, czyli jego nowy Framework

W tym tygodniu chciałbym Wam się do czego przyznać. Kiedy zadzwoniłem do Rafała, żeby omówić zagadnienia dotyczące Framwork`a  zdałem sobie sprawę, że praca z całym zespołem XELTO DIGITAL to czysta przyjemność. Każdy w naszym zespole odpowiada za konkretne automatyzacje procesów, ale kiedy ktoś z Nas boryka się z zagadnieniem, którego nie może „rozgryźć” nie zostaje z tematem sam. Dzięki temu wsparciu, wspólnym rozmowom i „burzom mózgów” powstał właśnie wzór budowy robotów. Ale zanim o tym wszystkim z Rafałem  opowiemy, muszę w tym miejscu podziękować moim Koleżankom i Kolegom za tą współpracę. Okiem Eksperta: UiPath promuje tworzenie rozwiązań w oparciu o tak zwany 'Robotic Enterprise Framework’, który gwarantuje podstawową implementację najważniejszych koncepcji wspierających tworzenie automatyzacji. Razem z zespołem XELTO DIGITAL poszliśmy o krok dalej i stworzyliśmy rozbudowaną wersję frameworke’a, który stanowi podstawę budowanych przez nas robotów. Co nam to daje?  1.Standaryzacja Dla każdego klienta wszystkie procesy zbudowane są dokładnie w taki sam sposób. Pozwoliło nam to zaimplementować wiele wspólnych mechanizmów już na etapie projektowania wzorów. Otwierając nowy projekt programista nie musi się już martwić o logowanie, główną obsługę błędów czy też przygotowanie środowiska. Dla przykładu: wykorzystując procedurę TypeIntoElement programista jednym klockiem zaloguje czy element istnieje, wpisze do niego wartość wybraną przez siebie metodą, sprawdzi czy wprowadzona wartość jest poprawna i jeśli coś nie zadziała, to powtórzy to X razy. Ponadto, zarówno logi, jak i komunikaty błędów mają jednolity format i dostarczają nam kluczowych informacji. 2. Bezpieczeństwo Dzięki wbudowanym mechanizmom każdy z procesów potrafi dokonać podstawowego przygotowania maszyny do pracy, jak i pozostawić po sobie środowisko gotowe na kolejnego robota. Ponadto, co by się nie wydarzyło, robot jest w stanie z gracją zamknąć wszystkie otwarte aplikacje i pozostawić stację w takim samym stanie, w jakim ją zastał. Jeżeli robot pracuje na Windows serwerze to wie, żeby zamykać procesy jedynie dla konkretnej sesji użytkownika, pozwalając na bezpieczną pracę wielu robotów jednocześnie. 3.Przyspieszona produkcja Przygotowanie wzoru dla nowego projektu zajmuje ok. 30 minut. W tym czasie programista otrzymuje pakiet kompleksowych rozwiązań, których jednorazowe projektowanie, budowanie i testowanie zajmowałoby co najmniej kilka dni. Z kolei wykorzystanie reużywalnych komponentów pozwala na szybką budowę akcji procesowych. Piszę tu zarówno o uniwersalnych procedurach obecnych we framework’u, jak i tych przygotowanych pod konkretne aplikacje, które są dostępne w zbudowanych przez nas bibliotekach pomocniczych. Dla przykładu, wspomniany już TypeIntoElement oraz ClickElement będą działać na każdej aplikacji webowej, natomiast NavigateFastPathJDE jest procedurą zbudowaną stricte pod obsługę szybkiej ścieżki w JDE. 4.Lepsze SLA wsparcia technicznego  Standaryzacja procesu tworzenia robota pozwala na poprawę czasu diagnostyki w przypadku wystąpienia błędów w pracy procesu. Są tego dwa powody: po pierwsze, konkretne błędy mogą wystąpić jedynie w konkretnych miejscach. Jeśli nie działa połączenie ODBC to od razu wiemy, że problemu należy szukać w obszarze 'get transactions data’. Dzięki temu czas potrzebny na samo szukanie miejsca problemu zostaje znacząco skrócony. Po drugie, wprowadziliśmy jednolite kody błędów dla wszystkich robotów oraz podzieliliśmy je między te, za które odpowiedzialny jest biznes, jak i te, które występują po stronie używanych aplikacji. Gdy podczas monitoringu pracy robotów pojawi nam się komunikat, np. B0001, to od razu dla nas jest jasne, że nie udało się robotowi zalogować do aplikacji, ponieważ hasło wygasło. Podsumowując, wdrożenie własnego wzoru budowy robotów spowodowało, że nowe procesy budowane są szybciej, bezpieczniej i pozwalają łatwo wpasowywać je do już istniejącej infrastruktury robotycznej u dowolnego klienta. Autor: Rafał Korporowicz – Senior RPA Developer Foto: iStock

czytaj więcej »

A jeśli zastąpi mnie robot…?

W roku 1983 okładka magazynu Times przedstawiała robota wywożącego na taczce fabrykę i anonsowała artykuł pt.: The new economy. Dotyczył on prognoz na przyszłość w dobie recesji, bankructw w przemyśle ciężkim wieszcząc kurczenie się miejsc pracy dla tzw. blue collars. To czas rodzenia się przemysłu nowych technologii, tak egzotycznych jak mikroelektronika, laser, inżynieria genetyczna; powstają zupełnie nowe obszary rozwoju, jak w przypadku firmy Apple, która właśnie z firmy garażowej przekształca się w potężną korporację. Pojawiają się obawy związane z rozwojem automatyzacji i możliwością zastępowania robotami czy automatami całych sektorów zakładów pracy dotychczas opanowanych przez człowieka. Ale przecież obawy przed automatyzacją towarzyszyły człowiekowi już od momentu wprowadzenia pierwszych maszyn. Słyszeliśmy o niszczeniu maszyn w fabrykach w początkach XIX wieku; był to dobrze zorganizowany ruch tzw. luddystów protestujących przeciwko zmianom sposobu ich życia i zagrożeniom, jakie niósł wynalazek i zastosowanie maszyn tkackich. Nocne napady na tkalnie, niszczenie maszyn, czy zastraszanie ludzi nie cofnęło procesu uprzemysłowienia, podobnie jak zabranianie przez amerykańskie związki zawodowe, prawie wiek później, używania przez pracowników fabryk pneumatycznych rozpylaczy do farb. Ale pokazało wyraźnie, że lęk przed nowym był i będzie zawsze towarzyszył człowiekowi, niezależnie od epoki. Liczby mówią jednak, że mechanizacja produkcji spowodowała gwałtowny wzrost a nie spadek ilości miejsc pracy. Przykładowo, w USA w 1910 w przemyśle samochodowym pracowało 140 tysięcy osób, w 1920 z postępującą mechanizacją liczba miejsc pracy wzrosła do 250 tysięcy, a w 1930 pracowało tam już 380 tysięcy. Po opublikowaniu w 2013 roku przez Carla Freya i Michaela Osborna artykułu „The Future of Employment: How susceptible are jobs to computerisation?”, powstała nawet aplikacja: WILL ROBOTS TAKE MY JOB? funkcjonująca do dziś i podpowiadająca jakie jest prawdopodobieństwo, że Twoje stanowisko zostanie zastąpione przez roboty. Jesteś analitykiem systemów komputerowych? – dziś występuje bardzo małe prawdopodobieństwo zastąpienia Twojego stanowiska robotem i wynosi 0,7%. W tym samym momencie stanowisko zaopatrzeniowca, w sensie zadań pracownika działów zaopatrzenia dużych firm jest już zagrożone w 98%, przy czym w ciągu najbliższych 2 dekad zagrożenie wzrośnie o kolejne 59%. Ale i ryzyko zastępowalności analityka wzrośnie o 32% w ciągu 20 najbliższych lat. Artykuł przewidywał, że niskie ryzyko komputeryzacji stanowiska pracy dotyczy tylko co trzeciego pracownika i to głównie osób zatrudnionych w edukacji, ochronie zdrowia, artystów, menadżerów różnego szczebla oraz oczywiście specjalistów do spraw IT. Czy jednak za klika lat ta perspektywa będzie wyglądać tak samo? Jak wspominaliśmy, strach przed automatyzacją nie jest czymś nowym. Dziś, w wyniku automatyzacji pewne grupy pracowników tracą pracę, ale jednocześnie powstają nowe miejsca pracy (często lepiej płatne niż te utracone) i zwykle poza trudnym okresem przejściowym sytuacja się poprawia. Weźmy uczenie maszynowe i robotykę, które znajduje sposób na lepsze, szybsze, tańsze sposoby wykonywania tych samych czynności, do których przez dekady zatrudniano ludzi o określonych kompetencjach. W sytuacji tego swoistego zastępstwa, pracowników przenosi się do innych ról. I ponownie, podobnie jak w przypadku rewolucji przemysłowej, jest mało prawdopodobne, aby okres przejściowy był bezbolesny. Ludzie będą potrzebowali czasu na przekwalifikowanie, menadżerowie na wymyślenie na nowo ról dla uwolnionej siły roboczej. I mają na to znacznie mniej czasu, niż wiek temu. Zmiany następują szybciej niż poprzednio i mają znacznie szerszy zasięg. Na zakończenie wróćmy do artykułu z tygodnika Time; został w nim przytoczony cytat pochodzący z roku 1950. Jest to opinia Johna Diebold’a, konsulanta zarządczego z Nowego Jorku, który twierdził, że w różnych momentach, zwykle w głębokiej recesji, ludzie mówili, że odtąd będzie okropnie z powodu automatyzacji. Ale kilka lat później wszystko zostało zapomniane. Niektóre rodzaje pracy zanikają, a inne powstają. To znak zdrowej gospodarki. Nic dodać, nic ująć, mimo 71 lat… Źródło: Will Robots Take My Job, Starch przed automatyzacją, https://pl.wikipedia.org/wiki/Luddyzm, (TIME) The new economy Autor: Monika Stawicka – Business Analyst

czytaj więcej »

Odcinek 6. Biała Lista. Czy można ją zweryfikować inaczej?

Pamiętam, jak wszyscy przedsiębiorcy zaczynali przygodę z Białą Listą. Oczywiście zaczęło się od wielkiego chaosu. Czasem zastanawiam się czy każda zmiana musi się od tego zaczynać. Ale w gruncie rzeczy zmiany są dobre. Ja przynajmniej bardzo lubię, gdy ciągle coś się dzieje. Wracając do Białej Listy, to każdy się obawiał, denerwował jak to z tym wszystkim będzie. A okazało się, że nie taki diabeł straszny jak go malują. W sumie Bond nie posługiwał się tym powiedzeniem, ale jestem pewny, że miał je we krwi. Siedząc z Przemkiem i popijając kawę usłyszałem co nieco na temat Białej Listy: Okiem eksperta: Od 2019 roku w Polsce istnieje obowiązek weryfikacji kontrahentów na tzw. Białej Liście. Jest to rządowy wykaz (wyszukiwarka) wszystkich firm wraz ze wskazaniem jaki jest ich status jako płatnika podatku VAT. Na rynku istnieją rozwiązania pozwalające na masowe odpytywanie bazy Białej Listy za pomocą API, aczkolwiek są to rozwiązania dedykowane i „szyte” pod konkretnego klienta i system ERP. Mają one też pewne ograniczenia wynikające bezpośrednio z zasad ustawy, odnośnie maksymalnej ilości dziennych zapytań jaka może być wykonana, jak również maksymalnej ilości przetworzonych danych (maksymalnie 300 rekordów). Jako XELTO DIGITAL, opracowaliśmy inny sposób weryfikacji Białej Listy oparty na zautomatyzowaniu wyszukiwania na stronie internetowej, bez wykorzystywania API. Użytkownik podaje listę numerów NIP i/lub numerów rachunków bankowych kontrahentów. Następnie robot na stronie wyszukiwarki podatników VAT sprawdza po kolei każdy z numerów oraz zbiera ze strony niezbędne informacje, takie jak: status podatnika, walidację czy numer(y) konta znajduje się na liście rachunków zweryfikowanych, datę wyszukiwania i unikalne ID. W kolejnym kroku zapisuje te dane w pliku wynikowym, który może zostać umieszczony w dowolnej lokalizacji bądź przesłany mailowo do osoby zlecającej. Zaletą tego rozwiązania, w przeciwieństwie do istniejących już rozwiązań, jest jego duża swoboda w konfiguracji dla Klienta, umożliwiająca mu dopasowanie do konkretnych wymagań. Dużym plusem jest też ominięcie limitów, które istnieją w przypadku zapytań przez API, ponieważ w tym rozwiązaniu symulujemy pracę człowieka, „ręcznie” otwieramy stronę i wyszukujemy płatników. W przypadku, gdy automatyzuje się proces z wykorzystaniem interfejsu użytkownika to jest on wolniejszy niż wysłanie zapytań przez API. Jednocześnie jest to wciąż wielokrotnie szybciej niż zrobiłby to człowiek, dzięki czemu można ominąć limit ilości wyszukiwań. Technicznie rzecz ujmując  development procesu wymaga zwrócenia uwagi na selektory od przycisków wyszukiwania – po pierwszym wyszukaniu przycisk przenosi się w inne miejsce na ekranie i pomimo tego, że wygląda dokładnie tak samo, to w kolejnych zapytaniach jego selektor jest już inny. W przypadku, gdy w pliku wejściowym znajdują się zarówno numery NIP, jak i kont, należy rozdzielić tę listę w kodzie robota. Robot sprawdza najpierw rachunki bankowe, a dopiero później numery NIP, unikając w ten sposób zbędnego przechodzenia między ekranami do wyszukiwania. Autor: Przemysław Wal – RPA Developer

czytaj więcej »

Odcinek 5. Standaryzacja kontra automatyzacja.

Standaryzacja czy automatyzacja – oto jest pytanie. Nie tylko wielcy klasycy pokroju Shakespeare`a zadawali sobie i światu ważne pytania. Czasem lubię posiedzieć na naszym firmowym balkonie i rozmyślać o różnych aspektach automatyzacji i nie tylko. Jak się okazuje nasz balkonik jest uwielbiany przez wszystkich pracowników XELTO DIGTIAL. Obserwując zachód słońca rozpoczęliśmy z Moniką dość ciekawą polemikę: Okiem Eksperta: Każdy biznes podlega stałym zmianom. Zmienia się sposób funkcjonowania firmy w sytuacji, gdy rosną koszty pracy, gdy wymagania klientów są coraz większe, gdy przychodzi lęk o skuteczność dotychczasowych rozwiązań, gdy rywalizujemy z konkurencją. Zdając sobie sprawę, że zmiany są kosztowne, szukamy tych obszarów, w których proces zmian pozwoli osiągnąć cel najszybciej, przy poniesieniu jak najniższych kosztów. Od czego zatem zacząć? Na pewno od nazwania miejsc, które spowalniają procesy, elementów, które generują najwięcej błędów, konsumują duże ilości czasu przynosząc mierne efekty w skali całej firmy. W każdym biznesie znajdą się procesy, które są przestarzałe, angażują starą technologię i opierają się w dużej mierze na, niestety, omylności człowieka. Szczególnie widoczne jest to w dużych firmach, które mają wiele rozgałęzień i gdzie proces zdefiniowany w określonym miejscu i czasie (i zresztą sprawdzający się doskonale przez długi czas) zaczyna w końcu szwankować. Powoli staje się niespójny lub jest prowadzony inaczej w zależności od warunków, w których się go uruchamia. Warunki działania często odgrywają rolę w niezamierzonych modyfikacjach procesu i powodują, że jego pierwotna definicja zanika pod warstwami interpretacji i wyjątków. (Do tych warunków można zaliczyć jednostki biznesowe rozmieszczone w różnych krajach, o różnej kulturze pracy, czy różnych obyczajach). Rada? Pierwszą i do pewnego czasu jedyną receptą było przyjrzenie się każdemu zdarzeniu w ten sam sposób za każdym razem, gdy ono występuje lub gdy dzieje się określony rodzaj pracy i próba standaryzacji. Standaryzacja oznaczała ujednolicenie wszystkich znanych kroków, aż do uzyskania spójnych procesów. Nie trzeba tu dodawać, że sama operacja rozpoznania i oszacowania różnorodnych zadań i zdarzeń była i jest zawsze czasochłonna, i ciągnie za sobą wymierne koszty. Jeśli teraz dodamy do tego czas potrzebny na kolejny wysiłek, czyli automatyzację, to moment uzyskania oczekiwanych zmian odsuwa się w czasie. Należy zatem postawić sobie pytanie: co jest rzeczywistym celem tej operacji? Czy chcemy mieć ustandaryzowane procesy (gotowe do automatyzacji), jednolicie działające we wszystkich obszarach firmy? Czy chodzi nam o oszczędności kosztów pracy i o uwolnienie potencjału drzemiącego w ludziach. Jeśli bowiem myślimy o samej standaryzacji, możemy zapomnieć o oszczędności. Zamiast więc na kompleksową standaryzację poprzedzającą automatyzację postawmy na standaryzację POPRZEZ automatyzację. Wybór i rozpoznanie procesów, które wymagają zmian jest warunkiem koniecznym, co do tego nie ma wątpliwości. Zastąpmy czas, który poświęcilibyśmy na, mówiąc kolokwialnie, wyprostowanie kulawych procesów, wysiłkiem włożonym w analizę miejsc, gdzie najlepszym rozwiązaniem będzie automatyzacja procesu. Najważniejszym celem automatyzacji powinna zawsze pozostawać chęć odciążenia Twoich pracowników, uwolnienia ich od zadań żmudnych i monotonnych i wreszcie umożliwienie im rozwoju. Ciekawe spostrzeżenie: standaryzacja z perspektywy pracowników niewiele zmienia, w przeciwieństwie do automatyzacji. Biorąc pod uwagę oczekiwania, jakie mają wobec obu procesów, pracownicy są zdecydowanie żywiej zainteresowani wprowadzeniem automatyzacji, gdyż na jej końcu pojawia się możliwość zdania żmudnych zadań robotowi. Pozbycie się czynności powtarzalnych i frustrujących powoduje, że zwyczajnie wraca ich zaangażowanie, często dawno już utracone. Podsumowując, nie rezygnując ze standaryzacji można ją tak modelować, aby była elementem automatyzacji, nie celem samym w sobie. I co równie ważne, jeśli nie ważniejsze, należy koncentrować uwagę na potencjale pracowników. Z obserwacji wynika, że potencjał pracownika wzrasta proporcjonalnie do przekazywania zadań robotom. Autor: Monika Stawicka – Business Analyst Źródło: Should You Automate Your Processes „As-Is” or Standardize First?

czytaj więcej »

Odcinek 4. ODBC? Ogrom danych będących ciężarem?

Jestem elegancki, jestem uprzejmy – jestem już odpowiednio przygotowany, aby w kulturalny sposób automatyzować dla Was wiele procesów biznesowych. Jak doskonale wiecie firmy używają wielu aplikacji, pracują na wieloletnich systemach oraz przetwarzają ogromne ilości danych, których z dnia na dzień jest coraz więcej. Pewnego dnia wdaliśmy się z Tomkiem w dyskusje na temat ODBC. Bardzo lubię te nasze wspólne rozmowy – obaj uważamy, że niemożliwe nie istnieje: Okiem eksperta: Praca z danymi to nieodłączny element wielu procesów – Machine Learning, Data Science, a także RPA potrzebuje bardzo często operować na złożonych zbiorach danych z tysiącami rekordów. W każdym z tych przypadków, bardzo ważnym czynnikiem jest poprawność danych, a niestety czynnik ludzki jest mocno podatny na błędy. Jednakże możemy sobie w różny sposób radzić z tymi problemami. Podczas automatyzacji często mierzymy się ze złożonymi procesami, przetwarzającymi duże ilości danych, które mogą zatrzymać proces na różnym etapie, co powoduje mniejszą lub większą utratę czasu. Dlatego świetnym rozwiązaniem jest wykorzystanie baz danych automatyzowanych aplikacji w celu weryfikacji obsługiwanych danych. Aplikacje często same w sobie mają wbudowane funkcje walidacji pól wejściowych, a my dzięki dostępowi do nich możemy już na wstępnym etapie wykluczyć część błędów wpływających na proces. Bardzo użyteczna w tym temacie jest paczka UiPath.Database.Activities, dzięki której możemy stworzyć połączenie z bazą danych wykorzystując interfejs ODBC, a następnie pracować z danymi w trybie read i write. Za prosty przykład weźmy procesy pracujące w systemie ERP JD Edwards, w którym często automatyzacje wymagają stworzenia nowych rekordów (zazwyczaj przez połączone ze sobą aplikacje). Dodatkowo zaznaczmy, że jest to system w mniejszym stopniu przystosowany do automatyzacji, przez co, niektóre czynności można przyspieszyć jedynie w ograniczonym stopniu. Każda oszczędność czasu jest dla nas cenna, a wykluczenie błędnych czynności na wczesnym etapie jest bardzo pożądane. W tym systemie możemy przykładowe wejściowe dane (mające zostać wpisane w jednej z aplikacji) weryfikować już na samym początku, sprawdzając czy wskazane przez użytkownika dane w tabelach źródłowych przechowujących możliwe wartości dla tych pól istnieją. Dzięki takim zabiegom w kilka chwil możemy odrzucić błędne zadania, bez konieczności wyłapywania błędów już w trakcie procesowania zadań w systemie JDE, zyskując tak cenny dla użytkowników czas. Jest to też dodatkowa korzyść dla procesów o wysokim priorytecie oraz dużej złożoności. Poinformowanie użytkownika, że jego zadanie zawiera błędy, zanim tak naprawdę zostanie przetworzone, pozwala na zminimalizowanie problemu pilnych zadań wychodzących poza określone ramy czasowe. Obsługa interfejsu przez robota zapewne jest bardziej widowiskowa dla użytkowników. Natomiast wszystko, co możemy zrobić wykorzystując np. API w celu poprawy bezpieczeństwa, poprawności i wydajności robota, wydaje się rozsądne. W związku z tym, rekomendujemy współpracę robotów z bazami w celu poprawy wydajności, a co za tym idzie satysfakcji odbiorców naszych procesów. Autor: Tomasz Sioła – RPA Developer Foto: iStock

czytaj więcej »

Odcinek 3. Savoir-vivre w automatyzacji. Czy roboty potrafią być uprzejme?

Jak wiecie z pierwszych odcinków jestem dość nietypowy. Rozpoczynając pracę w XELTO DIGITAL byłem zwykłym robotem. Koledzy z zespołu każdego dnia uczyli mnie coraz to ciekawszych czynności, przez co mogłem pomagać naszym Klientom w codziennych zadaniach. Pewnego dnia pojawiła się Ona… Od tego momentu postanowiłem być nie tylko przydatny, ale również bardziej uprzejmy. Wystarczyła krótka rozmowa z Moniką i Kamilem, aby nauczyli mnie dodatkowych zasad savoir-vivre… Okiem Eksperta: W naszym zespole wychodzimy z założenia, że w procesie automatyzacji komunikacja między robotem a naszym klientem nie jest sprawą drugorzędną. Na potrzeby tego artykułu przez słowo “komunikacja” rozumiem wszelkie informacje i komunikaty, które wysyła procesujący robot do operatora lub użytkownika klienta za pomocą poczty e-mail. Mogą to być komunikaty o błędzie, raporty czy informacje o zakończeniu działania. Każda informacja wysłana przez robota do człowieka może być oschła czy nomen omen – automatyczna w odbiorze lub sympatyczna i mówiąc kolokwialnie, “ludzka”. Z naszych doświadczeń z klientami nasuwa się prosty wniosek: klient oczekuje, że robot będzie zwyczajnie uprzejmy w komunikacji. Co to oznacza dla nas, projektujących robota? Pamiętamy, że po drugiej stronie jest człowiek, któremu miło jest otrzymać komunikat zaczynający się od słów: „Drogi użytkowniku” albo „Uprzejmie informuję”. Zresztą, jeśli nasi klienci traktują robota jako wirtualnego pracownika czy kolegę, zrozumiałe jest przełożenie się takiego podejścia na język komunikacji tak, jak między lubiącymi się wzajemnie pracownikami. Czy robot potrafi mówić w każdym języku? Robot powinien być również poliglotą w takim stopniu, aby każdy użytkownik otrzymywał komunikaty od robota w swoim rodzimym języku. Niby drobna rzecz, ale to rzeczywiście działa. Maile wysyłane w języku angielskim, który nieodmiennie kojarzy się z językiem komputera odbierane są jako oschłe i zbyt oficjalne. I nie mówię tego w kontekście jakiegoś problemu ze zrozumieniem j. angielskiego po stronie klienta. Informacja w Twoim rodzimym języku (klienci anglosascy są poza tą konkurencją) jest po prostu przystępniejsza. Wiemy już, że zbudowanie takiej komunikacji nie wymaga większego wysiłku. A że warto, niech świadczy przykład informacji zwrotnej jaką dostaliśmy od naszego klienta: „Robot bardzo uprzejmy w komunikatach :)”. Korespondencja elektroniczna: Najczęściej wykorzystywanym przez robota narzędziem do wszelkiej komunikacji jest email, który w większości procesów pokrywa wszystkie potrzeby w tym zakresie. Za pomocą e-maila możemy poinformować użytkownika że robot rozpoczął proces, bądź też go zakończył. Informujemy o błędach systemowych, biznesowych, wysyłamy raport końcowy, albo informujemy o dowolnym zdarzeniu, które miało miejsce w trakcie wykonywania procesu. Od strony technicznej wysłanie maila, robot może wykonać wykorzystując zainstalowana na stacji roboczej aplikację klienta poczty. Taka metoda pozwala nam skorzystać z poczty firmowej bez konieczności posiadania, przechowywania, a co za tym idzie aktualizowania danych do logowania do skrzynki. Poza wykorzystaniem klienta, robot ma możliwość połączenia się z serwerem poczty za pomocą protokołów SMTP, POP3, IMAP, bądź też w przypadku poczty dostarczanej przez większych dostawców, łączenie się z serwerem poczty poprzez dedykowane do tego serwisy np. GSuite, Microsoft Exchange Server. Nie tylko komunikacja mailowa: Należy jednak pamiętać, że email mimo że jest bazową i najczęściej wybieraną formą komunikacji, roboty mają do dyspozycji więcej możliwości. W przypadku procesów których charakterystyka wymusza na nas szybki czas reakcji, bądź też większą liczbę interakcji z użytkownikiem, dobrym rozwiązaniem może być również wykorzystanie do komunikacji komunikatorów typu MS Teams, Skype, SameTime etc. Namiastką komunikacji robota z człowiekiem, może być również raport z przebiegu pracy robota pozostawiony w odpowiedniej lokalizacji na dysku sieciowym, co może być dobrym rozwiązaniem gdy chcemy uniknąć spamu, bądź też gdy nie mamy dostępnych odpowiednich narzędzi. Autorzy: Monika Stawicka – Business Analyst, Kamil Gawlista – RPA Developer

czytaj więcej »

Odcinek 2. Historia pewnej pieczęci, czyli PDF lakiem pachnący.

Dzisiaj chciałbym zaprezentować jak w XXI wieku potrafimy „przybić wirtualną pieczątkę”. Początki pieczętowania sięgają aż czasów starożytnych. W starożytnej Grecji i Rzymie używano ich do zabezpieczania korespondencji i zaświadczania autentyczności testamentu. Na przestrzeni wieków funkcja jak i sama metoda używania stempla ewoluowała. I tak jak brzmi tytuł jednego z moich ulubionych filmów „Diamenty są wieczne” to parafrazując powiem Wam, że stemple też takie są. Chciałbym Wam wspólnie z Kamilem opowiedzieć o jednym z naszych gotowych narzędzi jakim jest STAMPER, które pomagają naszym Klientom: Okiem Eksperta: Pliki o rozszerzeniu PDF zdominowały świat informatyczny i każdy kto ma choć minimalny kontakt z komputerem na pewno się na nie natknął. PDF-y dzięki swoim zaletom stały się dominującym formatem plików, w których publikujemy informacje tekstowe i graficzne szerszemu gronu odbiorców. Pliki te są również nierozłącznym elementem wielu procesów firmowych i korporacyjnych, w których publikowane są dokumenty, cenniki, broszury i wiele innych. Brak łatwej możliwości edycji, która jest immanentną cechą PDF-ów, z jednej strony jest dużą zaletą dzięki której pliki te zachowują swój zdefiniowany układ niezależnie od aplikacji w której go otwieramy, ale bywa również wadą, w momencie gdy np. chcemy treści zawierające się w PDFie szybko edytować albo opisać. Najbardziej popularne aplikacje do przeglądania tego typu plików, nie oferują takich funkcji wcale, bądź oferują je w bardzo ograniczonym zakresie. Na szczęście Adobe Systems już w 1996 roku stworzył rozwiązanie, które chociaż częściowo odpowiada na nasze potrzeby. Pliki o rozszerzeniu FDF będące zwykłymi plikami tekstowymi, można zaimportować do PDF, tworząc w nim dodatkową warstwę łatwo edytowalnych obiektów. W XELTO DIGITAL poszliśmy krok dalej i przygotowaliśmy rozwiązanie łączące robotykę i możliwości jaki daje nam format FDF. Stworzyliśmy produkt o nazwie STAMPER. Jest to narzędzie służące do pieczętowania PDF-ów, który może działać niezależnie, bądź też może być wpięty w większy proces, w trakcie którego chcielibyśmy, aby procesowane PDF-y były w odpowiedni sposób oznaczone. Pieczątki tworzone przez STAMPERA charakteryzują się dużą elastycznością. Poza treścią możemy dowolnie edytować takie atrybuty jak współrzędne na dokumencie, rozmiar tekstu, czcionka, kolor, obramowanie, tło, orientacja i wiele innych. Dzięki naszemu rozwiązaniu możesz nanieść dodatkowe informacje przed wydrukowaniem faktury, bądź też oznaczyć przeprocesowane dokumenty stosowną adnotacją. Wykorzystanie STAMPERA w trakcie automatyzowania procesów biurowych, otwiera przed Tobą wiele możliwości i sprawia, że pliki PDF w końcu mogą być w czytelny sposób oznaczone. Autor: Kamil Gawlista – RPA Developer

czytaj więcej »

Odcinek 1. ReCAPTCHA bez tajemnic.

Nazywam się Robotowski… Edward Robotowski. Tak wiem, brzmi jak historia o słynnym Agencie 007. Ale powiem Wam, że moje przygody są równie intrygujące co bohatera powieści Iana Fleminga. Dodatkowo jestem ogromnym fanem Jamesa Bonda i tak samo jak on uwielbiam nowinki technologiczne. Mamy też inny wspólny sekret, lecz o tym, kiedy indziej. Ale zacznijmy od początku. W ciągu najbliższych tygodni chciałbym zabrać Was w fascynujący świat automatyzacji, który mnie samego pochłonął bez granic. O wszelkich innowacjach oraz możliwościach jakie daje automatyzowanie procesów mógłbym opowiadać w nieskończoność. Dzięki pracy w zespole XELTO DIGITAL mogę na bieżąco czerpać wiedzę od naszych ekspertów i dzielić się nią z Wami na łamach bloga: Okiem Eksperta: Czy robot mówiący „Nie jestem robotem” mija się z prawdą? Praca ze stronami internetowymi i aplikacjami webowymi to jedna z podstawowych rzeczy, z którymi roboty muszą sobie radzić w codziennej pracy. Ale co jeśli mamy idealnego kandydata: proces prosty, ustrukturyzowany z cyfrowymi danymi wejściowymi, a na drodze do realizacji celu staje słynne „I’m not a robot”? Na szczęście to nie koniec świata (ani też naszego projektu), bo dysponujemy kilkoma opcjami. Po pierwsze, zwłaszcza jeśli pracujemy na wewnętrznej aplikacji, możemy skontaktować się z administratorem z prośbą o przygotowanie wersji strony bez reCAPTCHA. Znając życie, częściej jednak będziemy musieli sami sobie z tym problemem poradzić. Aktualnie możemy wykorzystać zarówno płatne (choć niewiele) lub bezpłatne rozwiązania oparte o uczenie maszynowe. Płatne pozwolę sobie pominąć, w Internecie można znaleźć ich bardzo dużo, a zasady ich działania najlepiej przybliżą ich sprzedawcy. Zanim jednak z nich skorzystacie, sprawdźcie wtyczkę Buster: Captcha Solver for Humans. Dostępna jest ona zarówno jako dodatek do Chrome, jak i FireFox. Na czym to polega? Wtyczka dodaje do okna reCAPTCHA nowy przycisk, którego kliknięcie uruchomi dźwiękową wersję reCAPTCHA, ukradkiem odsłucha ją, a następnie wpisze poprawnie rozwiązanie zadania. Dodam, że jest to przycisk, który nasz robot bez problemu może kliknąć! Jak to wygląda? Kiedy nasz robot uruchomi reCAPTCHA, są dwa wyjścia. Najlepszym dla nas rozwiązaniem jest, kiedy mechanizm nas po prostu przepuści. Ale jeśli nie, to pojawi nam się dobrze znane okienko z obrazkami. Po instalacji wtyczki pojawił się trzeci przycisk pomarańczowego ludzika, który jest właśnie naszym rozwiązaniem. Naciśnięcie tego przycisku przez robota uruchamia automatyczne rozwiązanie zadania. Jedyne co pozostaje teraz, to odpowiednie obudowanie stworzonej procedury celem monitorowania zachowania reCAPTCHA. Czy jest to idealne rozwiązanie? Nie. Przy dużej liczbie logowań reCAPTCHA potraktuje nas jako atak na stronę i zablokuje jakiekolwiek próby połączenia się ze stroną. Ponadto, o ile praca na aktywnym ekranie działa bardzo dobrze zarówno w Chrome, jak i w Firefox, o tyle przeniesienie tego na maszynę wirtualną utrudnia komunikację. Z mojego doświadczenia wynika, że z tym zadaniem lepiej radzi sobie Firefox za pomocą „send window message”, najlepiej w wersji 64, ponieważ w późniejszych występuje błąd powodujący nieodpowiadanie wtyczki (na szczęście uruchomienie przeglądarki ponownie powinno to rozwiązać). Niemniej jednak ten sposób powinien pomóc ominąć ten problem w automatyzacji procesu. Autor: Rafał Korporowicz – Senior RPA Developer

czytaj więcej »