Six principles for robust, scalable bot development
- 20 May, 2019 14:48
There’s no doubt that there is a lot of interest in robotics these days. However, the potential applications for the use of bots in every single industry are wide-ranging, with automation opportunities not just in the back office, but also in contact centres, retail branches and stores. According to Forrester, there will be 4 million robots doing office, administrative, sales and related tasks by 2021 — and that could be just the beginning!
How should those wanting to jump on the bandwagon go about it? Well, as with any other IT project, success comes down to planning carefully, selecting appropriate processes, creating a robust design framework, and then delivering with flawless execution. However, regardless of the tool being used, to achieve scale of deployment, it’s essential that the bots are built to be robust and reliable.
Here are six things that should be the key focus areas in embarking on robotics journey:
1. Architecture and design
When developing bots, regardless of the tool being used, there are two things to keep in mind:
Set up a framework for exceptions/errors
Like any type of computer, software bots obey the rules that we create for them. We need to teach them how to deal with every possible exception condition that they are going to encounter — situations that they don’t know how to handle. It’s really important that you create an exception framework that caters for these situations — and sometimes that involves the bot asking for help from a human to show the bot how to deal with the exception next time. Building a robust, extensible exception framework is one of the key steps on the path to getting scalability.
Design the code/software of the bot for reusability and modularity
All of the major RPA tools are built to allow reuse of components. You can streamline bot development by thinking carefully about reuse with every component that you build. Building upon this, it may be appropriate to split process components across multiple bots if one or more of those bots can be used to support more than one process.
2. Capacity planning
Capacity planning should be done in the design phase to figure out the number of bots required to process a given volume of transactions, taking into account elements such as volume of transactions, average handle time, service-level agreement, current process execution time period, and bot run-time environment.
3. Development best practices
Talk to your bot tool vendor and understand from them what best practices should be applied when developing in their technology. Over and above that, there are best practices you can apply throughout your development process to make sure your bot is meeting the desired performance criteria.
The idea is to design the bot taking into account all the parameters of the environment in which the bot will operate. Variations can occur with unexpected pop-ups, errors in the business applications or new releases. Industry standard practices such as defensive coding can help anticipate all the scenarios that could disrupt the bot’s operations.
4. Fail-proof unit testing
Before deploying your bots, you should put them to the test using different methods such as providing them with incorrect data, processing huge files, introducing incorrect paths, capturing the wrong objects, and so on.
The tougher you are with them, the more reliable they will be in the long term.
5. Quality assurance (QA) and user acceptance testing (UAT)
It is equally important to test how your bots are handling end-to-end business processes before their deployment, including exceptional scenarios. There are QA test data management solutions on the market that can create a QA environment where a dedicated QA analyst can evaluate the bot’s performance in handling a process. The analysts can be from the IT testing team or business operations as long as they have knowledge of the process. It is also important to test the bot in near-real conditions, by replicating into the QA environment the production/processing data from where the bot will operate.
Another element is to have a UAT testing environment where the flow of processes the bots have to deal with progressively increases over time. If bots are reliable throughout this phase, they can be deployed using the same ramp-up approach to monitor performance with increased loads.
6. Real-time monitoring and reporting
Once your bots are up and running, you will want to have a holistic view of their performance and be able to identify exceptions/errors in real-time. The best RPA tools either provide their own real-time dashboards or can integrate with third-party dashboard solutions to provide that overview in real-time, allowing for much quicker response times to exceptions.
There is no question that businesses can achieve enhanced performance via automation. However, don’t forget that even though you’re building automations in a drag-and-drop environment or recording the happy path of a process, you are still creating software. Don’t try to shortcut the development and testing process. Make sure that you’ve built a stable and maintainable execution right. Time spent in these phases will allow you to gain a real business benefit with your bots.