Research, Intelligent Automation

Unveiling SiDiTeR: Revolutionizing RPA with similarity discovering techniques

Another great success for our research team!

We had the opportunity to present at a prestigious Business Process Management conference in Utrecht. Our research team presented a pioneering idea for Similarity Discovering Techniques in RPA processes called SiDiTeR. This research aims to develop innovative techniques that provide RPA teams with better refactoring options.

Why is this important?

Most CoEs spend roughly 80% of their budgets on business-as-usual projects - e.g., new infrastructure, migrations, maintenance, helpdesk, upgrades, or security. This leaves a mere 20% for innovation projects, a.k.a new automation - the very ones that will improve the strategic KPIs as CoE efficiency, bring specific value to the business or lower the cost per bot.

This research is a part of our effort to tilt the scale in favor of innovation projects.

Why is there so much maintenance in RPA?

Many CoE leaders talk about the so-called maintenance trap of RPA; it is a state where RPA teams spend more time fixing and maintaining already automated processes rather than developing new ones and scaling up the automation. RPA is often used to bridge the gap between different IT systems within the organization. More automation means more systems and Excel sheets involved, which can make the whole automation brittle. It is not unusual for RPA teams to get overwhelmed, and scaling up becomes more and more difficult. This effect can inflate the maintenance budget and slow down value creation for the business.

At Pointee, we’ve often seen this happen to teams once they hit 25 or more RPA bots. This phenomenon is confirmed by the business & research community (Gartner, 2021; Kedziora & Penttinen, 2021).

What can we do about it?

There is no easy answer to this question, as many factors contribute to this topic. The list of potential root causes includes the following: turnover of the people in the company, legacy RPA automation, lack of documentation, pressure for a higher automation rate, and the list goes on.

This particular research focuses on refactoring the RPA code to make it more interchangeable and reusable. This goes hand-in-hand with the best practices proposed by all main RPA vendors.

To put it simply, imagine 5 RPA modules are doing the same thing - clicking the very same button in the very same application; then, when the selector for the button gets broken, you have to fix it five times instead of one. Although it shouldn’t happen, we see it all the time, especially within a portfolio of legacy and complex automation projects.

Návrh bez názvu (9)-1

Our research shows that there is an automated way to refactor (modulate) the code to make it more reusable. As a result, the RPA portfolio becomes cleaner and more maintainable.

All problems, no solution.

Performing a full assessment and manually refactoring all the code would be a significant time investment that most teams cannot afford. That is why we invested in our research for SiDiTeR. With the SiDiTeR algorithm, we are able to discover similar or the same parts of RPA code and highlight activities from one automation design that are similar to the pieces of design in other automation.

How SiDiTeR works

SiDiTeR helps RPA developers and architects find similar or identical parts of code that are candidates for refactoring and reusable module/object creation.

Let’s take a look at what SiDiTeR (Similarity Discovering Techniques for RPA) does and how it works:

The algorithm works in three main steps:

☑️ Prepare the RPA design for conversion

☑️ Convert to meta-action by dictionary feature

☑️ Find the longest common sequence of meta-actions

1) Prepare the RPA design for conversion.

The first step is to prepare the RPA design (code) for the analysis. Code is simplified by removing all the unnecessary information. The focus is mainly on individual activities and their parameters.

2) Convert to meta-action by dictionary feature.

In the second part of the algorithm, a key dictionary feature is used. The dictionary feature converts activities by predefined rules to more generic meta-actions. For example, activities like typing and copy-pasting text are similar and, from the dictionary's point of view, do the same thing. So, they are converted to meta-action Write Text/(typing). An example of such a dictionary conversion can be found in Figure 1.

Figure 1. The conversion from designed/coded activity to meta-action

In the future, the conversion algorithm (dictionary feature) will be improved by taxonomy. That will enable to find and identify all the activities within the codebase.

3) Find the longest common sequence of meta-actions

The last step is to search for the longest equal sequences of the meta-actions among all the processes and business objects/modules. As a result, a list of potential candidates for refactoring is created. The RPA team can then evaluate the candidates and create a backlog for refactoring.

In conclusion, SiDiTeR offers a valuable solution to the challenges faced by RPA teams in maintaining and scaling up their automation projects. By refactoring the RPA code and making it more interchangeable and reusable, SiDiTeR helps streamline the maintenance process and improve the overall efficiency of the RPA portfolio. With the ability to discover similar or identical parts of code, RPA developers and architects can easily identify candidates for refactoring and create a backlog for future improvements. If you're interested in learning more about SiDiTeR and its impact on RPA processes, you can read the original research at [Springer] or access the preprint at [ArXiv].

Passionate about this topic and eager to collaborate or contribute? Your involvement is highly valued, don't hesitate to reach out and connect with us!