Sales of Robotic Process Automation software noted an increase of 63% in 2018. This makes RPA the fastest developing technology, and the sector’s market value is growing at a tremendous pace. What is RPA technology and in which industries is it used? How is it revolutionizing the market and what is the secret behind its success? We talked about all of this to Przemysław Włodarczyk, an RPA developer at JCommerce.
Imagine you are talking to someone who is hearing about RPA for the first time. How would you easily explain what this technology is?
I will explain the abbreviation RPA: it stands for Robotic Process Automation. To explain in a simple way – you automate what a human does manually.
Where did the huge recent popularity of these solutions come from? What is behind the tremendous speed of its development?
In the case of RPA technology, “virtual employees” are created. How to explain its popularity? It is obvious: savings. Instead of employing dozens of people who carry out the process manually, you can create a software robot that will cost less than a physical employee, will not demand a pay rise, will not go on holiday, will not get sick, and will not quit its job overnight.
How were business processes previously automated?
I have been dealing with automation for over five years now and earlier human work was automated – depending on the application used and its capabilities – by means of various technologies, such as VBA macros or C Sharp applications. However, it took a long time to develop software using such solutions. Later, the maintenance of such tools consisted of finding out what business logic automation had, and it was necessary to analyze the code on which the application ran.
And this is where RPA technology comes in as something new which is easier to maintain and implement…
First of all – when we automate a process, the idea of RPA is that the implementation process is much faster. The second thing is that there are several tools, integrated environments for application maintenance, the advantage of which is that you can see the entire logic of the process. For example, BluePrism is used for design. These are some kind of block diagrams, logical elements. If someone sees them, they can understand the logic of the process at once.
Including a business user? Will a client who wants to see how such a process is built from the inside be able to understand what it is all about?
Yes, you can show the design process to a business user, so that he can see what it looks like. You can show the client the logic of a given process in BluePrism, and how such a robot is built and organized. This allows you to immediately see what is happening in the process. You do not need to analyze the entire application code. That’s why robotics, or RPA solutions, are now considered the next step in automation.
Do “robotics” and “RPA” mean the same? There are so many applications of RPA and so many types: hybrid RPA, supported RPA, unsupported RPA. It is easy to get lost.
RPA and robotics – it’s the same thing. Robotics is a set of different technologies. It is not one programming language, one technology or one tool. There are number of tools, depending on the client, or on the company that implements such a solution, as well. There are different technologies – more advanced or less advanced, depending on the approach.
Should employees be afraid that software robots will replace them and make them redundant? Or maybe that RPA technology will be used as a supporting model for employees?
If a process is being automated, it does not necessarily mean that the need for human employees is completely eliminated. There are some parts of this process that cannot be automated, and there is a need for given employees to perform some manual tasks.
Can you give us an example?
It looks like this: when you create such a robot, it works on virtual machines. Every process that such a robot performs must have some input and output. The role of the employee is to provide some data for processing, e.g. invoices. This data for the robot can be provided in various ways: by e-mail, in the form of an Excel file, or by generating a file. After processing the data, we obtain a specific output. Also, it is in a particular format: an Excel file, processed e-mails, or when we add or update something in the database.
Does using RPA in a company require a great deal of knowledge from such employees?
In fact, the employee is not required to have technical knowledge.
What interesting uses of RPA have you encountered? Have you participated in any interesting projects?
I used to be part of a project for a bank. I built robots and automated processes to automate work previously performed by 20 people.
One robot replaced 20 people?
I automated one process that was performed manually, but there were nine such robots working simultaneously. When such solutions are designed, you also need to think about scalability, meaning several such robots operating at the same time. In that case, nine operating robots replaced the work of 20 people.
That’s a lot.
It’s not that many! I did not build the solution, but participated in maintenance, where 20 robots operated on 20 machines at the same time – depending on the needs. These robots replaced the work of about 100 people.
Are there any restrictions on the creation of such software robots and the use of RPA or is it a case of “the sky is the limit”?
Infrastructure is a limitation, because a company usually has specific resources, e.g. virtual machines, which can be engaged. So this is a limitation. Often, there are several different automated processes, so you need to plan the usage of resources. When a robotics company is involved, there is an entire robotics department. whether bigger or smaller, and the roles are divided appropriately.
What does the team responsible for implementing RPA technology look like?
There are analysts within the team who analyze given processes in terms of automation possibilities, including what savings it can generate. There are RPA developers who build such robots: designing, programming – just like me. They are involved in the entire design and programming process of these robots. Developers operate in a development environment, then tests are performed to simulate the work of robots in a production environment; next, the robot goes to production and these robots are managed by controllers, who allocate resources. For example, when they see that there is a lot of data to process, they allocate more robots to reduce this amount.
The implementation of the automation of a given process therefore requires the involvement of many people with various competences, who have control over it at every stage, even after implementation.
Exactly. In addition, apart from an analyst, who is usually on the business side, there is one or more Subject Matter Experts (SME). The SME is an expert with complete knowledge of the process, and cooperates closely with developers.
The involvement of many people determines the success of automation, not just the developer – it’s teamwork.
The role of the developer is not just implementing automation. The developer also usually deals with the maintenance of the implemented solution, adding new functionalities, fixing errors, implementing changes in the process, etc.
Scalability is often mentioned as the main reason for implementing RPA. At what stage can you determine if the process will be profitable and who comes up with the estimates?
The analyst is the person who assesses whether automation will be profitable. It’s usually a person from inside the company. They examine what measurable benefits it will bring and whether it is at all profitable. You can analyze, for example, how much an employee spends on a given process. Then we can analyze whether e.g. implementation and creation of the robot will bring any measurable benefits. Because you also need to remember that such robots do not come free of charge.
What are the costs associated with RPA?
The company that provides such technology charges a license fee – and this is not a small amount of money. For the BluePrism solution that I am using, it’s around £5000 a month as far as I know. The analyst must therefore take into consideration the costs of the license and analyze whether it is profitable to involve the robot, or whether it is more profitable to leave this process to people. The automation of bigger processes, where a large volume of data will be processed, usually brings measurable benefits.
What are the biggest benefits of using RPA and how are they measured?
The measurable benefits are the financial ones – we automate people’s work. If we design a robot, it processes so-called “items”. Such an item may be some document, an invoice, etc. As an RPA developer, I can estimate that one such invoice is processed by a robot in three minutes, while a human processes it in 15 minutes. Thanks to the integrated environment where you can monitor the time of work of such a robot, it is easy to measure.
And as a developer, what benefits do you see?
The idea of RPA solutions is that everything is integrated, everything is in one place. This works when we as developers work on the automation of a process which uses several different applications. We used to need several technologies, but now we can automate a given process from A to Z using one tool. Most importantly, the implementation time is much faster than when using programming languages.
What challenges do you face?
Mainly technical problems. Robotics means that a process is automated to process data the same way that a human does it. It also depends on the application used – the automated process may work in a different way than a human does, e.g. extract data from some database or web service. Let me give you an example. We have a process which uses data from three applications, these are often external applications, and it is not always possible to access these databases. If an external company does not provide access to the database, I only have access to the user interface. Legal aspects regulating access to a given application are often a challenge, as well.
How important is the cooperation between a development team and a business?
Often this is actually not a collaboration between the development team and the business, but between the developer and an external company that provides some applications. Often you have to contact the external company’s support team and determine what is possible and what is not. I need to find out how I can get some data, and if the company is willing to provide me with an interface that I can use to optimize the work of the developed robot.
As for industries, in which of them do you see the greatest potential for using RPA technology?
I’ve been doing this for several years and the industry doesn’t really matter. It can be a financial or manufacturing industry, it can be HR or financial departments. The scope of application of robotics is very large. As far as I know, a lot of financial companies are interested in implementing RPA technology. But it is not limited to such companies. Also, manufacturing companies or those from the automotive industry may be interested. In general: larger corporations that want to automate the work of their departments.
What is the key to the success of such a project? According to E&Y research, 30-50% of RPA projects fail.
Sometimes errors at the stage of analyzing given processes are the reason. It is worth remembering, as I have already mentioned, that these robots are not maintenance-free. It’s not that you design a robot and you can forget about it – it doesn’t work that way. Often there are, for example, changes in a given application, so such a robot needs maintenance, or reconstruction. So it also means financial investment for people who are involved. It also can turn out that business expectations are different and we get a reality check.
Which situations do you mean?
I can give an example of an error in terms of analysis. There is a financial process that checks invoices – e.g. it checks if a given invoice has been paid. The robot needs as much time as a human to do it, so for example it takes 3-5 minutes. On the other hand, the business would like this robot to process 20,000 invoices, which is physically impossible due to incorrect business analysis at the initial stage and the underestimation of technical capabilities. Someone did not check what the business expectations and the technical possibilities were, and despite the time commitment and people’s hard work, automation does not bring the expected savings.
Who is responsible for maintaining RPA solutions? Is it the people who were responsible for the implementation or is it the company? Or maybe an external company?
It varies in different companies. The robotics department can be an internal structure and maintenance is carried out by developers and employees of this company. It may also turn out that developers and controllers work in various companies. In the current project I am working on for a client, robotics is handled by the department in the company’s internal structures, and the maintenance of robots by an external company. After development, the robot goes to the production environment and before it is fully functional, it must operate in the so-called ‘hypercare’ period, which lasts one month.
During this time, the robot is adapted to the production environment and errors are eliminated. After the ‘hypercare’ period, the external company takes over the responsibility for the maintenance of the robot. Of course, the developer is still responsible for maintenance in the event of future errors that were not detected at previous stages of implementation, and for the adaptation of the robot to any changes that occur in automated applications.
Read also: Technological trends for 2020