oliver gramber portrait

Oliver Gramberg
Senior Consultant, ERNI Switzerland

 

Robotic process automation (RPA) is the automation of IT-based business processes that were previously performed manually by the user, through the UI of the systems being automated. For example, a query could be started in a production management system for monthly production data, and the result data copied into a financial system for report generation.

Now imagine a physical, humanoid robot sitting in front of a computer, using a mouse and keyboard to perform tasks – it could be like that.

In reality, it is all done in software, without the hardware overhead but with exactly the same actions performed against the UI of the automated systems – hence the name, “robotic.” The “robot” is a process on some computer executing the automation.

RPA is not factory automation, so there are neither production lines nor industrial robots involved here.

Benefits of RPA

As with all automation, the promise is that the human user is relieved of repetitive, tedious, error-prone tasks so she can concentrate on the higher-level, more complex, more rewarding parts of the job. Think of removing the steps of manually copying customer data from one system to another. Instead of having to focus on the “what” of her documentation process, the front office clerk can instead concentrate on the “why” of the calling customer’s problem.

Comparing RPA and system integration

System integration has the same purpose and achieves the same results as RPA, but uses programming interfaces (APIs) or data interfaces like message queues, and not the UI as RPA does, to access the systems being automated. The decision as to whether RPA or system integration should be applied must be based, among other factors, on:

  • the availability of interfaces needed or the cost to buy or implement them
  • the tools, processes and skills already present in or otherwise available to the organisation (modern RPA tools provide quite powerful record/replay capabilities, so often no programming is required)
  • the expected stability (rate of change) of the interfaces and thus the maintenance costs of the automation

Comparing RPA and UI test automation

RPA is similar to automating tests on the UI level. Both share the basic techniques needed to identify screen elements like buttons, text fields or labels, and to interact with them by clicking, typing into or reading output from them. RPA can principally be implemented using test automation tools and techniques, and anybody proficient in implementing UI test automation should have no troubles at all to perform that task in an RPA project.

However, whereas an automated test generally has the purpose to quickly pinpoint a problem, and therefore will go as directly as possible to the place where such a problem can be identified, RPA has a different goal.

Here, the automated process must be able to handle variants, edge cases, errors, conditions and repetition.

Any meaningful process automated as RPA will be much larger than the average UI test.

Capabilities of today’s RPA tools

Modern RPA tools are complex software suites that come with both an IDE for developing, testing and debugging an automation and a run-time support system. The IDE’s features include:

  • record/replay to capture a manual execution of a process
  • a graphical editor for designing flow charts, BPMN diagrams or the like
  • means to organise (partial) processes for reuse
  • means to compose processes into bigger ones
  • step-by-step execution of a process
  • version management

The run-time system comprises a command centre and the robot software. The command centre allows the user:

  • to manage a list of machines where the robot is installed
  • to connect to the robots and monitor their availability
  • to deploy versions of processes to robots
  • to start and stop robots executing such deployed processes

Developing an RPA

On a rather high level, the following tasks or steps comprise an RPA effort:

  • Tool selection: Can we do with our in-house UI test automation solution? If not, will we need professional support, or is a free RPA tool sufficient?
  • Selection of processes to automate: This is a cost-benefit analysis involving questions like how often the automated process will be executed and how much it costs to automate it.
  • Versioning and rollout planning: RPA must functionally match the versions of the software being automated; when will these versions be available? Which processes will run attended; which unattended? How many RPA server machines do we need for the unattended processes?
  • Implementation and testing: This is not much different from any other software project or test automation effort.
  • Training and rollout: People need to be trained in controlling the robots, both in terms of operations for the unattended robots and users for the attended robots supporting them. The RPA base system has to be installed and configured and process automation has to be assigned to the robots.
  • Use, monitoring and maintenance: Change will happen, so the running RPA must be monitored for outcome quality and performance, and adjustments must be made. Changes in the products may negatively affect the automation and need to be reflected there.

Running an RPA

There are two modes of running RPA: attended and unattended. Attended means the automation runs on a user’s computer, may be triggered by events or by the user to execute a process, and may even interact with the user during execution, e.g., to let the user take a decision at a certain point and then continue based on that decision. Unattended means the automation usually runs on a displayless server (most probably virtualised) and must be programmed to be triggered only by events (timers, messages or others).

Attended mode is sometimes called robotic desktop automation (RDA). Its benefits are that a human user can be selectively supported and that the RPA need not cover all of the process to be useful. It can be used to give users a feeling of what RPA is able to do, or as a checkpoint in the migration to unattended mode. Unattended mode runs faster because it can be displayless and several robots can execute the same process in parallel, but it must fully be able to handle all process variants.

Maintenance, monitoring and QA

As with all automation, it is paramount to supervise and monitor the RPA for effectiveness and efficiency. Changes to the UI of the products may affect the quality of the RPA outcome and must be detected in time (better upfront).

Changes in frequency of processes to be executed may shift a robot’s workload and must be adapted to, if the control centre does not do so automatically.

Maintaining an RPA requires at least the same skills as developing, so it is important to retain sufficient levels of the required resources.

Change management

As with all change efforts, affected persons should be involved in all steps of the RPA introduction, both to keep them motivated in their own right as well as to make good use of their goodwill. They need to be informed at the very beginning and kept up to date throughout. They can help with deciding which processes to automate, in which order. They should be encouraged to provide feedback early on, and their input should be given appropriate attention. They should be trained on using (attended) RPA in time, and not all RPA should be enabled in one fell swoop. Finally, they should be an active part of the QA and maintenance phase.

 

Did you enjoy reading this technology post? You may also like the previous ones:

Cyber security is the next big thing

Agriculture 4.0

News from ERNI

In our newsroom, you find all our articles, blogs and series entries in one place.

  • 06.12.2023.
    Newsroom

    Streamlining software development: The journey from multiple to unified requirements management tools

    Productivity in software development is slowed down by managing specifications across various requirements management (RM) tools. Although moving to a single, updated RM tool involves an upfront investment, the long-term benefits are considerable. These include increased process efficiency, enhanced collaboration, superior traceability, improved software specification quality, cost reductions, scalability and better integration with other RM tools, among others.

  • 22.11.2023.
    Newsroom

    Recognising trends: An insight into regression analysis

    Data plays a very important role in every area of a company. When it comes to data, a distinction is made primarily between operational data and dispositive data. Operational data play an important role, especially in day-to-day business. However, they are not nearly as relevant as dispositive data. This is because these data are collected over a longer period of time and provide an initial insight into the history or the past.

  • 08.11.2023.
    Newsroom

    Why do we need digital transformation for medical devices?

    For hospitals, it is not up for discussion as to whether they want to digitalise. The increasing age of the population in western countries and the progressive shortage of medical professionals mean that without digitalisation, the healthcare system will not be able to provide the quality that patients want in the future.

  • 25.10.2023.
    Newsroom

    Mastering the challenges of mobile app testing: Strategies for efficient quality assurance

    Discover the unique challenges faced in testing mobile applications and learn how to overcome them effectively. From selecting suitable devices and operating systems to leveraging cloud-based test platforms, test automation and emulators, this article provides seven essential strategies for optimising your mobile app testing process.

  • 11.10.2023.
    Newsroom

    Incorporating classical requirements engineering methods in agile software development for a laboratory automation system

    Traditional agile methodologies can sometimes struggle to accommodate the complexity and regulatory requirements of laboratory automation systems, leading to misalignment with stakeholder needs, scope creep, and potential delays. The lack of comprehensive requirements documentation can result in ambiguous expectations and hinder effective communication among cross-functional teams.

  • 27.09.2023.
    Newsroom

    Unveiling the power of data: Part III – Navigating challenges and harnessing insights in data-driven projects

    Transforming an idea into a successful machine learning (ML)-based product involves navigating various challenges. In this final part of our series, we delve into two crucial aspects: ensuring 24/7 operation of the product and prioritising user experience (UX).

  • 13.09.2023.
    Newsroom

    Exploring Language Models: An overview of LLMs and their practical implementation

    Generative AI models have recently amazed with unprecedented outputs, such as hyper-realistic images, diverse music, coherent texts, and synthetic videos, sparking excitement. Despite this progress, addressing ethical and societal concerns is crucial for responsible and beneficial utilization, guarding against issues like misinformation and manipulation in this AI-powered creative era.

  • 01.09.2023.
    Newsroom

    Peter Zuber becomes the new Managing Director of ERNI Switzerland

    ERNI is setting an agenda for growth and innovation with the appointment of Peter Zuber as Managing Director of the Swiss business unit. With his previous experience and expertise, he will further expand the positioning of ERNI Switzerland, as a leading consulting firm for software development and digital innovation.