The federal government has long been looking for ways to improve efficiency and provide better outcomes for the taxpayer. While there is no silver bullet, Robotic Process Automation (RPA) comes very close.

Interestingly, the federal financial management (FM) community is leading the way in adopting RPA to improve the efficiency of back-office operations. It may be because FM processes are often very repetitive which makes RPA a great fit, but they are the driving force behind much of the RPA push in the federal government. Led by Michael Huffman of cBEYONData, the members of the Association of Government Accountants (AGA) recognized this phenomenon and decided to study the adoption of RPA within the federal FM community.

The results of our study have been recently published in a paper that is available on the AGA website. We found that while the FM community are early adopters, there is a very exciting path forward and significant automation opportunities still to come. Will it result in massive transformation? Time will tell, but those we interviewed are excited and ready to find out. So are we!

Head to AGA’s website to read more!

Written by Jeremy Kuhlenbeck

What Is RPA

Years ago, GPS was introduced to automatically steer you to your desired location without printing out paper directions from MapQuest or physically looking up the address on a paper map. This luxury, now a part of your daily routine, was something that revolutionized a person’s lifestyle. Now, we have Robotic Process Automation, or RPA. I believe that RPA could largely change your repetitive daily tasks, just how GPS changed your daily driving. Yes, this is meant to be a broad stroke.  In every field of work, repetitive tasks are being tackled by automation behind the scenes only to provide you the luxury of time to get to work on what truly requires your attention.

I believe that RPA will do to your repetitive daily tasks what GPS did to the map.


In this article, we will dive into the training and instructional aspects involved in RPA, how to receive your Developer training and certifications, and what types of other roles are also involved in an RPA implementation.  We will focus on RPA through the lens of UiPath, a leader in the industry and Gartner’s Magic Quadrant leader in RPA Software.

What are the Different Types of RPA Roles?

While the primary role for an RPA implementation is the RPA Developer, there are a few other roles that are involved.

UiPath’s training is grouped into learning paths for the following roles:

Business Analyst

Implementation Manager

Infrastructure Engineer

Solution Architect

RPA Developer

Some of these roles may be fulfilled by one individual wearing multiple hats, but as RPA gets a foothold in your company, you will begin to see one or more individuals in each role. From the beginning, it’s important to establish your company’s standards, so look to develop an RPA Center of Excellence or RPA CoE. If that responsibility falls to you, then definitely take the time to complete the classes for each role’s learning path.

What You Will Learn

Let’s take a look at RPA Developer training.  This role speaks to the heart of RPA – the part that makes automation happen.

RPA Developer Foundation course

The RPA Developer Foundation course trains you in the following:

Variables, Data Types, & Control Flow

Data Manipulation

Excel & Data Tables

User Interface (UI) Interactions

Selectors

Project Organization

Error and Exception Handling

Debugging

PDF Automation

E-mail Automation

Orchestrator for Developers

Robotic Enterprise Framework (REFramework)

You may find yourself feeling a bit overwhelmed at the list above.  Do not worry.  Let’s look at the positive side – this list shows us that UiPath has done a great job of breaking down the necessary components.  The training is well organized and hands-on.  The hands-on part is important because you will feel confidence growing from the moment you start using the software since UiPath is primarily drag-and-drop and very intuitive.

Developer Basics

The first two bullets in the points in the Developer Foundation course list are key to understanding and working with data once you bring it into UiPath.  Setting the correct data types determines how you are able to manipulate the data.  Note, data can be a single digit, a string of characters like a phrase, an entire document’s text, or even an image.

The next couple of bullet points help you understand how to interact with the usual applications on a computer.  Applications can be installed applications like Excel, Word, Outlook, Adobe Reader, or a custom application developed for your company.  Applications can also be web-based like Quickbooks.com or Salesforce.com.

The last two bullets in the list will advance your developer training beyond the basics.

Orchestrator for Developers

Orchestrator is the server component in UiPath’s software that allows you to centrally manage automations and bots.  The course allows you to practice “connecting robots, publishing packages, running jobs, and using assets and queues.”

Robotic Enterprise Framework (REFramework)

UiPath has developed a state machine framework template.  Don’t know what those words mean?  Again, don’t worry.

First, realize that this is a template.  For you.  For your automation.

The template is a development model provided by UiPath to get your projects started quickly while incorporating exception handling mechanisms.

The state machine simply means that your automation is grouped into phases:

1. Initialization (Init) Phase:  Load your webpages, open up applications, log into things that are needed for the automation, acquire the data / datasource, etc.

2. Get Transaction Data Phase:  Get the next piece of data to be processed

3. Process Transaction Phase:  Do something with or to the data

4. End Process Phase:  This is the cleanup section of the automation where you close browsers if the automation used one, log out of applications, etc.

RPA Developer Advanced course

The RPA Developer Advanced course does a deep dive into the overall best practices utilizing the prebuilt REFramework template.  Do not fret if you are not familiar with the state machine model.  I was not.  UiPath’s training definitely helps you to get familiar with this model and the template they provide.

This course will take you through three in-depth projects using the REFramework, each one expanding on the pieces built in the previous project.  One of the main lessons to learn here isreusability with the code or workflows that make up your automation.

Mastering these projects all but ensures your ability to pass the hands-on portion of the certification.

Certification Test

A couple notes on certification.  There are two parts to the certification test.  The first is a timed multiple-choice question test.  There is a heavy focus on the Foundation Course, so make sure you pay attention to the quizzes along the way as you work through that course.

For additional study, do a google search and look for results from Quizlet.com.  Many people have created flashcards for everything you need to study, and they are available out on Quizlet.  If you see Level 1 or Level 2, just know that the Foundation Course is an updated and combined version of Level 1 and Level 2 from UiPath’s previous coursework. The questions and answer will still be the same.

The multiple-choice section will also ask you questions about the phases in the state machine.  If you see a question mentioning the Init phase, the Get Transaction Data phase, the Process Transaction phase, or the End Process phase, you know they are testing you on the REFramework template.

The second part of the certification test is the hands-on test.  This hands-on automation project is not quite as difficult as the three projects in the advanced course, so build your confidence by mastering the advanced course and then don’t worry about the hands-on part of the certification test.  While the hands-on project is a timed project, UiPath allows… actually, UiPath wants you to reuse the workflows you previously built in the advanced class.

Where You Can Learn

You can find good UiPath training on a couple sites, but don’t overthink this.  UiPath has built a great learning site with a multitude of courses and grouped them all appropriately into the various roles for RPA.  You can find all this training at UiPath’s Academy site.

https://academy.uipath.com


As of right now, the training on UiPath’s Academy is still offered for free, so take advantage while it lasts.

Finally, do not hesitate to reach out on LinkedIn if you get stuck.  Toiling for more than five minutes most likely means you need a little help.  Reach out to the UiPath community or message someone that has already gone through the training.

As for the other sites that offer training, they are good, but this article is long enough.  I’ll touch on some of those classes in a future article.

What is RPA?  Let’s try to break through the jargon to discover exactly what it is and how it can be utilized.

RPA and the GPS Analogy

First, let me start with an analogy and ask, what is GPS? Today we know GPS as one of the multiple apps on our phone that we use for directions when we go for a drive.  Simple right?  These GPS apps get us from point A to point B by telling us all the directions regarding how to get there; including street names, left and right turns, traffic congestion, hazards, and police warnings.  It’s a perfect example of technology freeing us up from a time-consuming task.  However, this technology wasn’t always available.

When I was a kid and our family was planning a road trip or vacation, my dad would clear the kitchen table, break out a box of maps by county, region, etc. and start laying them out on the table.  One by one, starting from our house, he would identify the roads on the map that we needed to drive, highlight the trip’s path, and look for the next road we needed.  We had yellow highlighter across the multiple maps we needed to make our journey.  A great bonding moment – yes, however, it was a repetitive, time-consuming task.

Done, right?

No.  When it was time to go on vacation, someone was designated the navigator.  This was an important task.  Not only did you have to hang onto the maps, but you had to pay attention the entire time to make sure you didn’t miss an exit or a turn.  You had to know when to switch maps so you could continue on the correct leg of the journey.  Ugh… this was a process.

Fun?  At times, but it was daunting and consuming valuable time I (the navigator) could be doing something else.  I inevitably became a GPS early adopter – grateful for the technological advantages of GPS apps that have eliminated the need for maps.

 

RPA the Tool

Now, let’s jump back to RPA.  What is RPA?  RPA is the technology behind taking a daunting, repetitive process and automating it so that you can have the valuable time back to do whatever else it is you need to be doing.

RPA is visual macros on steroids with the ability to interact with almost any (most likely any) application, website, or process on a computer.   The build process is both visual and click oriented.

RPA’s popularity, in my eyes, is due to its click-by-click development style with extremely basic knowledge of .Net programming.  It excels with repetitive tasks but can do nearly anything you ask it so long as you take the time to build it.  Let’s look at the GPS example.

Process:

  1. Insert starting location.
  2. Insert destination.
  3. Identify the first road from the starting point heading toward the destination.
  4. Identify the next turn off of the first road that is necessary to get to the destination.
  5. Repeat as necessary from current road to the next road needed to get to the destination.

This may be oversimplified, but you can see this is repetitive, time-consuming, and daunting.  Most importantly, it screams of potential for human error (the family never likes it when the navigator misses the exit).

So, RPA:

  • Is a software package that lays on top of all software on a computer
  • Can identify and mimic all the clicks a human would do within a process
  • Can identify and mimic all the text-based inputs a human would do within a process
  • Can replace human input with database, Excel, csv, etc. driven input
  • Can replace human output with a database, Excel, csv, SharePoint, web update, custom software update, etc.
(I’m really, just getting started and whetting your appetite here.)

 

How RPA Can Be Used?

1. Accounting

I recently built an RPA automation to free up accountants.  I was presented with a highly repetitive, time-consuming task, wrought with potential for human error – copying hundreds or thousands of lines of credits and debits for end-of-month, quarter, and year processes from excel into a custom accounting program.

The process went like this:

  • Download the report of debits and credits for the selected time period
  • Open report in Excel
  • Open accounting program
    • Navigate to proper screen
  • Copy 10 cells of data from each row in Excel into the accounting program, one at a time
    • Make Excel the active application
    • Copy row 1 cell 1
    • Make accounting application the active application
    • Paste copied data into appropriate field
    • Make Excel the active application
    • Copy row 1 cell 2
    • Make accounting application the active application
    • Paste copied data into appropriate field
    • Repeat for each cell in row 1
    • Repeat for each row in sheet

You can see the potential for human error.

What cell did I just copy?  Did I already paste it?  What row am I on?  Is it lunch time yet?  Did I really drink four cups of coffee already?

This process takes a minimum of one eight-hour workday and can take multiple days.  Our automation in a development environment completed its run in an hour and a half and it runs in the background freeing up an accountant to be better utilized.

2. Help Desk

Now, it’s been quite a while since my help desk days (mid 2000’s), but we utilized automation constantly while manning the phones to provide technical assistance.  However, we had to write all of our automation tasks in pure code.

Back then I was helping a hospital and the associated medical college.  We had three people on the phones and had to support all the doctors, all the nurses, all the staff, all the professors, and all the students.  Did I write “all” enough times for you to see how outnumbered we were?

Identifying solutions and being proactive was the key to our success and we were highly successful.  However, we needed to make sure that those of us who were answering the phones were not slowed down by repetitive processes that took significant time – especially if we could find a way to use code to tackle the bulk of the work.

One example would be a new user request.  New users had many variables.  Was the user a student or staff?  What organization did they belong to within the hospital or college system?  What folders were defaulted for those organizational users?  What software should we push to their machine by default?  How many additional software system logins did they need access to?

Today, with RPA, a solution to this would include a method of collecting the answers to the necessary questions.

For example:

  1. New user request form filled out in Word or a website with inputs (the website requires more effort to get started but still possible)
  2. The request form emailed to the helpdesk@yourcompany.com
  3. The email subject line to include “New User Request”

In this scenario, I could write an automation to:

  • Run on my machine
  • Access my Outlook email
    • Identify all the emails by subject line
    • Move the emails to a New User subfolder (let’s throw in a check here in case there is an issue with the subject line)
      • Also, scan the rest of the emails regardless of subject line and simply look for the new user form
      • Move those emails as well to the New User subfolder
  • Run a process on the New User subfolder
    • Digitally scrape the form for:
      • User’s first and last name
      • Organization
      • Supervisor
      • Etc.
    • Open the necessary network administrator tools to set up the new user
    • Create the user and establish the correct groups for the user account
    • Set the users account to automatically download the necessary software to the new user’s computer once he or she logs in
    • Email the verification info to the requestor
    • Close the network administrator tools
    • Copy the new user request form to an archive folder in the help desk team’s network share
    • Archive the email
    • Repeat for each email

New users are being created and the time-consuming task is removed from the help desk individual or network administrator’s duties so that they can be freed up to do what they do best – answer questions that are not simple or repetitive.

3. Data:  The Last Mile

Ah… data.  My favorite.  I’m a data guy.  Dashboards, reports, KPIs… stop.  You’re getting me excited.

Every year, just about every project I’m on, I come to the same realization… it’s (name the year) 2020 and your data is not in a trusted system?  You do what to your reporting systems data to make it accurate?  It’s FAXED?  Who left or retired and now you don’t know how they did it?

Be still my heart.  There are roadblocks.  I get it, but we still need to get that data into a system.  We still need to make that data accurate.  We still need to know that process.  And, we often just sit there wishing and waiting, hoping there was a software solution to get us over the hump.

This is called the Last Mile.

This term popped up in my vocabulary in the late 1990’s and early 2000’s as I was researching telecommunications across the globe.  There was a unique phenomenon in emerging nations.  They were faced with the difficulty of building telecommunications and internet infrastructure to the far reaches of rural land.  The complexities of terrain made the task overwhelmingly difficult.  However, some of these countries were on the verge of leapfrogging the United States in telecommunications.  How were they accomplishing this?

Without the sunk cost of existing lines and infrastructure, they were able to think outside the box.  The solution was simple, spend the money to get the infrastructure as far as possible, but then provide the “last mile” with new technology solutions.  In this case, that was wireless.  With the United States already heavily invested in old, antiquated technology (physical lines), these countries were able to break free from that mold to provide their country a solution that was better and less expensive.

Hope in a new, off-the-shelf or custom software package is our sunk cost.  Waiting is our dilemma.  We can feel the wind as people, companies start passing us by.  Our mindset is stuck on the idea that we need a new accounting program or reporting solution.

RPA is the last mile.

It’s the outside the box solution to get us around the cost and time it takes to build a new complete software package, and it utilizes our existing, in-house processes.

Instead of hiring a firm to come in and write a custom piece of software, or converting over to something new off the shelf, and just hoping we get it right this time, take a second look through the lens of RPA.

You have a process.  Now, your process might be that everyone sends their reports to Bob who tweaks them and then sends them back out via email, but you have a process (let’s hope Bob doesn’t retire).

Create an SOP (Standard Operating Procedures)

  1. Identify the process
  2. Write down the steps of the process
  3. What current programs or software solutions are utilized?
  4. How many screens are being accessed?
  5. Are special permissions required?
  6. Who receives the output?

Next, hire an RPA consulting company for a fraction of a software development company.  Hand them the process, walk them through it, and take some screenshots.  With the existing software that you are already using and the addition of an RPA package, they can automate this process usually in only a few weeks.

Now that we are automating, what would make it better?  Do we want those updates from Bob to go back into the reporting solution so you don’t have to rely on emailed reports – people can just access the trusted source via your current tool?

 

What Else?

You tell me.

My world consists of accounting, network admin/help desk, and data.  I can see and discuss the potential there, but RPA can interact with any software application, website, or digital tool.  It can automate data processing and help with machine learning.  It can be leaned on for network security reporting.  It can automate form letter responses to incoming emails.  How many different emails can we respond to with automation?

The possibilities are endless.

“In your position, what “software solution” is missing?  RPA can fill in the gap to get you from point A to point B in your tasks while freeing you up to make better use of your productive time. As organizations look for ways to improve operational efficiency and integrate legacy systems with new enterprise applications and digital business, robotic process automation continues to grow its footprint.”
– 2019 Gartner Magic Quadrant for Robotic Process Automation Software

Next Steps

First, take a breath.  The excitement is real.  Next, contact an RPA consulting company.  I happen to work for one that I recommend – the wonderful folks at cBEYONData.  Let’s get a first-hand look and talk about next steps.

– Article written by Jeremy Kuhlenbeck, Senior Consultant at cBEYONData:

Links:

cBEYONData.com
RPA Automation Developers and Consulting Company
UiPath.com
Industry Leader in RPA Software Development Tools