What is our primary use case?
Most of our automation happens on Automation Anywhere.
While the automation is being done, we use it as a platform. Then, depending on the number of users/ bots needed, we apply for the corresponding licenses.
The good thing about Automation Anywhere is that any process:
1. Which is repetitive, rule-based, and only requires you to do collect/ edit information on the application frontend can be automated.
Therefore, Automation Anywhere makes for a good use case.
2.Wherever the process is deterministic, with no decisions to be made, you can use it.
It can automate any processes where
3. Process is well established, standard, or stable, and there are not many changes in the process. For example, a simple task, such as logging into a website, launching a website and doing systematic steps on the website, can easily be captured to Automation Anywhere. I see lot of applications, especially in finance and accounting domain.
You might have a lot of steps where you need to either extract data, repeat data, or collect data. All of those processes can be automated through RPA, and especially Automation Anywhere. You can use even automation from the server side, not just websites. The only constraint is that the process should not require human intervention and decision making.
How has it helped my organization?
We see the application in the
# BPO space,
# Finance and accounting,
# Health care in terms of claim processing.
E.g. in F&A, if you're doing invoice processing where the entire process is manual, and the analyst has to go through the invoice to determine invoice details, discount on the payment or a penalty should be levied. In such cases, you can scan this information through an OCR, which is an optical character recognition tool. Then, the rest of the information can be pretty much retrieved by the RPA, which means the RPA will scan the information to classify this information and fill up the web form. This will be sent to the ERP. This is how the workflow would look like.
Wherever you can put
# a rule-based system, you can automate all of the processes. In our company, all these processes are manual and you might have 50 to 60 people supporting this process for a mid-size company. You can automate it and almost reduce the manual effort by almost 40 to 50 percent, depending upon how many techs are enrolled and what is the effort being spent in order to process transaction volumes.
I have been familiar with a couple of projects where this was implemented in cash applications or invoice processing, and they could automate these steps. So, I'm familiar with some of the back-end processes and where they are getting automated.
What is most valuable?
#1.You don't have to really code anything, as it gives you a good interface (UI), because the components are already preconfigured, you have to just a drag and drop sequence in terms of how you want to execute the steps.
#2. There are preconfigured APIs that can be used. E.g., if you want to interact with the mailbox solution, you can have the RPA fetch attachments or email body from the mail solution. You can process attachments via test file or PDF. You can even make Automation Anywhere work around PDF, which is typically not that easy to work with in terms of extracting information.
#3. Metabots/ IQ Bots: One of the features, which we have not used too much, but available, is the MetaBot feature. These preconfigured solutions are easily downloadable, and you can just plug-and-play with a bit of customization, which also means you do not have to keep recreating and can reuse existing functionality. Some of the typical uses are that you could be regularly logging into a website. You can just download a MetaBot, as a useful webpage interface and just run it. All you have to do is maybe replace the name of the website, and in case there is a certain authentication mechanism that is being used, then provide that information.
# 4.There are multiple levels of cloning. In case screen cloning doesn't work, you can do object-based cloning or keystroke-level cloning, depending upon what parameters are available to you and what is the level of information that you capture. You can traverse between object cloning, which is the lowest, most basic form of cloning to a stroke-based cloning, which is like taking care of each keystroke-level which is made by the agent.
What needs improvement?
#1 Exception Management and Notification: When you are making a code, and there is a happy path and exception management mechanism, it would be nice if there was feedback in terms of whether this is the most appropriate way to code this. I'm not sure how this can be done, but that could be very insightful. It already gives you some screen tips, but this could be done in a better fashion, in case you are creating the workflow and then you believe a beta workflow is available or could be done. If a screen tip could be given to the coder for this sort of workflow, this would be a much better feature for Automation Anywhere.
# 2 Type of Cloning: I've realized that sometimes when screen-level cloning is a better option, people still use object-based cloning. It would be useful if Automation Anyone could give you tips recommending fewer steps or fewer areas of exception management after you inputted your code. I'm not really sure if this is doable from a technical standpoint.
#3 Debugging: Currently, I believe the debugging of bot is a bit tricky and not very elegant, you might have to keep re-running the script to be able to identify the bug. This can be looked at, as a possible area of improvement.
#4 Scheduling:There are two modules: the run module and the control center. In terms of scheduling and triggering, they could make it a bit more helpful and provide suggestions, e.g., if you are scheduling it, and there is a conflict, can you resolve it this way. Maybe you can get an upfront alert or something to that effect.
#5: Stability, Workaround and fall back mechanism: When bot breaks down, is there any of mechanisms or notifications that can be given? You can possibly choose to notify people, typically in organizations people are pretty much adverse to automation. If something breaks down, they would like to know at the earliest given opportunity that something is breaking down and piling up. They want to be able to resolve it quickly. If the resolution is going to take time, they want to be able to make some specific workaround mechanism kick in. If a bot breaks down, immediately the fallback mechanism should work too. If there could be information in terms of when the process was out of range and somebody might need to take a look at what has happened. This is because most of these business processes that get automated are critical in nature and might have financial and operational impact. People need to know that there are working fine and not broken down. It can really have an adverse impact if they break down and nobody knows.
#6. Platform Training: My experience has been that if the person who codes the bot is not very well-trained, then they might create unstable bots. So, it's not the platform. It is just how somebody has coded the bots which can bring in lot of instability to them. I recommend that when you are using a coder that the person well-trained and have a good amount of experience already working on bots. They shouldn't be newbie or beginner who comes in to code because that will impact the quality of the code itself.
For how long have I used the solution?
I have been working with Automation Anywhere for the last three years at two different companies.
What do I think about the stability of the solution?
# Business process stability: Before robotic automation, the business process itself should be stable and very well-documented. Also, anytime a change is made to the process or subprocess ensure, that the RPA gets updated too. Typically, the entire process of automation might take some time, then by that time, the initial business process might have changed a bit. There could variations in terms of volume or in the process itself.
The most important thing is that before you automate something that you must make sure that it is stable, in its steady state for whatever changes might be upcoming over the next six month to year. Otherwise, you might create a bot, which will go into production, and fail because the underlying process itself has changed.
# Monitoring and controllership: If there is no changes in the process, bots are pretty much stable and especially, if they have been well coded. In case there have been any changes anywhere in the process or subprocess, the bot can fail. This means you must have a review mechanism with monitoring in place. Once you put a bot into production, you have to monitor it and do regular sanity checks. Otherwise, you could have situations where bots have failed and you might not know, then the process comes to a standstill. In a nutshell monitoring and control is an important aspect of RPA in the run phase.
What do I think about the scalability of the solution?
Scalability is just scaling up the number of bots, so scalability is not a problem. You can increase the number of machines and number of bots to scale up the solution, but it can be sometimes very cost prohibitive. E.g., typically, it requires a dedicated machine, and it can't be a shared environment. This can be a bit of a constraint in terms of the number of machines being used. Otherwise, the solution is completely scalable. In case the process requires more throughput, you can just increase the number of bots which are working. Also, if you are doing this properly, then you have to make sure that there are not multiple bots running at the same time which might be at cross purposes.
How are customer service and technical support?
I don't interact with the people from Automation Anywhere.
How was the initial setup?
# Procurement of the license is easy, but depending upon what you want to automate and how you automate it that might take time. Setup is not at all difficult. You just take the license and install the application, then it's ready to go. However, in terms of what you're trying to automate, how you're trying to automate it, and the complexity of the problem, the entire automation process can take time.
# Implementation timelines:The time frame to implement depends on the complexities and number of the processes and subprocesses. In a typical process, the coding, testing, and deployment could range from a week to four weeks. However, I have seen it sometimes take longer because you have to continuously keep checking and testing it. Every time the code breaks down, you have to possibly start from the beginning.
My experience has been one to four weeks as the ideal time frame. However, depending on how well the process was understood and documented, there can be certain gaps which would only become evident during the testing phase, not otherwise.
# Resources: Depending on the number of bots that you have to create and the number of the complex processes along with the given budget and timelines that you have in mind, the number of developers range from one to multiple developers. The resources that you really need are developers because they are people who will be coding. Otherwise, from an ownership standpoint, we need some subject-matter expertise for the process. The people who are subject-matter experts will be needed on a part-time basis for the developer to be able to map the process well and be able to create their technical design. Then, you will need a technical master who creates the technical documentation of how it will be coded. The number of technical masters again depends upon the processes and complexity along with the corresponding number of developers.
The deployment team may not be very big. You need just the developers and a design architect, mostly two people. All the other people come and go per the requirement stage of the deployment. There might be people who are there only for consultation. Some people might be there only to approve the solution. Whenever you bring in automation, it has to be reviewed, monitored, and assessed from the organization's standpoint. There might be people who are just doing approvals for this process deployment in case it's a very complex project, and then there is a project manager. Otherwise, sometimes the technical design person doubles up as a project manager too.
What about the implementation team?
Before implementing, you do the assessment of why the organization wants to automate:
Imperatives for Robotic Automation
- What do they want to automate?
- What are the key objectives the organization wants to achieve through robotic automation?
- Is it a process optimization or is it cost cutting?
- Who is driving the automation? Is it client-driven or is it vendor-driven?
Then, you have to build the business case in terms of what you want to try to automate. E.g., how much can actually be automated? That assessment should be done. Even the cost and time of automation versus that benefits that you're going to get out of it needs to be done.
# Process Degeneration: When we start automating, we do a process desegregation. This means whatever processes are under scope that we try and understand the task level, activity level, and precedence details. We make activity diagrams, then try and assess out of all of these which one can be automated. So, if the automation index is pretty high, which means that most of the process can be automated, e.g., up to 80 percent, then it might make a better business case than if the automobility is only say 30 to 40 percent. Then, the cost of automation might be way higher.
# Setting the right expectations with the client: t is also important to set the right expectations with the organization. Are they new to automation or do they some prior experience with automation? Because this helps us set the right expectations in terms of the benefits which can be had. The customer might also want to understand what are the impacts if automation fails and the fallback mechanisms. For example:
- How do you mitigate or remediate the impact of automation failure?
- What is a criticality of the process you're automating?
- What are your points of failure and choke points?
- What are your backup plans if things aren't going well?
The most important thing is the business case as to the cost versus the benefits of automation.
# Legal and Compliance Regulations: Also, are any legal or compliance regulations which are applicable because technically it might be feasible to automate, but legally or from a compliance point of view, it might not be good idea to automate. You might want to still have human intervention in terms of verification and validation.
# Criticality of the process: From a financial impact standpoint, things that require a bit of background investigation might be better kept as a manual process or require a human approval rather than automating it completely.
What was our ROI?
It all depends on the scale. In one project that I have worked on, we had a savings of $200,000 over a three-year period and a payback period of 6 months. The typical ratio is that one bot will replace two people.
What's my experience with pricing, setup cost, and licensing?
# Licensing: One of the components of key drivers for us to renew our contract is AI or automation. As an organization, we are moving toward smarter operations.
Our pricing a year ago was $600 per license, but I am not sure of our current licensing cost.
# Set up cost: Additional costs will be for the machines and the number of machines that you are using. You can deploy virtually as well as on physical machines. In both the situations, you do need to allocate a certain budget for securing the machines and where the software will be installed and running.
# Dedicated Machines: The machines cannot be used for anything else, because only a certain bot can run at a certain time. You need to be very particular about your scheduling of running the bots, and while the bot is running nobody can use the machine. You cannot have an agent working on a machine and the bot running in the background. The machine has to be completely dedicated.
# Network Bandwidth and Disk Space: Then there are the network bandwidth requirements and disk space requirements, which are additional costs apart from the licensing and software costs. The developer is also going to charge you for their coding time too.
Which other solutions did I evaluate?
There are two or three more tools in the market such as Blue Prism, UI Path, but I think the preference was given to Automation Anywhere.
I have only worked with Automation Anywhere.
Understand why you are choosing Automation Anywhere, as the platforms are pretty on the same level except for certain functionalities. Also, in some scenarios, one platform could be better than another. Pick a platform and stick with it.
What other advice do I have?
It is easy to use, but I realize that the effectiveness of the platform depends on the coder and how he is doing the coding. This is my experience, because I have seen that the quality of the automation is as good as the person who is using it. In Automation Anywhere, the skill set of the coder really determines how good the automation is, which is why I am making it a eight (out of 10), not 10 (out of 10). Because while the platform is feature-rich and easy to use, it is the skill of the coder that determines how well the platform is leveraged.
I' am now mainly driving AI at my company. RPA has become a bit secondary in the sense that it is a part of my solution, but most of the time, it is AI-driven. RPA sort of helps in the execution of some of the components of that overall solution. From the organization's standpoint, automation is already a part of all our solutions. E.g., our organization is moving toward automation where almost 30 percent of any deal will be allocated to automation. It will be a ratio of 70:30, where out of $100, a total of $30 dollars will be allocated toward automation and AI.
I did my certification on version 10.4.
Disclosure: I am a real user, and this review is based on my own experience and opinions.