Robotic Process Automation (RPA) has been gaining traction in recent years. It has moved from being a mere buzzword to being a priority on organization’s to-do list.
Being a Business Process Management (BPM) practitioner, I am interested in exploring how a BPM software (BPMS) can work with an RPA tool. If you look at the leading BPMS vendors from different magic quadrants, you will see a trend developing. Pegasystems a BPMS vendor acquired an RPA tool last year. Appian, another BPMS/low-code vendor had RPA front and center at their annual conference.
In my opinion, RPA compliments BPMS very nicely, it can actually increase adoption of BPMS, and vice versa. In rest of this article, I am going to explore two different approaches that can be used to make a BPMS and an RPA tool work together in harmony.
A process cannot exist in a silo, it has to integrate with other systems in order to deliver real benefits. Unfortunately, in most organizations, a fully integrated process is only part of the vision and not reality.
Unfortunately, in most organizations, a fully integrated process is only part of the vision and not reality.
Various factors such as mergers, acquisitions, legacy software or resource constraints can stop you from building those much-needed integrations. Lack of integrations definitely has a negative impact on adoption and usability of the automated process.
Consider a basic version of the order management process. You have automated the process using a BPMS, but it lacks integration with let’s say the shipping vendor’s system.
In order to complete the Ship Order activity shown in the process above, you will need to work on multiple systems. Here is a quick list of different tasks that you might need to perform.
- Login to order management system
- Search and open order details
- Login to the shipping vendor’s system
- Copy and paste all the required data from order management system to shipping system
- Ship the order and copy tracking number from shipping system back into order management system
- Log out and close the shipping system
- Mark order as shipped in order management system
- Log out and close the order management system
If you get one or two orders a day, these tasks might not be a big deal, but if this is happening 100 times a day, then you are spending a considerable amount of time on non-value add work.
If you have similar situations in your organization, where processes have been automated using a BPMS but due to lack of integrations have resulted in swivel chair activities, then RPA tools can help you.
A swivel chair activity means that a user has to perform tasks in multiple systems in order to complete a single activity of a process. In the order management process example, Ship Order was a swivel chair activity.
The idea behind Process-Diven RPA approach is that your process keeps running inside a BPMS without any major modifications. You automate non-value add swivel chair activities by using the digital workforce (bots) provided by the RPA tool. Referring to the earlier example of order management process, once your process reaches the Ship Order activity, instead of a human doing all the tasks, a trained bot can perform all the tasks.
This approach can help you (in a way) integrate with systems that might not have been possible otherwise and more importantly free up your human resources, who can work on value-add work instead.
A bot is great when you have well-defined repeatable tasks that it can perform, but what happens when there are data anomalies or errors? It is simply not feasible to train a bot with all possible exception cases (unless it is a self-learning bot, topic for another day).
To further elaborate this approach, let’s take a look at trade reconciliation process. This process usually happens at end of a trading day, and the goal is to make sure that balance is accurate in two or more systems.
The figure above shows two hypothetical systems used for trading. Here is a quick list of different tasks that an agent might need to perform for reconciliation.
- Login to trade management system of the firm
- Search and open the customer in trade management system
- Login to broker system
- Search and open the customer in broker system
- Verify that end of day balance in both systems is same
- Log out and close the trade management system
- Log out and close broker system
Now consider the exception case where at end of the day, the balance was not same in both systems. In this exception case, an agent will need to perform follow-up tasks, which might require a call or email to the client and broker to find out the reason balance is not same.
In such scenarios, a bot can be trained to perform the daily repeatable tasks of checking balance in both systems, but training it on all exception scenarios, follow-ups, and follow-up actions might not be possible, and this is where BPMS comes to the rescue.
As the name suggests, the idea behind RPA-Initiated Process approach is that when a bot has not been trained to handle exception cases, it requests human intervention. The bot completes its processing, kicks off a human activity inside BPMS and moves on to the next set of work. This approach works great when a majority of the time a bot is able to complete processing without issues, but in those minor instances when they do find anomalies, a process is kicked off in BPMS so that a human can follow-up and resolve the issue.
This approach works great when a majority of the time a bot is able to complete processing without issues, but in those minor instances when they do find anomalies, a process is kicked off in BPMS so that a human can follow-up and resolve the issue. This again lets your resources focus on actual value-add work instead of spending time on mundane tasks.
In my opinion, BPMS and RPA are a great match. The two approaches discussed in this article show that if both technologies are used in harmony they can really complement each other and increase adoption.
Share your thoughts on how you are planning to use BPMS and RPA in your organization. What opportunities or challenges do you see in implementing both together?