Beginner

17 minute read

Definition of automation

So, what is automation really? Let’s repeat the phrase from our homepage:

“Automation can be defined as a technology concerned with performing a process by means of programmed commands combined with automatic feedback control to ensure proper execution of the instructions. The resulting system is capable of operating without human intervention.”

Let’s hear what our CEO has to say about automation.

For privacy reasons YouTube needs your permission to be loaded.
I Accept

Automation in workspace

We can see that automation doesn’t rule employees out. It just takes over boring and repetitive tasks so employees can focus on more important and sensitive tasks. It also creates a new job because someone has to monitor and maintain the automation in place.

BPA and RPA

BPA, Business process automation, is as the names suggests, focuses more on business end-to-end processes. RPA, on the other hand, stands for Robotic process automation which is a little different. It focuses on using robots (digital bots) to mimic human interaction and execute manual tasks. So, PRA is more focuses on simpler tasks, but not necessarily, RPA can also automate bigger tasks. They are, however still just tasks, while BPA focuses on entire workflows. Example of RPA are ChatBots and example of BPA softwares are EPR systems and CRM. ERP standing for Enterprise resource planning and CRM standing for Customer relationship management.

The 3 differentiates between BPA and RPA are:

  • Pricing

  • Workflows

  • Integration

So, let’s explain each of them and see how they correlate.

Pricing

This is the subject that obviously differs depending on what you’re automating. In that term, you have to consider the cost of infrastructure needed for automation and the cost of maintenance later. Also, the complexity of tasks that are to be automated and implementation. Right off the bat, RPA is cheaper because it focuses on specific tasks while BPA focuses on an entire business unit.

Workflows

This section can give you more perspective about the actual pricing. Because we’ll explain what kind of workflows are automated in BPA and RPA. We’ve talked about this briefly before in this article, but here we’ll go more in depth.

RPA Workflows

Workflows that RPA focuses on are simpler and more defined. RPA uses virtual bots that do certain tasks previously performed by the employee. There isn’t much a bot cannot do, but there are some restrictions set either by the technology or by security which is an important thing to focus on in RPA. Bots can execute shell commands, connect to APIs, parse and display data, work with database and much more. While BPA is different, it’s important to know the correlation. BPA is not so much a different way of automating, but rather a different focus on automation. RPA is still needed where it’s needed. If you can automate every task in part of an organization with RPA and that part now works without employee intervention, you actually did a BPA on that organizational part, kind of.

BPA Workflows

Taking into consideration all we’ve written in the last paragraph, we now see that BPA needs the whole part of an organization to be possible. You might think that doing much RPA equals BPA, well, not really. BPA takes different approach from the beginning because you need plan for the whole organizational part, not just the one task, and then the other. Tasks need to be interconnected to communicate with each other. The whole automation structure needs to be defined in order to make BPA possible and for it to be implemented smoothly. Of course, you’re still gonna need robots to do tasks for you.

Correlation example

In the picture bellow we can see different functions of RPA and what it can do. But, if you implement all those in an organization, you basically do a BPA because you’ve automated the whole business process ( or majority of it).

What is automation - RPA functionalities

Now, because the picture is a little hard to read, specially on mobile devices, we’re gonna write the functionalities out. We’ll add more info in brackets just for context. It’s worth mentioning that this is not all RPA can do, there’s much more.

  • Log into web apps

  • Fill in forms

  • Read (and manage) databases

  • Web data scraping

  • Move files and folders

  • SMM statistics collection

  • Copy and paste files

  • Calculations

  • Open (and extract data from) e-mails

  • Extract structured data from docs

Integration

By now we pretty much know the differences of BPA and RPA and we can already tell that they’ll affect integration. BPA will have a greater integration process and affect the organization because it has to integrate with the whole part of it. It can interrupt current processes while it’s implementing while RPA often doesn’t. RPA can just jump in and start doing its job. That’s why it also integrates quicker and has less requirements.

Real life example

Think of PRA like transitioning from a car with stick shifting system to an automatic. Not much of a difference, just less for you to do because car shifts gears for you. Now think about BPA like transitioning from an old VW beetle with almost no electronics. Just a steering wheel, stick, pedals, dashboard and window openers. To a new car with self parking, navigation, various sensors, touch controlled radio and digital dashboard. It’s a bit much, you have to learn how to use it and you have to maintain it. The benefit is that many things are done automatically and you just focus on driving. Maybe not even that in the near future because automatic driving has been in development for quite some time

How to automate

Automation isn’t robots replacing humans in a factory, it’s actually much different. It aims to take repetitive tasks out of workers workflow so they can do what they are specialized to do.

Example

Under the term „automation“ we could put a simple ChatBot as an example. It collects user data for email notifications and gives information about company’s products to a customer. That ChatBot can be deployed on a Website, Facebook or somewhere else.

Let’s go deeper

It sounds very simple and rudimentary, but that bot could do a lot more. For example, register a user in a process of questions gathering the registration data. It could also give out vouchers and promo codes if the user find’s the assortment too expensive. And of course, the bot could redirect a customer to a real customer support if there is a serious problem. However, that won’t be necessary very often because the bot could deal with stuff like returns, reviews and feedback. It maybe just sounds like a more advanced virtual sales assistant, but it automates a process. That is what’s important. Implementing that bot means there is no need for 2-3 employees constantly answering basic questions. They can do other work and only jump in when necessary.

How to start automation

As it is the case with many things, it’s best to start small and local. You don’t need an enterprise architecture and multiple servers to automate stuff, you can start right now on your own PC / laptop. We won’t get into much detail in this post.

There are several ways to start and of course, researching online and watching some tutorials is the best and recommended way. You need some theory before you start, but nevermind that for now. Let’s take a look on some great ways to start automating right away.

Windows Task Scheduler

Windows task scheduler is a built-in component of Microsoft Windows OS. Assuming you use Windows, you have a free out of the box automation tool that can teach you a lot even if you think it’s a “low level automation”.

In the picture below, you can see Windows task scheduler with all its options when creating new task for schedule.

Windows Task Scheduler

Windows task scheduler, as the name suggests, schedules tasks that execute on a given trigger. So when using task scheduler, you have to think about:

  • What task do you want perform
  • When do you want to perform that task
  • How often do you want to perform that task
  • What do you want to set as the trigger for that task

You can read more about Windows task scheduler in our separate article.

GitLab CI/CD

GitLab CI/CD stands for GitLab “continuous integration, continuous delivery / continuous deployment”.

As for explaining GitLab CI/CD, we really can’t shorten their statement, which we’ll show here, because it’s short and explains everything you need to know.

“Continuous Integration works by pushing small code chunks to your application’s codebase hosted in a Git repository, and to every push, run a pipeline of scripts to build, test, and validate the code changes before merging them into the main branch.”

“Continuous Delivery and Deployment consist of a step further CI, deploying your application to production at every push to the default branch of the repository.”

You can also watch this video to get a more in depth overview on GitLab.

For privacy reasons YouTube needs your permission to be loaded.
I Accept

Jenkins

“Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.”

“It can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.”

As for the technical stuff, Jenkins is written in Java and was first deployed on the second of February in 2011. Jenkins can be installed almost any platform including Docker. Also, Jenkins has a lot of plugins that you can add to your build if needed. This alone makes Jenkins a very powerful tool to use.

Some of Jenkins plugins:

  • Maven Plugin

  • Selenium Plugin

  • GitHub/GitLab Pull Request Builder

  • JIRA Plugin

  • Build Pipeline plugin

  • Jenkins Job Generator Plugin

So, Jenkins is great for developers who want to automate their testing or deployment for example. So it’s basically another CI/CD tool available to developers and testers. In fact, it’s specially great for testers.

Tools similar to Jenkins
  • Bamboo – running multiple builds in parallel

  • Buildbot – automate software build and release

  • Apache Gumb – specializes in Java projects

  • Travis CI – specifically for posed github projects

While many of above mentioned tools are specialized, Jenkins is able to do all of that on basically any platform.

For enterprise companies and developers, there is an enterprise Jenkins solution called CloudBees.

Advanced automation

The best way to get into advanced automation and infrastructure is to use the infrastructure and tools from a provider like Micro Focus that has been a leader in the automation field for many years. We use Micro Focus tools  and they have proven excellent. There are, of course, other competitors that you can check out if you want.

We’d like to name some examples that fall under advanced automation, for more insight on what you can do later on. So, what can you do with more advanced automation:

  • Gathering and analyzing data for advanced automated reports

  • Automation combined with AI

  • Automation combined with IoT

  • Parallel update of all servers

  • Automated drone flight

Up next.

Benefits of automation