Robotic Process Automation

Robotic Process Automation (RPA) is een oplossing voor het automatiseren van IT processen op eindgebruikersniveau. Deze technologie laat momenteel nogal wat stof opwaaien, dus ook bij Smals Research vonden we het opportuun om ze van naderbij te bestuderen. In deze blog een paar van onze bevindingen.

Wat is RPA?

Robotic Process Automation (RPA) is een manier om (elektronische) processen te automatiseren op basis van de gebruikersinterface van bestaande toepassingen. Het is een volledig softwarematige manier van werken (er komen dus geen echte, fysieke robots bij kijken), waarbij een toepassing (de RPA oplossing) zal instaan voor het bedienen van andere, onderliggende applicaties. Een software robot, of kortweg “bot”, simuleert daarbij de muisclicks en toetsenbordaanslagen van een eindgebruiker. Je ziet dus als het ware het scherm vanzelf bediend worden en veranderen, alsof er een onzichtbare gebruiker aan het werk is met de muis en het toetsenbord.

RPA wordt vaak beschouwd als een onderdeel van het bredere AI. Of dit daadwerkelijk zo is, laten we in het midden, maar alleszins kunnen we zeggen dat de technologie in principe geen “echte” artificiële intelligentie bevat (in zoverre men deze kan definiëren). RPA is gebaseerd op regels en procedurele logica, typisch door de mens geprogrammeerd en zeker niet door de computer “uitgevonden” of op basis van heel veel data “geleerd“. Het is wel zo dat RPA vaak in combinatie met AI wordt gebruikt, doordat er b.v. in een bepaalde stap van het process een AI wordt aangeroepen om een bepaalde beslissing te nemen, of anderzijds omdat er b.v. een RPA bot wordt aangeroepen nadat een intelligente chatbot geconcludeerd heeft dat een klant een bepaalde procedure wenst te laten uitvoeren.

We kunnen dan nog het onderscheid maken op basis van wáár dit werk precies gebeurt. Enerzijds is het mogelijk de bot te installeren op een machine bij een eindgebruiker. Dit kan dan worden gebruikt om op bepaalde momenten een aantal acties automatisch en snel uit te voeren, tussen de bezigheden van de gebruiker door. Op die manier kan er bijvoorbeeld worden gezorgd dat moeilijk te automatiseren werk, waarbij de eindgebruiker bepaalde overdachte beslissingen moet nemen, manueel blijft, terwijl rechttoe rechtaan taken (die door de gebruiker als repetitief en vervelend kunnen worden bestempeld) door de robot worden overgenomen. Deze manier van werken wordt soms ook “attended RPA” genoemd.

Anderzijds hebben we dan “unattended RPA”. Hier zal de bot op een aparte pc worden geïnstalleerd (b.v. een virtuele machine op een server) om een aantal taken volledig automatisch, zonder supervisie, uit te voeren. Het zal dan gaan om taken die een zekere tijd in beslag nemen (of waarvan er grote hoeveelheden herhalingen moeten worden uitgevoerd) en die geen tussenkomst vergen van de eindgebruiker.

Hoe?

Hoe bouwt men zo een RPA bot precies? Typisch kunnen we aan de hand van een grafische notatie een sequentie van handelingen definiëren, waarbij we aangeven, aan de hand van bepaalde filtercriteria, welk schermelement we precies willen aansturen, en wat we er precies mee willen doen (via de muis of het toetsenbord). Ook flowcharts zijn daarbij een voorbeeldnotatie. Sommige RPA tools laten ook toe om een soort van opnamefunctionaliteit te gebruiken: de computer zal dan a.h.w. proberen na te bootsen wat je hem eerst manueel hebt voorgedaan.

Een voorbeeld van een flowchart in een RPA tool

Geschiedenis en Gelijkaardige zaken

RPA kan eigenlijk gezien worden als spirituele opvolger van “Integration at the Glass“. Ook deze technologie diende immers om zaken te automatiseren op UI niveau. De focus lag hierbij evenwel iets anders: men was meer op het integreren van onafhankelijke toepassingen gericht, onder toezicht van de eindgebruiker. Desalniettemin waren automatisaties reeds mogelijk. De huidige RPA tools zijn uiteraard wel geëvolueerd: men legt sterk de focus op automatisatie via een gebruiksvriendelijke tool en met ondersteuning voor meerdere soorten diagrammen, aan de hand waarvan het proces grafisch kan worden voorgesteld.

Daarnaast bestaan er reeds lange tijd allerlei scripting talen waarmee men taken kan automatiseren. Deze komen voor in verschillende vormen. Vooreerst zijn er de typische macro’s, zoals b.v. in Ms Excel, waarmee men binnen één toepassing zaken kan gaan automatiseren. Daarnaast zijn er echter ook meer algemene talen, waarmee men generische toepassingen kan bedienen. Een voorbeeld hier is AutoIt voor Windows, of de open source tool Selenium (waarin men met verschillende programmeer-talen kan werken), die zich vooral focust op het testen van webtoepassingen. RPA zal typisch zaken verenigen uit al deze soorten software: men biedt een zeer brede ondersteuning (zowel desktop als web), met opnamefunctionaliteit en een grafische manier om het proces weer te geven.

En de Toekomst?

RPA is verwant met Business Process Management (BPM). De P in beide acroniemen staat dan ook telkens voor “Process”. Het valt dus te verwachten dat beide soorten technologieën stilaan naar elkaar zullen toegroeien. Men zal dan totaaloplossingen krijgen voor het beheer van processen, waarin ruimte is om zowel de menselijke taken op te vangen, als om zaken op een automatische manier te doen, en dit in een ruimer kader, met inbegrip van beheer en orkestratie.

Daarnaast komt er ook steeds meer AI aan te pas in deze software suites. Ook dit zal dus meer en meer ‘normaal’ worden. Steeds vaker zal men “slimme” suggesties kunnen krijgen voor de volgende stap in een proces, of sterker nog: volledige processen zullen door het AI a.h.w. “ontdekt” en eventueel ook gestroomlijnd kunnen worden.

Voor- en Nadelen

Snelle ROI

Een ander voorbeeld van “Graceful Degradation”: valt de automatisatie weg, dan kan men het werk nog met de hand doen (of, in dit geval, met de voet)

Het grote voordeel van RPA is dat men zaken kan automatiseren zonder bestaande systemen te moeten aanpassen of integreren, wat typisch een moeilijke oefening is. Bovendien is de technologie vrij gebruiksvriendelijk en leidt ze snel tot resultaten. Men kan dus snel een goede Return on investment (ROI) bekomen. Daarnaast is het ook zo dat, eens een process door een robot wordt uitgevoerd, het steevast op dezelfde manier zal worden uitgevoerd. De consistentie zal hoger liggen dan bij uitvoering door menselijke werkers. Die laatste zijn trouwens typisch ook erg tevreden, want RPA neemt de “domme”, repetitieve taken van hen over, zodat ze zich kunnen focussen op het interessantere deel van hun takenpakket. Zogenaamde “power users”, op hun beurt, zijn soms ook in staat om zélf een RPA bot te ontwikkelen, dus de technologie zorgt zeker voor opportuniteiten. Ten slotte, indien een RPA robot faalt, kan er meestal worden overgeschakeld op een manuele uitvoering van het werk. De taak kan dus nog steeds worden uitgevoerd, zij het typisch trager. Dit kan men zien als een vorm van graceful degradation.

Nood aan Governance

Nadelen zijn er echter ook: RPA oplossingen zijn dikwijls slechts een tijdelijke stoplap, totdat er een oplossing ten gronde kan worden gevonden. Dit laatste zal inhouden dat men bestaande systemen beter zal integreren en gebruiksvriendelijker zal maken, waardoor bepaalde taken sowieso door de applicatie kunnen worden opgevangen. Het gebruik van RPA mag trouwens ook geen excuus worden om de software die ermee wordt aangestuurd, daarna niet meer te verbeteren. Sterk in verband hiermee is er bovendien nog een ander nadeel: de RPA robot is gevoelig voor veranderingen in de gebruikersinterface van onderliggende toepassingen: meestal zal hij niet meer functioneren en dus onderhoud nodig hebben, wanneer men in meer of mindere mate wijzigingen aanbrengt aan de gebruikte toepassingen. Daarnaast moet men ervoor uitkijken dat een wildgroei van RPA bots geen onoverzichtelijk kluwen wordt. Enterprise versies van RPA software, die orkestratie toelaten, zijn dan zeker geen overbodige luxe.

Besluit

RPA technologie kan in bepaalde gevallen soelaas brengen aan eindgebruikers die zich overstelpt zien met repetitief werk. De ROI is vaak sterk en de software om de robots mee te bouwen is matuur. Tegelijk moet men ook kritisch zijn in de keuze van use case. Het beste is om RPA enkel toe te passen daar waar men nog geen andere, meer fundamentele plannen heeft, op relatief korte termijn, om zaken te integreren of vervangen. Men moet er bovendien goed op letten RPA eerder chirurgisch in te zetten om de grootste pijnpunten aan te pakken, en geen wirwar van tientallen of honderden bots te creëren, die voor hun eígen onderhoudsproblematiek zorgen. Een goede tip kan zijn om reeds bij het invoeren van een RPA-oplossing ook al aan de zogenaamde phase-out te denken.

RPA zal tegenwoordig geregeld worden voorgesteld door externe consultancy bedrijven. Voor deze ondernemingen is de technologie namelijk ideaal: de ontwikkeling kan snel gebeuren en al gauw is een sterke ROI aan te tonen. Tegelijk moet men geen moeilijke integratieoefeningen oplossen en hoeft men zich in het algemeen geen grote zorgen te maken over reeds bestaande toepassingen (die men zelf niet heeft ontwikkeld). Deze hoeven enkel aangestuurd en niet aangepast te worden. Het is belangrijk dat de klant zich bewust is van het onderhoudsvraagstuk. Consultancy om RPA in te voeren kan zeker nuttig zijn, maar ook hier geldt: drinken met gezond verstand, (en met mate) !

Quick Review

Van UiPath, één van de marktleiders wat betreft RPA technologie, maakten we een Product Quick Review, die vind je hier. In de review bespreken we ook een tweetal voorbeelden van wat we er zoal mee kunnen automatiseren.

Leave a Reply

Your email address will not be published. Required fields are marked *