Robotic process automation (RPA) is een beproefde manier om zonder ingrijpende aanpassingen in je applicatielandschap processen te kunnen automatiseren. Door de snelle ontwikkeling van AI krijgt RPA een nieuwe impuls, wat de toekomst van RPA belooft te transformeren naar intelligente procesautomatisering. Dat maakt RPA extra relevant als laagdrempelige automatiseringsoplossing.
Wat is RPA?
Robotic process automation (RPA) is een technologie die specifiek bedoeld is om gestandaardiseerde en repetitieve taken uit te voeren die normaal gesproken door menselijke medewerkers worden gedaan. Die repetitieve taken worden uitgevoerd in bestaande applicaties. Voorbeelden zijn het controleren van websites op updates, het reageren op e-mails, het handmatig kopiëren van gegevens van de ene naar de andere applicatie, et cetera.
Een belangrijke eigenschap van RPA is dat er niet geprogrammeerd hoeft te worden om de technologie te kunnen toepassen. Daarnaast heeft een RPA-toepassing geen toegang nodig tot de software (de code) of de databases waarmee RPA aan de slag moet. Er is dus ook geen integratie nodig met bestaande software. Deze eigenschappen maken RPA erg aantrekkelijk om te gebruiken. Toch is RPA als toepassing zelf weldegelijk opgebouwd uit code-gebaseerde software.
Hoe werkt RPA dan wel? De definitie die Deloitte hanteert, verschaft enige helderheid. “Robotic Process Automation (RPA) wordt gedefinieerd als de automatisering van op regels gebaseerde processen met software die gebruikmaakt van de gebruikersinterface en die kan draaien op alle software, inclusief webgebaseerde toepassingen, ERP-systemen en mainframesystemen.”
RPA is een op regels gebaseerde oplossing die menselijke handelingen in software imiteert. Die regels moeten vooraf worden gedefinieerd. Dat maakt meteen duidelijk voor welke taken of handelingen RPA bij uitstek geschikt is: het openen van e-mails, het verplaatsen van files, het kopiëren en plakken van gegevens van de ene naar de andere plek of applicatie, het scrapen van schermen of websites, het uitvoeren van berekeningen, het ophalen van gestructureerde data uit documenten (denk aan klant- of factuurnummers), of het opvolgen van ‘if this, than that’-regels.
Achtergrond
De oorsprong van Robotic Process Automation (RPA) ligt in onder meer screen scraping-technologieën die in de jaren 90 opkwamen. Het concept RPA is naar alle waarschijnlijkheid voor het eerste gemunt in 2003, toen Blue Prism de eerste software lanceerde die specifiek was ontworpen om repetitieve taken in bedrijfsprocessen te automatiseren. Hiervoor werd een virtuele, softwarematige ‘robot’ ingezet. Het concept RPA moest duidelijk maken dat het niet om echte robots ging en evenmin om traditionele vormen van automatisering.
RPA vs Softwareontwikkeling
De plaats van RPA in de wereld van software is goed gedefinieerd. RPA is niet bedoeld om bestaande software te vervangen, maar om de kracht ervan te vergroten. Vaak is RPA een geschikte oplossing om een beperkte integratie tussen bestaande applicaties te realiseren. Een goed voorbeeld hiervan is het proces van orderverwerking. Als een order in applicatie A binnenkomt, moet via systeem B bijvoorbeeld een set producten worden besteld. Als die producten besteld zijn, moet er via applicatie C transport worden geregeld en is systeem D nodig om een factuur van metadata te voorzien. Zo lang deze processen steeds op standaardwijze verlopen, kan RPA ervoor zorgen dat alle genoemde systemen samenwerken zonder tussenkomst van mensen.
Dat laatste wordt ook wel systeemintegratie genoemd, maar er zijn meerdere manieren waarop je dat kunt bereiken:
- pas de verschillende systemen aan (verander de code in alle systemen);
- maak nieuwe software die de verschillende systemen met elkaar verbindt (denk aan API’s);
- implementeer een RPA-oplossing die (via gegevensgebruik uit de verschillende systemen) deze systemen onderling verbindt.
Voor de eerste twee oplossingsrichtingen moet je gaan coderen; bij de derde richting, zo claimen aanbieders van oplossingen voor RPA, zou dat niet nodig zijn. In plaats daarvan kan je als gebruiker van een RPA-oplossing zelf softwarerobots bouwen die zo kunnen worden ingesteld dat ze het handmatige routinewerk kunnen uitvoeren dat normaal gesproken door mensen wordt gedaan.
Workflows bouwen
Dat zelf bouwen van RPA-toepassingen komt neer op het opstellen van workflows die op beslissingen gebaseerde acties bevatten. Dat kan meestal met behulp van drag- and drop interfaces, dus inderdaad zonder codeerwerk. Als alternatief voor het handmatig opstellen van workflows bieden sommige RPA-tools ook de mogelijkheid om acties die door een mens worden uitgevoerd binnen een applicatie vast te leggen. Daarna kan de RPA-oplossing deze informatie omzetten in workflows waarmee de taken kunnen worden uitgevoerd. Soms bieden geavanceerde RPA-tools ook de mogelijkheid om plug-ins te ontwikkelen of integraties te realiseren met andere oplossingen. Daarmee kan je bijvoorbeeld API’s benaderen of functies aanroepen vanuit externe DLL’s. Dynamic Link Libraries zijn bestanden met specifieke code en data, die bedoeld zijn voor het uitvoeren van specifieke functies of procedures.
Zoals gezegd biedt RPA vaak een snellere oplossing voor een automatiseringsvraagstuk – maar je moet wel de competenties in huis hebben om RPA-oplossingen in te richten. Daarvoor heb je vaak proces- en domeinkennis nodig en het vermogen om logisch en analytisch te kunnen denken.
RPA inzetten voor geautomatiseerd testen van software
RPA en Test Automation vertonen overeenkomsten. Vooral UI test automation lijkt veel op RPA, omdat beide tools het mogelijk maken om UI-interacties te automatiseren. Om dit te doen, herhalen deze tools de acties die door de gebruiker zijn geïnstrueerd (de tester is eigenlijk een gebruiker). Maar RPA en geautomatiseerd testen zijn niet hetzelfde. RPA heeft een breder gebruiksdoel dat verder gaat dan geautomatiseerd testen. Bovendien vereist geautomatiseerd testen meestal dat testers enkele scripts schrijven met behulp van een programmeertaal, terwijl RPA expliciet bedoeld is om geen code nodig te hebben om taken te automatiseren.
Toch is er een voorbeeld waarbij geautomatiseerd testen en RPA samenkomen: Robot Framework. Robot Framework is een generiek opensource framework voor automatisering. Het kan gebruikt worden voor testautomatisering maar ook voor generieke automatisering van robotprocessen zoals RPA. Een tweede voorbeeld betreft het geautomatiseerd testen van RPA-oplossingen, want ook dat is natuurlijk mogelijk. Een van de meest geavanceerde tools hiervoor is Test Suite van UIPath. Test Suite kan je ook gebruiken voor het testen van webapplicaties. De toepassing wordt geleverd met mogelijkheden voor (geautomatiseerd) testbeheer, waaronder testplanning, het monitoren van requirements en rapportages voor issues. Je kunt deze applicatie ook integreren met issue ticketing systemen zoals Atlassian Jira en er zijn functionaliteiten beschikbaar voor het uitrollen, beveiligen en beheren van de testrobots.
RPA wordt in de toekomst intelligenter met AI
RPA is zoals gezegd bij uitstek geschikt voor het afhandelen van repetitieve, regelgebaseerde taken waarvoor voorheen menselijke inspanning nodig was. Maar lerend vermogen is er geen onderdeel van. Wanneer er iets verandert in de geautomatiseerde taak (bijvoorbeeld een veld in een webformulier verschuift of een UI verandert), zal een softwarerobot dat niet uit zichzelf ontdekken en/of oplossen. Het maakt RPA kwetsbaar voor veranderingen in processen – de oplossing loopt dan mogelijk vast.
Toch is er een relatie tussen RPA en AI. AI, momenteel sterk in ontwikkeling, kan zeker in de toekomst een aanvulling zijn op RPA-oplossingen. Als een RPA-bot geprogrammeerd is om een vaste taak uit te voeren, maar daarbij ook kan ‘leren’ van de context en het gedrag kan aanpassen, zijn we aangeland bij ‘intelligente proces automatisering’ ofwel IPA. Dit soort robots wordt aangeduid met AI-agents; ze kunnen opereren als ‘digitale medewerker’.
Tot slot: de toekomst van RPA
In de toekomst zal RPA met de toevoeging van AI aan RPA een nieuwe ontwikkeling doormaken. AI-gebaseerde RPA-oplossingen kunnen niet alleen beter omgaan met ongestructureerde informatie en context, maar ook zelf flows bouwen en slimmer omgaan met afwijkingen of veranderingen. Dat maakt ze minder kwetsbaar voor de dynamiek van bedrijfsprocessen. Desalniettemin is er ook nog steeds voldoende te doen voor ‘gewone’ RPA, zeker als de output robuust en betrouwbaar moet zijn.
Op zoek naar betrouwbare softwareontwikkelingsdiensten?
Ontdek hoe we kunnen helpen.
- Anneke van der Putten
- Call: +31 (0)30 782 0111
- anneke@netrom.nl
- Ronald Bouwmeister
- Call: +31 (0)30 782 0117
- ronald@netrom.nl