DEV Community

loading...

Demystifying RPA (Robotic Process Automation)

Thu Ya Kyaw
I create serverless applications, build data pipelines, scale machine learning models, and dockerize them for production
Updated on ・4 min read

What is RPA?

The buzz word “RPA” has been gaining traction over the recent years across different industries, but what is it exactly and why is it so popular? I too had a similar chain of thoughts when I was fresh out of school and starting my first job as a RPA Analyst.

RPA stands for “Robotic Process Automation”. It is nothing more than a process of creating software programs to automate non-decision making repetitive activities or processes. An important point to note is that making RPA programs is not the same as making physical robots. RPA programs are often regarded as robots, simply because they mimic human actions in carrying out tasks. A software robot, if you will.

RPA is also known as RDA (Robotic Desktop Automation)


A brief history of RPA

Although RPA is very popular nowadays, a similar form of automation has been in the market for a long time. During those early periods, RPA existed in the form of screen scraping and automated testing tools. Soon after, it was used as one of the automation tools in business process management. The main factor for the business to adopt RPA in business process management is that more and more systems are being used in end-to-end business processes and it gets harder and harder to automate those processes just by writing micro in Excel sheets. Most importantly, scheduling is necessary for efficient time management (e.g. generating reports throughout the night or exactly at 1.00 am).

With the help of AI (Artificial Intelligence), present days RPA can do so much more than just automating business processes. It can extract text from images using OCR (Optical Character Recognition) technology. By using CV (Computer Vision), it can identify the images and process them with a given set of rules accordingly. It can also understand the context of a sentence or paragraph, thanks to NLP (Natural Language Processing), and so on.


How does RPA automate a process?

RPA programs are known to automate processes by mimicking human actions in those processes. If you are someone with a software engineering background or familiar with APIs (application programming interfaces) and Cron jobs, you must be wondering how does it defer from scripted automation; a variant where APIs calls are being made from scripts and schedule them in a server using a scheduler program. The Lab Consulting has a nicely summarized comparison chart for the standard manual vs scripted automation vs RPA version of a process for creating a user account in a system.

Manual vs Scripted Automation vs Robotic Automation by The Lab Consulting

Given a process, creating a user account in this case, the scripted (APIs + Cron jobs) approach may require additional changes made to the existing processes. On top of building API server for handling requests, the system has to expose SQL(Structured Query Language) connection for that API server as well. Sometimes, this approach is not feasible if connecting the SQL database using the connector from external scripts violates the software usage agreement contract of the database service provider. Moreover, producing an API server and the scripts requires tech talents.
This is the area that RPA does better. It doesn't require a system change in any way. It can just follow the current process of doing things in the system and automate the steps. It mimics human actions, remember? By looking at the standard manual process and robotic automated process from Figure 1, it is clear that only manual process steps are being replaced by automated steps, nothing more. RPA frameworks nowadays offer a code-free environment to design and automate simple to mildly complex processes as well. Hence, only investing to train existing talents to use RPA tools is required rather than hiring new tech talents entirely.


What are the benefits of using RPA?

Have you even encounter a colleague who doesn't take their annual leaves and sick day leaves, ask for neither a pay increment or a promotion. Furthermore, that person work very long hours without asking for any compensation? Ridiculous, right? But that is what RPA program truly is. If it is done right, of course.

"A picture is worth a thousand words"

The benefits of using RPA by Laserfiche

In the nutshell, RPA programs are super employees that do all the ridiculously mundane tasks accurately without complaining much or competing you for a promotion. That brings me to my next point, job security. Since RPA can do those tasks just like me, what does it mean for my future in the organization?


Will RPA replace jobs?

With all the benefits of using RPA programs and their ability to mimic human actions, will RPA replace jobs? The answer to that question is "it depends". It depends on a lot of factors. To my best knowledge, all I could say is that RPA will replace tasks. Repetitive, boring and mundane tasks that nobody wants to spend their time on. However, if your job mainly consists of those tasks, you are at risk of being replaced by RPA programs.

You can also calculate the chance of your job being replaced by robots from sites like https://willrobotstakemyjob.com/. Although it may not be able to give you the definitive answer, it is almost always good to know your risks. Then you can be prepared and plan to upgrade your skills.

You may hear about people getting fired because of the automation has taken over their jobs. I strongly believe those unfortunate events only occur due to either the employees do not upgrade their skills for a long time or the employers do not provide the opportunity for them to learn new things in the organization. Hence, whether or not you let RPA takes over your jobs is entirely up to you. Stay hungry, stay foolish.


Alternatively, you can watch my conference video on YouTube about RPA.


References:

Discussion (0)