Artificial Intelligence

What is Robotic Process Automation?

06 November 2020 • 7 minutes

Written by Eban Escott

image for 'What is Robotic Process Automation?'

Frey and Osborne from the University of Oxford found that as much as 47% of total US employment is at risk of job automation. With huge numbers like this it is no wonder people want to know what Robotic Process Automation (RPA) is. More recent studies have found differing numbers, but there is no doubting that RPA is worth taking a closer look at.


Robotic Process Automation (RPA) automates tasks that a human usually has to do manually. Many organisations are under pressure to do more with their limited workforce making RPA an attractive value proposition in boosting productivity. This has created a lot of attention in this space with UIPath, one of the market leaders in RPA, raising $225M this year and is now valued at a massive $10.2B.

One of the big attractions of RPA is the ability to automate existing applications without the need to change them. This is highlighted by the following quote from Alastair Bathgate, founder of Blue Prism, in an interview with the IRPA AI:

“We’re not producing automated robots to interact with human beings. We’re creating robots that crunch through the routine technical work in the back office.” Alastair Bathgate

When an organisation is drowning in legacy systems, an RPA program of work can alleviate some of the pressure to a later point in time. This deferral does come with significant risks if they are not managed.

In this article, we are going to orientate you with a broad view of RPA by looking at a few common questions and provide some links for those readers who want to go deeper on some topics. Furthermore, we are going to discuss why Codebots is not an RPA tool but can be treated as complimentary in an organisation’s strategy. The following questions will be answered below.

When did RPA start?

Automation is what computers do. The history of computers can be traced back to mechanical machines and even further back by some historians. The modern era is dominated by the 3rd industrial revolution, fuelled by advances in electronics and computers. So, it is difficult to say when RPA started as it is an umbrella term that combines different technologies that have been part of computing for a long time. However, more recently, the term RPA was coined by Bathgate in about 2012.

The mix of different technologies includes workflow automation and management tools like Business Process Management (BPM), which started getting some serious attention in the 2000’s (possibly earlier). BPM has a wide variety of functionality including process modelling, advanced workflows, analytics, and reporting. All these advances flow into RPA tools because at their core, an RPA tool automates a workflow that a human usually does manually. So, workflow automation and management tools are an obvious fit.

Another example of technologies used by RPA tools, is screen scraping software for desktop automation. Lots of legacy systems do not have adequate APIs to automate so some systems need a more crude method. Basically, the screen scraping software finds the location of something like a button or a textfield as an x-coordinate and y-coordinate. Then, there are different ways to take control (sometimes as low level as the operating system) by clicking or entering text at those co-ordinates. Screen scraping software is important to locate the correct locations.

Since the age of the Internet, browser automation tools have become prominent as well. Like a lot of RPA tools, they have spun out of the need for software engineers to test their applications. Testing software is very important for quality and an approach to system testing is to automate the tests and simulate a user interacting with the application. There are technologies like Selenium for automating browsers, and Appium for mobile apps that software testers use. You can think of RPA tools using technologies like this.

So, what does this all mean for answering the question about when did RPA start? The short answer is the the acronym started around 2012, but the various technologies that are used in combination for modern RPA tools have a longer history. This medium article has a nice timeline for interested readers that want to dig deeper.

What can RPA be used for?

RPA can be used to automate tasks that a human usually does manually. The tasks can be split into two broad areas: mundane tasks and tasks that require some sort of judgement or decision making. Mundane tasks are simple tasks that you do everyday and you could show someone else to do. The following list are some examples:

Robotic process automation infographic

Mundane tasks can be automated using a combination of workflow automation and management tools, screen scraping software, desktop automation, browser automation, and other techniques like this. For these types of tasks, there is no judgement required as the RPA tool will follow the workflow based on concrete parameters. However, what if you need a decision to be made on a judgement call like humans often do?

Judgement or decision making tasks venture into the realms of Artificial Intelligence (AI). AI techniques like Machine Learning (ML) are based on math that results in an accuracy. For example, an ML algorithm will be 73% certain that there is a car in an image. In short, this means AI can be used to make judgement calls like a human but only with a level of certainty.

So, RPA tools have extended out to include AI to help with judgement or decision making tasks. Some examples in the financial sector include tasks like fraud detection, loan approvals, financial planning, and the like.

For further reading on the automation of jobs there is an interesting journal paper from Business & Information Systems Engineering asked the question; What should be automated and what should be done by humans? A McKinsey Digital article dives deeper looking at where machines could replace humans and found some interesting findings breaking it down by sector. There is also detailed analysis about the future of work in automation, skills use and training from the OECD iLibrary.

What are some RPA tools?

The magic quadrant for RPA from Gartner splits companies into leaders, challengers, visionaries, and niche players. According to the linked report, there are four leaders in RPA:

When looking into these tools you will find an array of different pricing models with most being complex. You may get charged a one off fee to own the bot, you may per task like document scanning, or complexity of the task, or number of users in the platform. It is not easy to determine and most of these vendors do not advertise their price. This is annoying and suspicious for consumers looking at the RPA market.

But, what about other tools that are not traditionally RPA? This is an interesting question as you may be able to find something else that works for you specific use case.

For example, have you heard of IFTTT? IFTTT stands for if this then that and provides a way to connect different applications and make a workflow. Or, marketing tools like Drip that have lots of automation and workflow capability too. So, even though these tools are not traditionally RPA, they do provide some interesting automation capability that could serve your purpose.

Is Codebots RPA?

No. Codebots is not RPA. I can understand why people might think this though. We use software robots (bots) to automate coding, so it sort of sounds like it could be. In contrast:

RPA automates routine back office work; Codebots write full-stack software applications.

RPA uses workflow automation tools to coordinate the various jobs; Codebots uses models of the software application that the bots write the code from.

So, even though Codebots might sound like RPA, it is not. Another way to think of it is that RPA aims to automate manual human tasks in an outside-in approach. This differs from the traditional inside-out approaches to improve software systems, like you would use a codebot to help with.

Summary

RPA is an interesting term that brings attention to a suite of different technologies and tools. Personally, I like it as it draws on advances in areas like workflow automation, AI, and bots.

However, it is important to note something that wise technologists know:

“The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.” Bill Gates

This type of thinking must be carefully considered when using RPA. Are you trying to use RPA to automate an efficient process that humans have mastered? Or, are you trying to use RPA to automate an inefficient process that you cannot change because you are stuck on legacy systems? When it is the latter, RPA is just a band aid solution.

We believe that you can continuously modernise your legacy systems and increase your business agility. So, maybe a combination of RPA and Codebots is the perfect match in boosting your teams’ productivity? Two bots are better than one!

wall-e meme

Book a workshop today to see how the Codebots platform can help your development team build apps faster.

Eban Escott

Written by Eban Escott

Founder of Codebots

Dr Eban Escott received his Doctorate from UQ (2013) in Model-Driven Engineering and his Masters from QUT (2004) in Artificial Intelligence. He is an advocate of using models as first class artefacts in software engineering and creating not just technologies, but methodologies that enhance the quality of life for software engineers.