Have you ever considered automating your daily routine? Considering the advancement of robotic process automation (RPA) technology nowadays, your company is likely already moving that way!
Successful implementation of RPA depends in part on understanding the similarities and differences between automated and human decision-making and other behaviors. Such understanding will help automate work more efficiently and improve existing processes.
Can a machine think like a person?
In very general terms, automation is a configurable software program that can perform assigned tasks. All its actions are defined by business logic, or the underlying algorithms and codebase. Any improvements in its capabilities arise from improving and expanding these algorithms and codebase. A rules-based RPA system can only go so far in mimicking human behavior and cannot move beyond predefined rules. All its actions are deterministic. Using the conventional understanding of “thinking” as producing thoughts or passing judgment, RPA doesn’t possess this ability at all.
Unlike RPA, digital workers (also known as “cognitive automation”) are non-deterministic, meaning they can more closely mimic human judgment. They can also learn and improve their decision-making abilities by processing larger sets of data, without explicit intervention from human developers.
Differences between people and automation
When approaching automation, it’s essential to understand what tasks can be achieved by simply mimicking human behavior, what tasks must be adapted, and where supervision by people will be required.
Just like people, automation can interact with a user interface. It can create various mouse actions, like clicking and scrolling, typing text, copying and pasting data, and so on. However, unlike people, software can find elements in an interface not only by the way they appear (surface-based automation) but also using special locators, such as Window selectors in desktop applications, or XPaths in web applications. This allows automation to perform some of the user actions more efficiently. Let’s consider two examples.
Example 1. The task requires saving an open Excel file in another location. Automation can find the opened file on the machine, connect to it, click on the buttons in the interface to navigate to the ‘Save As’ dialog, type in the location where it needs to save the file, and click ‘Save.’ The sequence of actions is the same as it would be if a person did it.
Example 2. The take is to fill in and submit a form to a web application. Automation locates the fields of the form by using XPaths, inserts the required data there, and clicks ‘Submit.’ Just like a person, it interacts with the web application’s UI (form fields, buttons), but unlike a person, it doesn’t need to scroll, click on the fields and then type the text — it just inserts the data there instantly in one action.
Acting by analogy and improvising
Digital workers can do this to a certain extent, but not RPA, which needs a definite course of action (an RPA script) to perform a task. RPA will follow instructions literally and fail if there is even a slight difference.
Example 3. Let’s consider a scenario described in Example 1 above: The task requires saving an Excel file. Automation will be able to complete the task only if the instructions in the script provide for saving a file specifically in Excel. It will not be able to save an Excel file using a script built for the Word application, even if the process is otherwise identical. For a person, on the other hand, it would not be a problem.
Using context and experience
Without machine learning, automation can’t accrue have experience and won’t understand context. If every time a process runs and is completed, RPA “clears” everything afterward, leaving the system in the same condition as when it started, there is no learning. The same is true about data. RPA can only access data that is specifically provided to it in variables, or use the data that it retrieves from various sources during execution.
As RPA follows provided instructions literally, but not by assessing context, and is unable to change its behavior based on context like a person does, this automation approach is not good at dealing with unexpected circumstances, which can lead to errors. A good RPA script will provide for such cases by using special error-handling functionality that will provide clear instructions about what to do in case an error occurs, or by involving a person in the process (“human-in-the-loop”).
What automation does well
Calculations and data processing.
Due to more computing power, automation is obviously quicker at making calculations and often eliminates the possibility of human errors, providing more accurate results. Likewise, it excels at processing large amounts of data, including searching, comparing, updating and moving information across various systems.
Working with certain applications
Apart from automating applications through the user interface, automation can connect perform various actions within software using available APIs. It can be especially useful for automating applications with very complicated UI.
Repeating the same tasks many times
Digital workers are unable to get tired or distracted. Whether it’s a limited application or a set of processes taking on the responsibilities of an entire role, automation can contribute to your team’s productivity around the clock in any location.