Robotic Process Automation (RPA) - Best Practices
I work at an executive level and as part of our organization strategy, we decided to focus on RPA as it was an upcoming technology that could help customers automate many manual and repetitive tasks. RPA is an exciting technology with very high growth potential over the next 4–5 years. The consulting side of business is expected to grow at CAGR of 40%+. The technology will help many companies to automate mundane, repetitive manual tasks. When the RPA hype stabilized in 4–5 years, there will be millions of digital assistants helping humans in mundane tasks so that humans can focus on interesting tasks. Large corporations have a lot of technology debt as they have multiple systems that do not talk to each other, the systems are outdated but can’t be replaced because of dependency on them, system limitations resulting in many tasks being performed manually etc. RPA proponents claim to reduce this technical debt in short time span and with quick Return on investments. But is this really true? We have worked with many customers and delivered RPA projects using Automation Anywhere platform and there are a lot of learning that we have acquired over those years. This article is an attempt to share these learnings’ with readers.
RPA is not a magic wand - RPA is not a magic wand and “one solution fits all”. RPA can solve some business problems, but not all of them. It may not be possible to automate complete process using RPA and some steps may need manual interventions. So customers should set their expectations accordingly. Set up RPA Centre of Excellence (CoE) - Instead of running the RPA initiatives in silos across the organization, it is recommended to set RPA CoE which drives the RPA initiative, sets up long term goals and targets for the initiative, sets best practices, helps aligns operations team and IT, work with RPA vendor and external RPA development partner etc. Identify a RPA Champion - It is recommended that customer should allocate a senior leader as RPA champion. This person would drive the RPA initiative, alleviate employee concerns, if any, make sure that support is available from executives for the initiative, work with RPA CoE. Set Realistic Project Timelines - Customers expect quick ROI when they start the RPA journey. It should be noted that RPA project is like any other software development project and needs sufficient time for development, testing & stabilize to the bots. Customers/RPA team should plan development timelines accordingly. Customer Commitment to RPA & Return on Investment (ROI) Expectations - RPA initiative should be a strategic initiative for customers and they should be committed to RPA journey for long term to get positive ROI. It is a known fact that the ROI is faster in RPA project versus other IT projects, but higher & sustained ROI can be achieved only if multiple processes are automated and existing bots are modified on a regular basis to meet the updated applications & process.
Build Enterprise Architecture for RPA projects - It is recommended to think of RPA as enterprise initiative and hence build enterprise architecture at the start of the engagement. This includes ● Building layered designs ● Breaking process into sub-processes and creating separate bots for sub-processes ● Creating common components/meta-bots which can be used by other bots ● Diving processes into attended and unattended ● Defining coding standards ● Process to track bot infrastructure utilization so that the infrastructure can be optimally used ● Use of database instead of MS Excel ● Audit a& error log methods that can be consumed by all the bots ● Process master bot that managed effective scheduling of all bots ● Scripts that check if the RPA servers are running or not ● Automatic communication mechanism when bots fail
Time availability of process Subject Matter Experts (SME) - One very critical reason why RPA projects are initiated is to automate existing manual process. Hence it is very important for the RPA development team to understand existing process in entirety, understand all possible deviations in the process and actions that existing team takes for such deviations etc. It is very critical for the customer process SME/domain expert to work closely with RPA development team. Customer should plan & allocate sufficient time of process SME during project life-cycle, especially during Requirement analysis and User Acceptance Testing phase. Focus on Process Improvement - We have observed that ‘As Is Process’ has many activities that can be removed/optimized when automating the process. RPA development team should recommend all such Customer should be ready/willing to accept process improvement suggestions. Environment Homogeneity - The Development, UAT and Production environments should be of the same configuration for the bots to run successfully. This also includes screen resolution, MS office versions, driver versions etc. Database Vs MS Excel to maintain configuration data and logs - Many RPA projects rely on MS Excel to manipulate transnational and temporary data for the process. Using MS Excel as database is alright for processes that are not heavy on data. But for processes where the bot needs to process large volumes of data, MS Excel slows the process and also reduce reliability of automation. Hence it is recommended to use database in such scenarios. It is also recommended to use database for managing bot schedules, execution logs, error logs etc. This way the data is secured, can be easily queried for dashboard and reporting purpose. Audit Log and Error Log are important - Logging at every event/action is necessary to provide more insight to the team through status dashboard. It also helps in analyzing the BOT behavior & reason for error when bots are deployed in production. Automation Anywhere provides detailed logs related to the execution of BOT. But the RPA development team should create application functionality related logs. Implement Feedback loop for the Process - How much ever care RPA development team takes to make sure that all exceptions are handled in bot, bot will encounter unforeseen scenarios in production. If such scenarios occur, the bot should send an email to support team or automatically create support team to bot support team. Smooth execution of the BOT can be achieved by taking care of various points of failure like System not responding, BOT taking more time to execute than estimated, dependencies are not anticipated, access permissions not granted to carry out certain tasks using BOT ID, Image Recognition failure, etc.
AS RPA is a relatively new technology, the RPA tools will continue to undergo lot of changes over the next few years before they mature & stabilize. Therefore it is very important for RPA consulting companies to set and implement best practices mentioned above so that the change in RPA tools has low to minimal impact to customers.