Symphony Ventures Blog

RPA Technical Insights, Part 2: Making a Complex Automation? You'll Need Layered Design

RPA Technical Insights, Part 2: Making a Complex Automation? You'll Need Layered Design

David Brain August 02, 2016Blog

You may be asking yourself as you start to read this article, what are layers and why are they important? We will be addressing these questions through this article as well as giving insight into how different RPA tools have been designed in different ways to target specific uses.

Layers separate different levels of abstraction that exist in a process automation. They enable you to separate out different logic and functionality into separate parts of the configuration in order to aid reuse of components, minimize the impact of system changes and aid in collaboration between teams. Most RPA tools utilize layers to organize complex processes. Often used to divide an automation into sectioned roles, layers are the perfect organizational feature to make an automation that is easy to understand and develop.

Symphony-Layered-Design-Infographic.png

Dividing an automation based on the purpose of each section (i.e. separating business rules from steps to perform basic functions such as logging in to a system) is a great example of using layers allocate roles. When you separate the automation based on different types of logic, the team can be allocated to work on the parts that fit with their strengths. The business logic could be developed by a business process architect - someone who is well-versed in creating and optimizing the decision-making elements within the automation. Meanwhile, in parallel a more junior configurer could build the layers to interact with screen elements and to create objects that would be used by the business process architect. This allows for increasing efficiency but more importantly provides a development framework so each element of configuration is separated thereby making it easier to find a fault, make a change or share the configuration between team members.

Along with logic layers, it is important to consider the benefits of subprocesses as well. Rather than dividing the automation based on logic, subprocesses divide individual processes into a hierarchy of smaller components. Some RPA tools incorporate subprocesses in a collapsible outline, resembling ‘nesting’ in computer science. For example, a subprocess that sends an invoice can be a small, but crucial part of a product management automation. Properly implemented subprocesses make it easy for almost anyone to understand the underlying structure.

The development of an automation can be further bolstered by using premade subprocesses, which house smaller, well-tested automation components that are frequently used in development. By fostering an environment where talent and work are reusable, an RPA with this capability ultimately leads to cost-efficient and labor-saving deployments. Therefore, when working to develop RPA capabilities, you will find that utilizing subprocesses is imperative.

An automation without logic layers or subprocesses would be missing the structural features that make complex automation coherent. A lack of organization would make it almost impossible to distinguish separate functions or trace the automation as it processes. Without the robust error handling that a well-structured automation provides, finding bugs would unnecessarily burdensome. Ultimately, it would hinder the speed of development and inflate human errors.

When choosing an RPA tool it’s important to choose an architecture that supports your team’s configuration preferences. Some tools provide structured layering, thereby enforcing design standards, but have other implications, such as removing the potential for recorders to be used in the tool. Alternatively, some tools provide the capability to deploy in a layered manner but don’t enforce the use of layers and therefore require you to establish these development controls outside of the RPA tool and requiring tighter manual controls on your development effort.

The organizational capabilities that layers and subprocess provide are essential to optimizing the deployment and maintenance of automation. Well-defined layers can multiply the effectiveness of each role in a development team and reduce the risk and impact of system changes, but you may equally find them restrictive. Within the automation, subprocesses can maximize structural efficiency. Both of these features not only make automation processes readable but also make complex automations drastically more intuitive. You will find that the organizational benefits of layered design will make it a priority in the development process.

This is part 2 of a 22 part blog series by the leading experts at Symphony Ventures. It addresses how to choose the right RPA tools for your business needs. Drawing from our global team’s extensive knowledge in automation consulting, implementation, and managed services across a range of diverse industries, we’ve drilled into the technical criteria to consider when selecting which RPA software best enables your company’s digital operation strategy. Read part 1, The 8 Elements of Successful RPA Orchestration.

Be sure not to miss part 3 of RPA Technical Insights, an explanation of the differences between Assisted and Unassisted Automation.

Tags: Robotic Process Automation, Blog, David Brain, Layered Design, RPA, Technical Insights

Subscribe to
The Blog

Posts by Topic

see all