In modern society, the reason we can purchase inexpensive manufactured items from clothing to soda is that they are mass-produced to keep costs low. Wherever possible, human labor has given way to machines that perform work more quickly and effectively. Theoretically, anyway, a machine is able to perform the same task endlessly and with identical results every time at a lower cost than a human performing the same task.
Automation is not possible for every task we perform, however. Despite great progress in translation software, for example, human input is still required to ensure accuracy, due to the complex and subjective nature of language. Even in the translation industry, speed and accuracy are typically crucial, and one is useless without the other. Obviously, completing translation work quickly is worthless if the translation contains errors. On the other hand, completing a painstakingly accurate translation won’t do any good if it can’t be accomplished quickly.
Even something as complex as translation work can take advantage of automation to make processes more efficient. Despite the human knowledge required for some of the work, most large, complex tasks we perform are composed of small, repetitive steps. These small tasks don’t require actual human decision-making, and while individually they take little time to complete, the effort adds up. Implementing the proper automation strategy will allow you to forgo the constant repetition of those tasks. This results in cost reduction, predictability of quality and reduced errors.
The translation process, for example, often involves dealing with a large number of files, each of which needs to be properly named and organized as part of the project. By allowing the computer to complete these small, routine tasks, the operator has more time available for the translation work itself. One of the best methods for automating tasks is the use of macros or scripts.
The idea of automating tasks with computers has been around as long as computers themselves, which is unsurprising because computers were developed with task automation in mind. But users soon discovered that computers aren’t just good for automating complex numerical equations; their speed makes them ideal tools for small, repetitive tasks. As home computers became common in the 1980s, macros became popular as shortcuts for programmers, and then for average users. A number of programs such as SmartKey were soon written to help users create them.
There are several different types of macros. Keyboard and mouse macros map a sequence of keystrokes and/or mouse actions to an output sequence. As a result, you can perform a lengthy series of operations multiple times very efficiently. They may be as simple as a shortcut key to save your work or insert your name into a document.
Other macros offer functionality more closely related to that of a stand-alone program. These may take advantage of an application’s built-in macro-creation functionality, and may involve scripting languages such as Visual Basic for Applications, which allows users to perform functions with most Microsoft Office products. There are also dedicated macro or scripting applications which can perform independently within the operating system or other applications to perform tasks such as file naming and organization or even controlling the application itself.
Benefits and risks
The most obvious benefit of using automation tools is saving time and money. Not only does the use of tools such as macros mean an employee can spend more time performing skilled tasks, but in many cases both tasks can be completed simultaneously, meaning that you essentially get two workers for the cost of one while the script is running. A recent study performed by MultiLing showed that among one internal team, the consistent use of just three of their various automation tools results in annual savings of approximately $20,000. These macros perform such tasks as creating .zip files of project deliverables, converting files to formats and encodings needed by developers and even dialing the phone.
In addition to direct cost savings, using automation realizes a number of other benefits for companies. As people perform the same tasks repeatedly, they tend to pay less attention each time, which inevitably results in mistakes being made. However, when the task is performed by the computer, the result is equally accurate no matter how many times it is performed. Computers will never become bored with a task and give it less attention. As a result, there is a significantly reduced risk of human error.
The predictability that a macro brings to the result also facilitates the organization of files, because each file has been modified in the same manner. In the case of spreadsheet data formatting, for example, this means the resulting data is ready to be processed without concern regarding consistency. A zero in the data will never be read as the letter o, and every cell will have the same text layout. This predictability also has the added benefit of producing data that is accessible to additional macros, since macros and scripts not only produce predictable outputs, but require predictable inputs.
Macros are easy to create, using the many current macro-creation and scripting applications. They can be created by any individual with a specific need, unlike a full software application that requires a more extensive programming knowledge to develop. Another advantage realized through macro use is that the tasks they complete can be scheduled to run at specific times, such as every Friday. They can also be programmed to operate in certain conditions, such as when the number of files in a given directory reaches a certain point or when a particular application is launched. This saves additional time by not requiring macros to be initiated every time they are needed.
Unfortunately, macros have become known for their potential for viruses, namely those developed within the Microsoft Office environment. Because the macros execute functions automatically, they can be written in such a way as to compromise the security of a system. In the past, e-mail viruses are often spread through the opening of attached files, which would then cause the macro to execute and infect the recipient’s system.
With current antivirus software, however, there is little risk of infection by a macro. In addition, these risks relate to receiving an infected file from an outside source, rather than creating one yourself or purchasing one from a reputable vendor.
Another potential problem of automation comes from automation tools that fail to deliver anticipated gains in efficiency. In most cases, however, this can be addressed through proper strategic planning. A related issue is that of over-dependence on a particular tool, such as a macro, that is applied without regard for the original intent of the automation. In such cases, these tools may be applied in unnecessary situations, which may actually reduce efficiency. When automation tools become obsolete or superfluous, organizations should consider replacing them with new, relevant automation solutions.
The two most common macro development tools in use today for Windows-based machines are Macro Express and AutoIt. For a beginner, Macro Express is the easiest to use, although it does require a licensing fee to use beyond the first month. It allows the user to build a macro using a large set of preprogrammed actions. Through its wizard-like interface, a novice can produce a decent macro in minutes. AutoIt is free, though less intuitive. It has a larger range of actions and scripts that can be used in building macros, which can then be turned into executables that can easily be shared with anyone. Those familiar with C++ or a scripting language will feel right at home with AutoIt.
Both applications offer significant abilities to generate powerful and time saving scripts. There are also many off-the-shelf applications available that provide macro-like functionality, though limited in scope. For example, Bulk Rename Utility is a simple yet extensive application that allows for renaming massive amounts of files in a single click. Such applications can be used stand-alone or in conjunction with other more complex scripts to give the user significant automation flexibility.
To identify tasks to automate, evaluate your current business processes. First, look for a task which is repeated on a regular basis, and carefully document it and its constituent processes. Identify the potential benefits of automating the task. Next, identify potential variables in the process. If the variables are limited and conform to simple parameters, you can begin to consider the design for the macro itself.
Then consider if there is an off-the-shelf solution for the issue. If so, consider the cost compared to the benefits you will realize from the automation. Also, determine whether you could automate the process yourself, and how the cost and reliability would compare with the off-the-shelf solution. If you decide to purchase or create the solution, carefully observe the results. Note the benefits and determine whether it would be advantageous to deploy the solution to others within your business.
For example, within our organization, we identified three automations that were commonly used by a specific team. These three macros performed tasks such as automating the encoding of software string tables, preparing project deliverable archives and even tasks as simple as opening file explorer to a specified project location. After evaluating the time spent on these relevant tasks without the automation used, we compared the same tasks and their required time while automated. The results showed a time savings that equates to roughly $40,000 per year, just for this one team of eight individuals. Considering this study focused on just three automations of potentially dozens and only within a single team, it is clear the cost savings are abundant when automations are efficiently developed and deployed.
Figure 1 shows an example decision tree for when businesses are considering automation and the implementation path. Often when planning automations, as with any technology, there should be a cost-driven discussion of build versus buy.
Macros offer a simple, effective automation solution that can save you time and therefore money in your office. These small, easy-to-create pieces of software can be adapted to any number of commonly performed tasks, from simple functions within an application to file organization within the operating system. By evaluating business processes and applying automation where possible, companies can save money, experience fewer errors and enjoy increased workplace efficiency.