RPA – An Emerging Automation Technology



Robotic Process Automation is an emerging technique to automate a process. Process automation is done by writing a software robot (“bot”) and teaching it how to complete given process.
Let's take an example of automating function of Resource Management in software services industry. RM personnel has a task of matching job description (JD) with profiles of available software engineers and recommending profiles on "best fit" basis.
Typical steps in this process could be:
  1. Scanning job description and identifying requirements such as:
    - domain and technology requirements
    - minimum experience required
    - location constraints if any
  2. Scanning profiles of available software engineers and identifying "best fit" profiles based on following criteria:
    - domain and technology experience
    - total experience
    - location
  3. Send list of selected candidates to project manager for further action
In reality, the process may be more extensive, but let's limit it to this much for this example.
Typical approach taken by RPA is as follows.
  1. Parse the JD and pick out selection words defining requirement criteria (technology, experience etc.). This is one part of input.
  2. Connect to database and execute a query to get profiles of candidates matching requirement criteria. This is second part of input.
  3. Parse each profile, make a more precise match between JD and candidate profile.
  4. Send a list of candidates to relevant project manager by email for further action.

How
RPA does this?

RPA involves collecting data from various sources which generally human refer. For example, "screen scraping" involves making sense of the text displayed on screen and collecting sensible data from the text displayed. Other sources include Web scraping - collecting data from the web-page displayed, interpreting text embedded in images (PDF documents, graphic images) and converting them to proper text using OCR etc.
Another striking feature of RPA is that, the bot can use existing applications “as is”, thereby eliminating necessity to develop special scripts, applications or APIs. This significantly reduces time-to-market.
It can be noted that this approach is different from traditional script based process automation.

Further enhancements

As RPA is emerging technology, there is a lot of scope for further refinement in functionality. For example, AI and machine learning techniques can be combined to "figure out" what exact programming or scripting languages are required. If JD has just mentioned "Microsoft Windows", "QA automation" then using ML techniques, it may get translated to "selenium" for example. This will result in more precise selection criteria, giving more fitting candidates and thereby saving a lot of time in screening and interviewing candidates.
In other cases of RPA application, newer trends like sentiment analysis can be combined with the data scraping to enhance capabilities of RPA to make finer decisions.

Future

This raises an obvious fear - will RPA fuel unemployment? It is difficult to speculate on this at present. This is because RPA has not evolved so much so that it completely replaces human factor. At present it can be utilized to automate mundane jobs humans are doing. But then this is what exactly we heard a few decades ago about Computers and Robots, right?

Comments

Popular posts from this blog

Security in Linux Kernel - Part 2

Trusted Platform Module

Common Git Tips