- Are you spending too much time figuring out where the bug is in your bot?
- Do you have a tight timeline to deliver the bot and need a colleague to help out?
- Are you unable to understand why the bot is working erratically when the application crashes?
Do these questions often plague you or your team as an Robotic Process Automation (RPA) developer or Automation Architect or Project Manager?
As more enterprises – large, medium or small - adopt robotic process automation, RPA developers play a significant role in the successful implementation of automation solutions.
A proficient RPA developer follows certain best practices that support quality coding and code maintainability leading to faster deployment and greater customer confidence.
Here are 5 significant best practices every RPA developer should follow:
1. Create a detailed flowchart – Spending an extra day creating a detailed flowchart in the Solution Design Document is completely worth the time. It provides greater insight to the developer during development enabling him to foresee potential issues right at the start. It also helps for a smoother transition between developers. Some points to be considered are:
- Exception branches – Cases where business exceptions are to be raised.
- Yes and No scenarios for all conditions must be satisfied.
- Creating cross functional flowchart helps to identify applications associated with steps
2. Re-Engineer to make a process transactional – More often than not, the first Change Requests (CRs) that come up are related to robustness and resilience of the bot. The best idea is to convert even simple processes that seemingly don’t require usage of queues. This seems long drawn in the beginning. However, it becomes an asset if a situation arises where applications frequently crash or become unavailable intermittently. It also enables better bot utilization, particularly in cases where multiple tasks are spread over a period of time and bots can be used in intervals.
3. Split a task into Complimentary Modules – To facilitate two developers to work on one bot, it’s important to split tasks into logical components that can behave as individual modules. For example, a particular task can be divided into two parts: Part 1 - where a file is downloaded, modified, and worked upon with certain rules. Part 2 - where this modified file is consumed by another application with further steps. A manually modified file can be used to simulate the outcome from part 1. Now, these parts can be worked upon by separate developers on a preexisting contract of arguments through which the parts will be integrated. Also, a simulated output from a module can be used for unit testing, component testing and in regression in case changes arise.
4. Use Negative / Crashworthiness tests – This is an often-ignored best practice leading to difficulty in handling unexpected circumstances and can have serious implications. Crashworthiness tests should be built into all RPA processes to improve resilience. For example, an existing developer has worked on a module where bot interacts with SAP, and has simulated situations (by killing processes) where SAP crashes randomly during processes. The other developer working on a different module doesn’t need to worry about the SAP interactions, as the worst-case scenarios of application crashes are already dealt with.
5. Invest time in a Diagnostic module – Unique data situations are bound to arise, and data never seen before needs to be processed. Having a diagnostics module that allows you to replicate bugs seen in customer’s environment while running tests solves this problem. This module works by plugging in existing production/pre-production data as input files, so bot does not have to re-download the files. This not only saves time while testing, but it also creates a facility to have independent peer review while doing unit tests.
These are just a few practices we use at LatentBridge to ensure disruptions don’t interrupt with delivering quality and long-lasting automation deployments.
As, Abraham Lincoln, the 16th President of Unites States said, “If I had eight hours to chop down a tree, I'd spend six sharpening my axe”.
Come and talk to us at email@example.com to run a successful automation deployment.