There are various techniques used and available to automate steps and processes in an organization where software systems are being used to accomplish certain tasks. Before we look at these techniques however, let us see what can be automated and what should be automated.
Scope and techniques of automation
What should be automated?
There are a few aspects that have to be taken into consideration for choosing automation candidates. The following processes should be automated:
- Repetitive steps
- Time-consuming steps
- High-risk tasks
- Tasks with a low-quality yield
- Tasks involving multiple people and multiple steps
- And everything else!
We have found out what should be automated. Now the question arises what can be automated?
What can be automated?
In order to automate something, it needs to have the following characteristics:
- Well defined and rule-based steps
- Logical
- An input to the task can be diverted to the software system
- Input can be deciphered by software systems with available techniques
- The output system is accessible
- Benefits are more than the cost
Techniques of automation
There are various techniques available for automation and programmers have been using them for years to increase efficiency in enterprises:
- Custom software: Developing new software to perform repetitive tasks.
- Runbook: Runbooks are typically used for IT-based operations. They are a compilation of a set of commands or tasks that are performed for maintenance and other types of activities. Runbooks can be offline as well, often referred to as run commands for performing sets of tasks.
- Batch: Batch files used to very popular. They used to compile a sequence of commands that could be run by a single click or command. They can also be scheduled to be run at a specific time using the scheduler.
- Wrapper: Wraps around existing software or hosts client applications. The wrapper monitors activities in a client app and performs actions based on rules.
For example:
-
- Putting validation on top of a mainframe application using hummingbird
- Hosting a website inside a shell, navigation, and actions
- Browser automation: Greasemonkey and many other web macro software helped in browser-based automation. It can be used to read from a website and save to a database. It can also write to fields based on rules. Using this technique, a whole website can be changed, and components can be added or removed from the website. Sometimes, it is also referred to as web scripting or web injections.
- Desktop automation: Traditionally, desktop automation used to mean that multiple screens on a desktop were woven together to present a single screen, and if there was some data transfer from one screen to another, it could be done automatically. Recently, assisted Robotics process automation has also been considered for desktop automation by some companies.
- Database/web service integration: In database integration, we read/write to a client database directly. In web service integration, we communicate with the client system using a web service: