What is Robotic Process Automation (RPA)
RPA is the name for a popular trend of using software to help automate repetitive tasks that humans do manually within business applications (and the current pandemic seem to be accelerating this trend). You can think of it as a modern alternative of “outsourcing” where low level repetitive computer entry tasks are outsourced to countries with cheap labor. A good example of using RPA is performing competitive research.Benefits of RPA: Competitive Research
Imagine an eCommerce trying to gain market share by offering “attractive” pricing for products in some category. To make sure prices are competitive, someone needs to visit multiple competitor’s web stores to compare pricing to similar products. Once collected, competitor’s prices could go into an Excel spreadsheet, sent to the sales team, and used to adjust the price customers (and the mighty Google) see on their web site.
What we described above is a relatively simple business process. The “P,” in RPA, requires gathering data from multiple web sites, compiling and emailing a spreadsheet. This process is relatively simple if you have only a few products to compare but gets increasingly more tedious as the number of products and competitors grow.
This is where the “R” comes into play. Similar to mechanical robots, RPA solutions use software “bots” that can be instructed to do repetitive tasks on behalf of a person. Bots can be installed on any computer and launch applications, simulate keyboard entries, clicks of a mouse, as well as reading the content that applications display on a screen. To handle the sample case above, an RPA tool will start a software “bot” and instruct it to open a web browser, navigate to a competitor website, find a specific product and “read” the price the site is displaying. This bot will then open Excel, create a new file (e.g. with todays’ date) and enter the price into a specific cell. At the end of the process the bot will save the Excel file and e-Mail it to the product team. If you want to see RPA sample in action, here is a short video of an RPA bot creating a Sales Order in SAP.
The sample competitive research process we used above is just one example of a business process. In any organization there are hundreds of processes across HR, Procurement, Warehousing, etc. Many of these processes can span across multiple software systems and usually involve repetitive tasks moving metrics to and from spreadsheets.
The real power of modern RPA tools is to provide a comprehensive solution that makes it easy to build, manage, schedule and automate multiple bots that can perform different tasks in a predictable and controlled way, all at the same time. RPA tools provide the infrastructure that controls how many bots to deploy on which machines and for which tasks. They also provide a way to monitor the results of bot’s work and report any errors that may be encountered (for example if a product has disappeared from a competitor’s site in our example above). Good RPA tools make programing bots relatively simple so this process can be easily extended to automate tasks across any enterprise system (like SAP, Microsoft Dynamics, Salesforce etc.)
Benefits of RPA
Using RPA tools, companies can leverage RPA technology by automating simple but tedious tasks. This results in increased productivity as well as accuracy (as the human element is eliminated), and completing more work with the same number of people.
RPA life cycle
When building solutions using RPA, our CNBS Software RPA architects, have identified a repeatable 4 phase pattern. In our experience, RPA projects that follow this pattern tend to provide the most value to the business process they try to automate.
- Analysis Phase. This is the first phase in the RPA lifecycle. In this phase Business Analysts, along with an RPA Architect, work together to devise a strategy to leverage RPA to do tasks that can be automated. What we find is that not all business tasks are easily automated with RPA, and some business tasks need to be redesigned to some degree to allow automation. This was actually the same process many manufacturers (recently Tesla) discovered the hard way when adopting robots in their production lines – they often had to change the process to make it “suitable” for the robots before they could do the work. Once a plan has been developed, the RPA team decides on a timeline to execute the plan. After all the design work is taken care of, we move to the Development Phase.
- Development Phase. In this phase the development team is working on the requirements gathered during the Analysis Phase. The development phase may require coding depending on the type of automation requirements.
- Testing Phase. This phase is focused on testing the bot(s) and is somewhat similar to a regular software testing that most enterprise products go through.
- Deployment and Maintenance Phase. After successful testing, the bot is deployed. Once deployed, the bot is monitored and if any issues arise, the development and testing phase is repeated.
RPA companies, tools and landscape
RPA is one of the fastest-growing technologies in the tech industry.
The biggest name in RPA is UIPath. They were No.1 in Delloitte’s 2019 Technology Fast 500. In 2019, the company closed its Series D funding round of $568 million, valuing the organization at $7 billion. UIPath has been continuously innovating through new features, integrations and acquisitions to make it more powerful and user friendly.
At CNBS we have been looking into the following RPA tools:
UIPath: We have been using UIPath and found it is filled with amazing features and really easy to learn. It is easy to set up and has strong support from the developer community, providing free courses for anyone to learn via UIPath Academy. We used UIPath for data scraping and found it to be very impressive.
SAP RPA: Although the setup of this tool can be a bit confusing, its seamless integration with our SAP platform has been remarkable. SAP RPA offers a free trial on SAP Cloud Platform. It worked really well with SAP GUI and was able to work through multiple screens without any issues.
Power Automate: Microsoft’s tool for RPA is an exciting entry in this space. It provides out of the box integration with multiple software packages and is easy to configure. It’s ability to share flows as templates is very impressive. We used Power Automate to create templates for the organization, automating specific tasks that individuals can modify according to their requirements.
Why do companies use Robotic Process Automation?
- RPA tools are used to effectively replace recurrent and tedious manual tasks. This improves the efficiency of the workforce as RPA has the ability to complete rule-based tasks more accurately, with less effort.
- RPA tools help increase productivity and reduce costs by allowing the workforce to better utilize their time, allowing employees to focus more on essential tasks. Ultimately this helps businesses grow faster and produce better results.
- RPA bots often improve data quality as human errors in data capturing is eliminated.
- RPA bots are easy to develop, deploy and maintain. One of the (sometimes unexpected) positive side effects of RPA that we found was the reduction of miscommunication among employees, saving time, by handling tasks that require more than one person to complete.
Where is Robotic Process Automation NOT a good fit?
- RPA is often confused with Artificial Intelligence. Both are software solutions that help us manage the flow of information, but they approach it from opposite ends. RPA tools rely on humans to teach them every step, using structured inputs and predetermined business logic. RPA tools are not suited to build and make sense of data by themselves the way AI tools can infer patterns and logic from large sets of data. Some companies combine both RPA along with AI tools to jointly complete a workflow. For example: RPA can be used as a Data Scraping tool to generate huge datasets and AI can use these datasets to build models.
- RPA requires a lot of planning. Failure to come up with good architectural design can result in numerous issues during development. Unreliable bots, rather than reducing, add to the work people are already doing.
- RPA tools are somewhat rigid and in unusual cases, such as a small change to the screen layout of the software application that they are accessing, can cause them to stop working and generate exceptions. They are best suited to interact with mature applications whose user interfaces do not change often. RPA tools need to be specifically programmed to handle and communicate with the “human” teams in case of exceptions. Not planning and programming this interaction beforehand can often result in many production issues.
RPA is a powerful tool that can increase workforce productivity for many business scenarios. This can have a direct positive growth effect for the business. RPA tools are not designed to be a replacement for human workers, but rather as a tool to make your employees more productive, as they can execute tedious and repetitive tasks with precision thus minimizing errors. The RPA space has been growing exponentially in recent years, and many companies are starting to gain competitive advantage by adopting this technology.