It’s easy to realize how the fields of technology and robotics improved in the past years and how robots are becoming more and more present in our daily lives. If you think about it for a bit, the first examples that may come to your mind are probably vacuum cleaning robots, food/drink machines, ATMs, or even the Tesla Bot announced a few months ago during Tesla’s “AI Day” event. Although those are super cool technologies, they don’t fit the RPA concept. But the idea behind them is essentially the same.
RPA (Robotic Process Automation) is a software robot that optimizes and automizes processes at its core. Notice how it’s described as “software robots”, so when we talk about RPA, we are not talking about a physical robot that goes around and does things for you. To better explore the concept of RPA, let’s picture a simple example: Imagine a disgruntled employee named Josh. Every day Josh must read a bunch of invoices, copy all the relevant information from it into a spreadsheet and send a report to his superior at the end of the day. Josh is unhappy with his job because this is a tedious and repetitive task.
So how can Josh’s company help him be happy with his work without transferring the invoicing task to another employee? The answer is RPA. When using software robots to do repetitive, high-volume, and lower-value tasks, people can focus on things that we, humans, do best: create, innovate, collaborate and interact.
Just like people, software robots can perform a wide range of actions that can be automatized, like:
Robotic Process Automation is a game-changer on the digital transformation, and it’s changing how companies are boosting productivity, increasing the accuracy of manual processes, and saving costs and time. It is no wonder why RPA is one of the fastest-growing enterprise technologies globally.
Before jumping into software robots, it’s essential to realize what processes are most suitable to be automated through Robotic Process Automation. First of all, it is crucial to notice that robots are made for repetitive tasks.
Let’s suppose you have a process that does not occur frequently and does not require that much work to be done. In that case, implementing an RPA solution would consume more time to develop than using it. So, it does not make much sense to implement automation at all. However, if this process is repeated many times through its entire lifecycle and requires a significant amount of effort to be done, an RPA solution might be very suitable. Another possible scenario ideal for Robotic Process automation would be time-consuming processes. These tasks take a long time to be done but do not necessarily require much effort.
Software robots can also automate processes with many business rules and logical decisions. However, it’s not good to use them to make subjective decisions since they are not very good at abstracting concepts as we do.
Although software robots are very good at reading structured data, they can also be an excellent tool to deal with unstructured data when combined with artificial intelligence technology. Last but not least, RPA solutions are the perfect fit for processes that may be easy to execute but are very error-prone since when well designed, software robots tend to be much more precise and accurate than humans.
I have been working with RPA for almost a year now, and to top off this blog post, I would like to share exceptional advice with you. When building automation, it is crucial that we, developers, fully understand the concept of the process and the business logic behind it. Although we program the robot to follow simple (sometimes not so simple) business rules and make logical decisions, eventual failures may happen during the execution of the automation. You may think that the robot is ready for a UAT (User Acceptance Testing) after you have just finished programming all the steps to be taken by the bot. Still, if your RPA solution is not robust enough, it’s just a matter of time until the problems start showing up.
At least 50% of the development phase consists of failure acceptance. You probably watched “Avengers: Infinite War,” right? So, imagine when Dr. Strange saw alternative futures before fighting Thanos. It should be almost like that. To the bot’s stability, the developer must try to imagine all possible failure futures and prepare the bot to deal with every one of them.
A few questions you should ask yourself during the development phase, for example, are: how the bot would handle further actions if it fails to click a specific button on a user interface application? How would the bot deal with a bad internet connection during a web scrapping activity? Is the bot capable of resuming its work after a failure at the same point where it failed? Remember, to successfully use an RPA solution to free human beings from tedious and repetitive tasks, automation should also be able to deal with the most different types of adversities, just like we do.
There are no doubts that RPA is revolutionizing how things get done across business and IT operations. The demand for this technology has grown a lot in the last years, and unless humanity faces a Butlerian Jihad (Dune is a must-read if you haven’t understood this one), the trend should be the same for the upcoming years. Whether you are an RPA developer or a business person interested in applying RPA, it’s always important to consider the best practices and scenarios for implementing this technology to ensure you can take full advantage of your robotic process automation solution.