Listen to the audio version of this article
As we enter the era of artificial intelligence, one of the emerging trends already impacting our teams and workflows is robotic process automation. Recently, a Robotic Process Automation (RPA) company, UiPath, closed their series C investment round of $225 million at a $3 billion valuation with leading investors including CapitalG (Google) and Sequoia Capital. Additionally, on a recent study “State of operations and outsourcing, 2018” by HfS and KPMG, RPA was ranked as the number one investment priority by enterprise buyers.
If RPA has not already become a consideration in your work as a project manager, it is very likely to become one in the near future.
What is Robotic Process Automation?
The term Robotic Process Automation evokes the feeling of being on an assembly line, where precise robot arms combine metal sheets and components in a synchronous and repetitive fashion. While RPA has its philosophical roots in the factory, when we talk about RPA we have software in mind.
If you have ever used macros or scripted solutions, then you should have a gut feeling for what RPA is. It automates structured, repeatable and rules-based processes such as creating accounts or inputting invoice data into third-party software. However, RPA is much more complex than macros because it can interact with multiple applications at the same time. It is easier to deploy than writing custom scripts because RPA tools have a drag and drop interface, which does not require programming skills to create process workflows.
An example of the RPA implementation looks like this:
- An RPA bot receives an email with a standardized excel invoice request form.
- The bot logs into an enterprise resource planning software SAP.
- Extracts the data from excel and inputs it into SAP.
- Creates the invoice in SAP and sends it to the requester.
- The bot sends a confirmation email, showing that the invoice has been created and sent.
If you want to dive deeper into how the RPA bots are actually set up and how they work, you can watch this walkthrough by an RPA provider.
Benefits of RPA
After the setup, RPA bots can complete routine processes on their own, requiring fewer people to keep things moving. Of course, human employees are still very much needed to set up and maintain the bots and to handle exceptions.
Faster Completion Rate
RPA bots are able to perform the same actions much faster than humans and they don’t take breaks. Bottlenecks within a process can be cleared by RPA bots. For example, a sales consultant can open an account for a client while on the phone with him, by initiating a request for an RPA bot. Compared to the all-human setup this could save from the few extra hours to the few days worth of work.
Eliminates Human Error
Most of the errors arise from copying information from one software to another (e.g. invoice numbers, amounts etc.). People either enter those details manually via the keyboard or select, copy, and paste those values. Both methods can create errors via misclicks or misselections. Since RPA bots select the values by targeting UI elements of an application, their error rate is close to zero.
Reduces Employee Burnout/Churn
If we look at the tasks that are being automated, they are usually very repetitive and uncreative. These tasks are a part of the menial work done by employees, which lead to high employee turnover rates. Bots do not have burnouts or care about the type of work they do and thus they can free up human employee time for more creative endeavors.
Integrates With Existing Business Applications
Quite often process optimization would require restructuring the process and then changing or updating the software used to complete that process. Since it is a costly endeavor, only the most important processes would secure the required investments. RPA leapfrogs this conundrum by building on top of existing applications. It does the same actions as a human would - just in a much more efficient manner.
Every new employee needs to be onboarded and needs to accumulate experience to be proficient in completing any kind of process. Conversely, you just need to set up an RPA bot once and if you need to increase the total bandwidth, you can just add more bots (i.e. more instances) that will follow the already predefined workflow pattern.
Moreover, if you want to expand RPA to another process, that has some overlap with the already automated process (for example retrieving the account number of a client), you can copy that part of the automation workflow.
Risks of RPA
Elimination of Jobs
As was noted earlier, RPA bots can replace human workers. While this potentially frees up the employee’s time to engage in more creative activities, not always are there opportunities for the employee to transition to a different role.
Unrealistic Setup Cost and Time Expectations
While all of the promises by the RPA producing companies sound very tempting. The reality seems to be more resistant to change, McKinsey reports that “installing thousands of bots has taken a lot longer and is more complex than most had hoped it would be”. Automating 30% of tasks doesn’t necessarily translate into a 30% reduction in operating costs.
Creates Dependencies from Source Applications
As we saw before one benefit of RPA is that it integrates with existing business applications. The downside of that is that applications get constant updates, which can wreak havoc on the delicate RPA bot workflows. Companies looking to implement RPA must keep in mind how this additional functionality ties into their technical debt.
Why RPA is Here to Stay?
RPA has caught the attention of a lot of executives over recent years and the media hype is catching up with the new investments in RPA startups. However, are there any signs that this will not be a passing technological fad?
A recent study “State of operations and outsourcing, 2018” by HfS Research in conjunction with KPMG showed the overwhelming interest in RPA among enterprise buyers.
RPA ranked higher than cloud, IOT, analytics, VR/AR, blockchain, AI/ML/Cognitive, drones and driverless vehicles. This might come as a surprise to you if you are not participating directly in the operational field of business or have had contact with RPA projects before.
We can look deeper at the underlying reasons for the dominant interest in RPA. Here are the top organizational priorities in 2018 according to a study by KPMG:
- Continue to drive down operating costs.
- Invest in new/improved traditional and emerging IT.
- Invest more in robotic process automation.
- Optimize processes and functions to best exploit automation efforts.
- Optimize global service delivery channels; excels at GBS.
- Redesign/re-engineer core business processes.
- Invest more in artificial intelligence/cognitive computing.
- Deliver new/innovative products/services into the market; increase/improve R&D.
- Find, attract and retain talent globally.
- Bring outsourced work back in-house; swap digital labor for outsourced services.
RPA is the 3rd most important priority. However, if we look closely at the list, we can see other bolded priorities also relate to RPA indirectly.
The reason why RPA is top of mind for a lot of executives is that it hits at more than one pain point: it drives down costs, is scalable, with seemingly fast integration. As pointed out before, this can create unrealistic expectations for setup time and costs, but RPA does look like a low-hanging fruit and a tempting alternative to the gargantuan work of redesigning the actual process to make it more efficient.
Will PMs be Automated?
We now come to the second part of the equation - how will RPA impact the work of Project Managers. With all the talk about robots and AI taking away the jobs of humans we can speculate if PMs should be worried.
The short answer is no. Project Management work is not highly structured, repeatable, or rules-based. Most PMs would say their job is the exact opposite of those qualities. Especially with more and more PMs adopting the Agile methodology, it will become harder to standardize PM tasks. Recall the first value of the Agile Manifesto - “Individuals and interactions over processes and tools”.
However, with the increasing adoption of RPA throughout various organizations,
software development Project Managers work will be inevitably affected. The projects that you take on will increasingly likely have either RPA considerations or an RPA component as part of your project. Since most RPA initiatives are related to internal operations and processes, you are more likely to get into contact with it if you are working on B2B projects. We’ll dive more into these details in the following section.
Opportunities of Developing Software Which is Used by RPA Bots
New Backlog Options
RPA offers a new tool in the PM’s toolbox. When managing the development of a new piece of software often times you have to think about how it will be supported after it has been released. This requires you to negotiate expanded responsibilities and resources with the client support, finance, admin, and other departments. All of this has to go into the project budget and RPA offers a way to make the support costs lower.
RPA Supports Agile
The smaller the project, a pilot for example, the harder it could be to secure resources from other departments. This is where RPA bots can be used to minimize the need for human resources. It would probably be hard to completely avoid human support, even for the pilot stage, but it’s much easier to secure a part-time client support specialist for 2 months instead of 3 FTEs for the same period. Moreover, if the pilot does not meet the business expectations and further development of the project is canceled, you can simply deactivate the bots. This allows you to be much more agile.
That same understanding that the product will have to be supported after release by humans can be a limiting factor on your and your team’s ambitions. When defining the project vision and creating the backlog, you consciously or unconsciously eliminate some ideas because they would require high levels of support, which would decrease ROI. Having RPA in your toolkit allows you to consider completely different project paths because:
- Costs of future processes can be lower by using bots.
- It is easier to scale bot support, creating a possibility for you to be more responsive to the market demand.
Structured RPA Deployment
If you are in a situation where RPA has not yet been tried in your organization, then you have a chance to set the framework for how bots are created and deployed. This can be a challenge, especially if introduced into a non-IT department. People there might not follow, or even be aware of, industry-standard methodologies for delivering software (a bot is still a piece of software, even if not deployed by the IT department). This could lead to legacy solutions which will be discussed further in this article. If you as the project manager are able to facilitate the right structured RPA deployment, you can avoid running into these legacy issues.
Challenges of Developing Software Which is Used by RPA Bots
A lot of RPA companies pitch their product by saying that a bot does the same things that a human would do, it’s just more efficient at the specified tasks. While on the surface level that’s true - most of the time bots have the same digital working environment, click the same buttons and copy/paste the same data - the way they go about completing those tasks is quite different.
The two most common methods how bots interact with applications:
- Element recognition - it finds the UI element name within its attributes in an application or within the HTML tree in a browser (same as you would do with developer tools in a browser). This would typically be used when the bot is able to access the application directly in its environment.
- Image recognition - during bot setup you specify visually which parts of the application the bot has to interact with and using computer vision, it is able to identify the relevant data, input fields, buttons and interact with them. This method would be used when an application is accessed via a virtual environment and it’s impossible to use the 1st method.
As we see the bot mode of operation is significantly different to how humans would go about interpreting the on-screen data. This creates challenges when your team is developing software that will be used not only by humans, but also by bots.
Bots Create Dependencies
Right of the bat, the first challenge to be aware of is that, as described above, bots and humans do not interact with your application in the same way. This means that when you perform maintenance or release upgrades, the bot’s workflow might be affected.
Changing the UI element attributes might result in the bot not being able to locate the correct elements. This would have no impact on a human worker at all.
Changing the visual aspects of your UI (layout, colors, element sizes, text names, etc.) could hinder a human employee at least temporarily, but he or she would be able to adapt, probably even on the first try. For bots accessing the application via a virtual instance could be disastrous as the previous images, based on which the bot was supposed to locate the correct elements, do not return any matches in the new version of the application.
All of this creates additional dependencies that need to be managed during development, testing and support. Otherwise, the bots may go haywire and create additional of problems.
Let’s say that one of the scenarios described in the last point actually materialized. You would be lucky if the bot just stopped working and sent out an error to someone who is responsible for maintaining the bots. Another scenario is that the bot actually picks a different UI element and starts using it.
Dan French, CEO at Consider Solutions, who has worked with a lot of clients setting up RPA bots has said: “bots have no judgment and will repeat errors at scale if bot rules are not well designed and monitored.” Automation makes bad worse faster and bots can corrupt a lot of data.
Legacy Systems Incoming
The last two points discussed the situation, where bots fail. Let’s now look at a setting, where the bots are operating as expected.
Chris DeBrusk in MIT Sloan Management Review compares the coming of RPA bots to responses to the Y2K time-clock change bug:
To deal with the time-clock change at the turn of the century, many organizations circumvented legacy limitations. Business users embraced the increasing power in Microsoft Excel and Access to create complex, business-critical applications on their desktops. But as those custom-made computing tools proliferated, so did the problems due to the lack of a strong controls framework, QA, release-management processes, and other formalized IT processes.
Today’s explosion of bots threatens to repeat this pattern… The bottom line is that the scripts that program bots are software code and should be treated as such. They need to be designed using industry-standard methodologies that focus on reuse and abstraction, and they should be versioned and properly logged so that QA processes can be executed against them.
RPA companies are going out of their way to sell the simplicity of setting up bots. This analysis clearly shows how legacy systems can be created. It can also be exacerbated in an agile project management environment. The desire for rapid development can leave governance initiatives on the sidelines.
Shortcuts Instead of Real Innovation
RPA seemingly offers a great solution but you have to consider that automating some tasks and freeing up the backlog for that area might simply push the bottleneck to a different part of the organization. RPA can disincentivize people from coming up with actual innovation in the product by giving seemingly unlimited resources to handle grunt work. It has the danger of freezing outdated processes when actually they need to be updated.
“RPA is about fixing the potholes in the road. Do not confuse it with building the new highway.” - Steve Gordon, VP Global Services Operations at Becton Dickinson
Change Management Considerations
“87% of executives are positive about robotics and RPA whilst only 17% of transactional workers are on board.” - according to a survey carried out by Consider Solutions.
It’s probably better to present it as Robotic Task Automation instead of using the word ‘process’. It creates more realistic expectations for your stakeholders because current RPA technology is not really capable to fully automate complex processes. It creates certainty with the employees who are currently carrying out those tasks as they will still remain the process owners, however, the most menial parts of their jobs will be handled by software.
With the influx of venture capital funds and the need for process owners to optimize internal processes and to cut costs, RPA offers a low-hanging fruit solution. A lot of companies have done pilot RPA projects and some of them have scaled beyond that. This means that as a project manager you are very likely to come into contact with RPA bots directly or indirectly, especially as the field scales.
As we have seen RPA provides many opportunities and new backlog options for your projects. At the same time, it poses many challenges: from data corruption to the creation of legacy systems. As a project manager, you will have to be mindful of how to develop products or software that take RPA into consideration. Doing even a little bit of extra planning will save you a lot of headache down the road and deliver the results your stakeholders are expecting.
If you would like to dive deeper into the RPA industry, gather some information about solution providers and the current state of the technology, you can check out these vendor-agnostic industry reports:
Understanding the basics
RPA tools make it possible to automate repeatable and structured tasks. These tasks are completed by bots. RPA tools are a special type of software, which allows a user to easily recreate a workflow of a highly structured, repeatable and rules-based processes.
An automated process is one where a bot is able to complete all the tasks within the scope of that process without human intervention.
An automation project entails creating the ability for certain tasks to be carried out autonomously by bots without any help from human employees. This can be achieved by using RPA tools.