Software robots as a paradigm for automation
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.
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.
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.