Appian RPA Project Estimation Guide

This document describes the most important factors when estimating the level of effort for an Appian RPA project.

This document is divided into two parts:  1) how to assess the complexity of a development, and  2) factors to be taken into account that may affect the calculation of this estimate.

Development complexity Impact to estimation
Complexity of the application to automate High
Conditions, decisions and exceptions High
Number of Windows Medium
Number of fields Low
Tips/risks in estimating Impact to estimation
Application Stability High
Level of detail High
Availability of data and environments Medium

Use of subtasks

Low
Application Reliability Low

 

Development Complexity

This section aims to provide clear and, when possible, measurable parameters to estimate the complexity of the development of a robotic task.

Application to automate

Depending on the application to automate, the complexity of the process will be different.

It must be taken into account that a process may involve different applications of different complexities.

This document helps to estimate the automation that will eventually be done with RPA. The table of applications below lists the recommended automation technique to use, as well as assumptions made to support those estimates.

Application

Main Automation Technique

Complexity Complexity Assumptions
Web Application Browser Medium

Use of Chrome, Firefox or Edge.

Furthermore, if your web page doesn’t use dynamic IDs, the Task Recorder can help speed up development and therefore simple use cases may have a Low complexity. 

Complexity can be High If the Browser is IE, or EDGE IE. 

Windows Application Windows Automation Medium

The Windows Application must be compatible with  UIAutomation.

Java Swing applications are not supported and must be treated as a Citrix Application.

SAP Sap Library Medium The installation must support SAP GUI Scripting.
Excel Excel Modules Low Complex Excel use cases will leverage the License Required module, and therefore the robot running the robotic task will require an Excel License
Mainframe Mainframe Library Medium The Virtual Machine must have installed an emulator that supports the EHLLAPI library.
Citrix Applications Image Recognition  High Image resolution can oftentimes be an issue in a pure Citrix environment.
File Management File System Low If network drives are involved, the complexity can be medium.

Conditions, Decisions, and Exceptions

The number of decisions involved in your robotic task can impact the size of your project. For instance , both simple and more complex conditions, such as traversing tables and performing checks on retrieved data, or even implementing nested decisions on several fields change the complexity immensely.

Take into consideration how you want to handle business exceptions, as well as ways in which you can make your task more robust in handling system exceptions (e.g. checks to ensure the correct upload of a file to a website for example, and the path to follow in case it has not been successful).

Number of exceptions/decisions (for guidance) Complexity
Low number (⩽5) Low
Medium number (6 - 20) Medium
High number (⩾21) High. A process with a big number of decisions should be divided into smaller pieces.

Number of windows

Number of user interfaces on the applications that need to be accessed for information exchange (extraction and/or logging) and navigation by the robotic task.

N# windows (for guidance) Complexity
Low number (⩽5) Low
Medium number (6 - 15) Medium
High number (⩾16) High

Number of fields

Number of fields that are involved in the process and with which some action such as storing, calculating, etc. must be performed. As a field we consider each single data to automate in the RPA process for example, name, address, identification number, etc.

Number of fields (for guidance) Complexity
Low number (⩽15) Low
Medium number (16 - 30) Medium
High number (⩾31) High

Additional Factors to Consider When Estimating

The following is a description of additional factors that may alter your project estimates. They include recommendations that may ease the development and can therefore reduce the time, as well as risks that can cause projects to be delayed.

Application Stability

If the application has or can suffer a lot of changes, the robotic task will need continuous adjustments.

While this might not be important for the initial estimation, it is important to consider that the process will require high maintenance.

Examples Risk
The application to automate is a stable product widely used. Low
The application to automate is a web page with several changes in the functionality or in the look and feel. Medium

The application to automate is in the development phase.

The application to automate is a web page with continuous changes in the functionality.

High. In this case we don’t recommend implementing RPA.

Level of Detail

The automation project should be as detailed as possible so that the developer does not encounter unexpected behaviour during the development process.

Examples Risk
The process has been defined in great detail (for example adding a video) including decisions, pop-ups, etc. Low risk of encountering problems or difficulties in the development of the process. It is the best scenario for a more accurate estimation.
The process has been defined in detail, but no information on decisions has been specified or these have been defined but without much detail. Medium risk of encountering problems or difficulties in the development of the process. The estimate may undergo variations once more detail becomes available or even during the development of the solution.

The process has been defined superficially or has been detailed slightly.

Only a brief description or some information of the main activities is available.

High risk of encountering problems or difficulties in the development of the process. It is recommended not to make an estimate until more detail on the process is available.

Availability of Data and Environments

Sometimes the process can be well-defined but the developer doesn't have enough data available or limited access to data to perform the development.

Examples Risk

A development environment exists and the performance of the availability of data to test is similar to the production environment.

There is no development environment but the robotic task only reads data, and there is full access to the production environment.

Low
A development/test environment exists but the performance is worse/different than production, or the data contained does not allow the implementation of some/all of the defined decisions. Medium

The robotic task must be tested directly in production, and it requires real data to test the automation.

The robotic task must be tested directly in production and it requires modifications and edits to the final production application.

High

Use of 3ubtasks

Consider when you might need to use robotic subtasks as part of your development. When what we want to estimate is a set of steps that impact the same applications, or are repeated across different robotic tasks, our recommendation is to estimate the creation of the subprocess independently instead of the end to end RPA process.

In this way we will create something similar to an API that can be used by the rest of the robotic tasks which will be called every time it is necessary to execute that flow and, therefore, it will only be estimated once.

Application Reliability

If an application is reliable, when the robotic task is developed, there is no need to implement complex robot behaviors or retries for technical problems. However, issues with the application to be automated can introduce additional risks and complexity.

Examples Risk
The application to automate runs locally and does not need network connection Low
The application to be automated may have occasional loading or latency problems. Medium
The application to automate fails randomly in some transactions. There are many problems with timeouts. High