Robotic Process Automation (RPA) programs are software capable of automating rule-based tasks. Users interact with a program through a designer to graphicly build sequences of tasks that will configure the program or “bot” to do the specific routine. The program can interact with desktop applications, web based functions, manipulate data and most other things on a computer (depending on the RPA vendor), but this is manual automation where processes must be well defined and mapped out. Any decisions that the program must make need to be completely ruled based and set beforehand. Any process that is highly complex or has a ambiguous input is extremely difficult for RPA’s to tackle. Several technical schools offer degrees in using various RPA tools due to the difficulty of creating & managing these programs.
Before RPA’s, people would do all the computer based tasks themselves, or if they were skilled in programming, they would manually code a program for their own specific processes. The programs created were useful to a point, where a simple specific task for a single person could be automated, but for other tasks the company or individual seek to automate, it required large software development efforts to code, document & maintain these software programs at a high cost.
Eventually the need for automation turned from an individual effort into companies that specialized in Robotic Process Automation and sold their software as a service. What these RPA companies offer are their scheduling execution, remote virtual machine and user interfaces to businesses that want automation but do not have the sufficient software development to do it themselves. Where individuals at a business would create programs for themselves, now businesses use the tools from RPA companies to streamline repetitive processes which helps decrease man hours for tasks. The biggest current market for RPA’s companies are Fortune 1000 companies and governments. This is due to the high costs of employees in these organizations that do a large amount of repetitive rule based tasks, but do not have the capability or capacity to effectively manage their own software development efforts to automate processes.