Robotic process automation (RPA)

RPA is an emerging form of clerical process automation technology based on the notion of software robots or artificial intelligence (AI) workers. A software 'robot' is a software application that replicates the actions of a human being interacting with the user interface of a computer system. For example, the execution of data entry into an ERP system - or indeed a full end-to-end business process - would be a typical activity for a software robot. The software robot operates on the user interface (UI) in the same way that a human would; this is a significant departure from traditional forms of IT integration which have historically been based on Application Programming Interfaces (or APIs) - that is to say, machine-to-machine forms of communication based on data layers which operate at an architectural layer beneath the UI.

Historic evolution
  • As a form of automation, the same concept has been around for a long time in the form of screen scraping but RPA is considered to be a significant technological evolution of this technique in the sense that new software platforms are emerging which are sufficiently mature, resilient, scalable and reliable to make this approach viable for use in large enterprises (who would otherwise be reluctant due to perceived risks to quality and reputation). By way of illustration of how far the technology has developed since its early form in screen scraping, it is useful to consider the example cited in one academic study. Users of one platform at Xchanging - a UK-based global company which provides business processing, technology and procurement services across the globe - anthropomorphized their robot into a co-worker named "Poppy" and even invited "her" to the Christmas party. Such an illustration perhaps serves to demonstrate the level of intuition, engagement and ease of use of modern RPA technology platforms, that leads their users (or "trainers") to relate to them as beings rather than abstract software services. The "code free" nature of RPA (described below) is just one of a number of significant differentiating features of RPA vs. screen scraping.
Deployment
  • The hosting of RPA services also aligns with the metaphor of a software robot, with each robotic instance having its own virtual workstation, much like a human worker. The robot uses keyboard and mouse controls to take actions and execute automations. Normally all of these actions take place in a virtual environment and not on screen; the robot does not need a physical screen to operate, rather it interprets the screen display electronically. The scalability of modern solutions based on architectures such as these owes much to the advent of virtualization technology, without which the scalability of large deployments would be limited by available capacity to manage physical hardware and by the associated costs. The implementation of RPA in business enterprises has shown dramatic cost savings when compared to traditional non-RPA solutions.
RPA vs traditional automation
  • Software robots interpret the user interface of third party applications and are configured to execute steps identically to a human user. They are configured (or "trained") using demonstrative steps, rather than being programmed using code-based instructions.This is an important concept in the RPA market because the intention is not to provide another "coding" platform for IT users (who already have the benefit of mature and tested software development and middleware platforms). Rather, the intention is to provide an agile and configurable capability to non-technical "business" users in operational departments. The paradigm, in summary, is that a software robot should be a virtual worker who can be rapidly "trained" (or configured) by a business user in an intuitive manner which is akin to how an operational user would train a human colleague. The benefit of this approach is twofold. Firstly it enables operations departments to self serve. Secondly, it frees up the limited and valuable skills of IT professionals to concentrate on more strategic IT implementations such as ERP and BPMS rollouts. Such programs are often upheld as being transformational in nature, delivering huge returns in the medium to long term, whereas RPA is typically focused on immediate operational effectiveness, quality and cost efficiency. RPA is classically seen therefore as complementary to existing automation initiatives.
Characteristics of RPA software
  • RPA does not require programming skills:[2] Business operations employees - people with process and subject matter expertise but no programing experience - can be trained to independently automate processes using RPA tools within a few weeks. Many RPA platforms present a flowchart designer, much like Microsoft Visio: process definitions are created graphically by dragging, dropping and linking icons that represent steps in a process. One of the challenges of traditional IT deployments is that the transformation or change of existing systems is complex and risky. Thus, many large organisations are reluctant to redesign, replace or even to enhance existing systems through the creation of new IT interfaces (or APIs). For this reason, the philosophy behind RPA is to avoid the complexity and risk of such changes where they are not warranted, (or indeed to enable such changes to be prototyped and tested, simply by simulating equivalent input/output via the user interface in lieu of APIs). RPA tools therefore lean towards "light" IT requirements and do not, for example, disturb underlying computer systems. The robots access end user computer systems exactly as a human does - via the user interface with an established access control mechanism (e.g. logon ID and password) - so no underlying systems programming need be required. This is an important point because, from a security, quality and data integrity perspective, the UI of many applications encapsulates many years of requirements and testing for error prevention, data integrity and security access control. To bypass a UI by creating a new API is a risky undertaking and requires extensive testing in order that the same levels of functionality and protection are maintained. RPA’s ease of use and low requirement for technical support perhaps explains why adoption typically originates inside business operations and not inside Information Technology (IT) departments.[9] Because RPA projects do not require expensive IT skills and investment in new platforms, the economic threshold of processes with a viable business case for automation is substantially lowered.
RPA software vendors
  • Blue Prism
  • Automation Anywhere
  • UI Path
  • BlackLine
  • Datamatics
  • EdgeVerve
  • HelpSystems
  • Kofax
  • NICE
  • Pegasystems
  • Verint