Robotic Process Automation (RPA) is not a new concept but it has gained widespread traction in business in the last 2-3 years. As it has grown in popularity, the technology has become more sophisticated and the use cases for it are expanding.
In a systems integration context RPA tools are enabling automated integration with legacy systems that wasn’t previously possible, easy or feasible. As with any technology, however, there are some scenarios where RPA is not a good fit (nothing is ever a silver bullet, is it?). In this blog I’m going to detail some key points you should consider before using RPA as another tool in the “integration” toolbox.
How RPA Can Solve Integration Challenges
As highlighted in one of our previous blogs Solving Legacy System Integration Challenges with RPA most organizations have some legacy systems in their business that are difficult to integrate with. They might be mainframes without APIs or very limited web services, applications that aren't easily extensible or customizable, or software that can’t have transactional integration with its persistence layer (RDBMS).
Human interaction is the one thing these systems all have in common and this is where RPA provides value. If a human can interact with a system, then so can RPA.
Four Use Case Considerations
As with normal business process automation there are scenarios where RPA works well and others where it doesn’t fit, or the ROI does not justify the investment in the first place.
1) Scalability and Performance
RPA tools are typically very dependent on the application client (the web browser or installed client executables) which come with obvious drawbacks when compared to more native API based invocations For example, one host 'machine' might be able to do hundreds of concurrent Spring (Java) HTTP adapter invocations, but the same host 'machine' may only be capable of running one or two installed client applications to interact with a system through RPA. This makes its scalability orders of magnitude more expensive than ‘low friction’ API invocations. Starting up a window or other browser, navigating through menu items, clicking and entering values on forms, despite RPA being capable of executing these much faster than any human, is still much slower than other pre-programmed alternatives.
- It costs more to scale out. Given a fixed cost, RPA can, for example, execute in the order of thousands of transactions per day, instead of millions with alternative integration techniques.
- RPA transactions typically take seconds to minutes which is not suitable for real time use cases.
2) Ease of Implementation
At first glance RPA seems a relatively easier technology to implement. A less experienced user may build ‘happy path’ workflows without considering the handling of exceptions, reconciliation, verification of intended end state, catering for all types of a data entity (whether escalating to a human in certain scenarios or branch logic for each variation) or, establishing, implementing and evolving best practice patterns tailored to individual target consoles (and their concurrent system behaviours).
- Verify the hypothesis that it is better to implement RPA instead of alternative integration techniques.
- Is a baseline MVP (Minimum Viable Product) sufficient for most cases and will it provide an improved speed to value? What is the effort involved in catering for a specific data entity variation coverage and how much benefit can be gained with this coverage.
3) Building Maturity
The ease of use of RPA technology can let people think that it’s easy to roll out into an enterprise grade production setting. But knowing all the different scenarios that a human can encounter with a specific system through its GUI and what to do with each is complex.
RPA tools give you a lot of options to implement different patterns to interact with a system, but maturity is gained over time by expanding on the patterns for interacting with a specific system. There are quick ways of implementing happy flows with systems and there are better, more mature ways of integrating with systems via RPA to balance speed and reliability.
- Applying the 'enterprise grade' tag to RPA is a vastly different and more complex exercise than running it on someone’s desktop somewhere 'virtual assistant' style
- The business must be willing to invest in the capability in order to achieve the reliability required for long term success
- Apply patterns like reconciliation, human hypercare, human supervision, end state verification, and agreeing data entity variation coverage up front while starting an RPA journey
4) Changes in the Target Console
People often take the target console GUI for granted and ‘screen scrape’ it as if it will never change. Unfortunately, the exact opposite is true - systems expect humans to cope easily with changes in the console/interface and often make subtle changes to page layouts, tabs, hyperlinks, etc. RPA can be applied in ways to automatically compensate for this up to a point, but this needs to be a conscious exercise during design & development as RPA can also be applied in ways that makes it sensitive to changes in the GUI.
- Consider whether quick time to market of an RPA solution will offset higher BAU costs due to constant changes in the target console GUI
- Utilise specific patterns within RPA flows to cope with changes in the GUI
RPA is but part of a suite of intelligent automation technologies that an organisation may consider to support and enable both tactical and strategic digital information technology objectives.
Some of the challenges facing the implementation of an RPA capability have clear answers, others can have strategies to mitigate their impacts. For example, start with an MVP approach and a generic "catch all", end state verification pattern, or up front verification that the bot should be handling this specific use case and escalate to a human 'supervisor'. When enough of these occur the workflow can be updated to cater for that scenario.
The intersection of intelligent automation and integration technologies provides feasible additional use cases for RPA. Further, mature integration practices can provide guidance for effective feasible RPA utilisation.
The crux is to be aware of these considerations when choosing your path and investigating options to integrate with legacy or inflexible systems. Does it fit in with how you anticipated RPA could provide value in your environment?
Remember RPA comes at a price, both direct as well as other hidden costs which indirectly add to the expense of using the technology. The Institute for Robotic Process Automation & Artificial Intelligence states that “Out of every 100 steps, a human is likely to make 10 errors, even when carrying out somewhat redundant work.”, the same can be said of the humans that implement RPA.