Everytime we start a new project with a new customer, RPA is typically used to automate small, well-defined tasks. Those are the low-hanging fruits that usually start the wave of automation a company needs to fulfill the dream of digital transformation.
Those simple processes look self-contained and can be executed by a simple robot. The customer gets quick ROI on them creating a feeling of success.
This phase seems easy. In fact, so easy that some companies decide to start their own “low-code”, “citizen-developer” initiatives, without resorting to professional teams. Just like we do when we decide to paint a few walls.
But soon enough, there are dozens of automated processes running in parallel and the first challenge is managing their operation, especially dealing with errors.
Countless companies get into a position where untrained people have to attend to robots, manually scheduling them and resubmitting jobs by hand, just to deal with unforeseen errors and dealing with new versions of the programs. RPA is software and there will be bugs on the code base. Moreover, RPA gets most of its power by going through UIs, but UIs change, and RPA systems sometimes can’t cope with the change and give runtime errors. On top of that, robots run 24h/day and soon attending to them feels like babysitting: we have to monitor them in case something happens, but most of the time we are just doing nothing. In the worst case scenarios, it can look like running an ICU, with the need to hypercare all those robots.
Suddenly, it feels like that painting a few walls turned into a large construction project, but without the proper methodology, professionals and tools.
Robot Orchestration helps to lighten the load. An Orchestrator is a piece of software that can automate much of the complexity of scheduling, running and attending to dozens or even hundreds of robots in parallel. It launches robots, reschedules them if some unforeseen event came up, deals with errors and enables the customer to manage by exception: alarms will inform us that there was an exception and we can act accordingly, if the Orchestrator does not know what to do.
Even better, a good Orchestrator keeps statistics on every record every robot processed, allowing us to see where the bottlenecks lie, optimize the overall processes, create new copies of robots on the fly to deal with demand and balance the load between them. You can even see in real-time how much money you are saving by the minute by running robots instead of people.
But when companies push further into full speed, new challenges appear and the biggest of all is that larger processes will be tackled. Some of them may reuse already automated sub-processes, some of them will require combining the work of robots with the work of people (because some tasks still require reasoning that’s beyond conventional programming), some of them will imply developing very sophisticated and complex robots, that will have to combine the “low-code” base technology with more traditional and professional approaches, such as normal programming languages and frameworks (such as .NET/C# or Python/Flask/Django), and run for long amounts of time (such as days).
Things are getting so complex that deploying RPA has become a branch of the DevOps discipline, aptly named RPAOps.
That’s when it pays off to get into Advanced Orchestration, or HyperAutomation (as Gartner and UIPath calls it). Advanced Orchestrators can combine multi-technology robots, divert the output of one to the input of another according to specified rules, reusing the work already done and allowing to modularize development, while keeping tabs on on the path of records, not only providing revealing analytics but providing an audit trail that can be critical in some verticals.
Advanced Orchestrators can also provide seamless integration with human work, by creating interaction forms on the fly, which humans can fill with data that regular robots can’t decide. We are not talking about a BPM approach, which was developed to support the work of humans by automating interactions, we are talking about the opposite: an environment where tasks are almost all fully automatic, with humans supplying their knowledge for some critical steps. We call this approach Human-In-The-Loop (HITL), because we keep humans in the loop, but they are not the main feature.
Advanced Orchestrators can learn from the huge amount of data created every day by the system. By deploying AI/ML Tools, Advanced Orchestrators can automatically optimize queues, buffers, number of robots and sessions (and even machines, if they can be automatically provisioned) dynamically.
They can help the company meet its SLAs, by optimizing priorities on the batch execution of robots, pushing some jobs further along the line if there is a chance that an SLA can be broken. Since all this is rooted in AI/ML, the Orchestrator uses the generated information to decide better next time.
Even better, AI and ML can be used to infer what are the answers given by the humans-in-the-loop, starting by making recommendations (and learn from corrections) and later on replacing them, automating a new step and freeing humans to do creative work instead of repetitive things, which can be Machine Learned.