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 |
