Last week, my boss sent out an e-mail to the team asking for suggestions on how we can minimize human errors in our software deployment processes. This was triggered by the client’s inquiry on problems caused by human errors in the previous deployment of software release. I being bored and drained doing the manual tasks assigned to me every deployment day and committed errors myself sent an e-mail reply to him. I think I’m the only one that did! I told my boss that the we can minimize human errors by removing or if not possible, by reducing human participation in the process. I mean we can mitigate the risks of having human errors if we try to remove or atleast minimize human involvement by removing manual tasks through process automation. Well I am not really sure if the term “process automation” does exist at all. I don’t remember if I heard it from one of my IT governance trainings or from my previous employer. Or maybe I just invented the term. Process automation is when you automate a repeatable process by the use of tools such as machines or computer programs which can make the whole process almost seamless.
Let us consider the following as an example. Say we wish to generate an “inventory report” daily. The following are the steps needed to performed:
1. User connects and login to the database
2. User writes and executes an SQL command to retrieve the information from the database
3. User copies the information and save it to a text file
4. User checks if any errors occur in the report
5. User sends the file to the intended recipients
Imagine that the steps above are manually done by a person everyday. It could happen that the person might forgot the password needed to login and connect to the database, or forgot to edit the SQL query thus having the wrong information retrieved. There is also the risks of the file not properly copied and saved. Error checking can be skipped or the report is not sent to all to the intended recipients. Humans are more prone to commit mistakes than machines or computer programs. A person can do a task correctly few severals times but will definitely commit a mistake after sometime, even though he or she have been doing the task regularly. Human errors can be commited due to fatigue, stress, negligence, or can be simply be an honest mistake cause by boredom or lack of iodize salt*.
With process automation we remove the human factor in doing things. The “inventory report” can be prepared using a combination of UNIX Shell and SQL scripts, for non technical people it is simply a computer program. The scripts will automatically connect to the database, execute the SQL command based on available parameters and then write the result into a text file. The script can also check the report for errors in some extent, and then FTP or email the file the intended recipients. The only manually tasks involved in the entire process is to “press the button” by running script or program. However we can still improve the process if we have the program run in a scheduler like a cron job in UNIX systems.
In an automated process we can easily identify the risks and place appropriate controls to mitigate it. In case a failure or an error occurs in an automated process we can fix it one time and we can say we are okay. Unlike manual process wherein the same mistakes are done over and over again, even though we always try to correct the person commiting the mistakes.
With process automation the organization can now focus on process improvement rather than doing the process itself. It will also benefit the organization by reducing the learning curve of new employees that are supposed to work on things manually and getting used to it. Individuals or employees will also feel empowered by upgrading their skills and enhance their self esteem by not doing meanial tasks everytime.
One of my personal experience with process automation was when we automated the deployment process for a software project from a previous company. Before the automation, a deployment will usually take half a day to complete since things are done manual each and everytime, and team members commiting mistakes along the way. But after having created scripts that automatically compile and produce the program files, transfer and deploy the files to the server, and restart the server automatically, the entire deployment time was shortened from half a day to half an hour, and the staff effort was reduced to executing the script and observing the logs in the monitor. Mistakes resulting from human errors was also significantly reduced if not removed.
The thing is IT organizations are often engage and focus to their clients or customers’ needs that they forgot to look into themselves and see how can they use IT to improve their own internal processes. This has become the blind spot for some organizations. Until now I am still awaiting for a reply or acknowledgement from my boss regarding my recommendation — use process automation to lessen mistakes caused by human errors.
*Iodize Salt is said to improve our IQ.