kentoh - Fotolia
Automation is vital for modern IT, as it enables IT teams to accomplish common workflows and repetitive tasks accurately, consistently and quickly. But automation is far from automatic.
The path to implement automation is fraught with mistakes and waste. Most IT admins know automation horror stories: a huge project to address a minor task, detrimental process changes for the sake of automation and the headaches from a poor tool choice. Careful planning and concerted effort are critical to implement automation in a meaningful and maintainable fashion.
There are eight steps to take an IT task from manual to automated:
- Pick the right automation target.
- Sequence the steps to the task.
- Identify problem areas.
- Build an automation tool set.
- Set an initial scope.
- Monitor and measure.
- Grow the project over time.
- Maintain the automation implementation.
1. Look for automation opportunities
Automation is not an all-or-nothing proposition. Not every process or task should -- or even could -- be automated. You don't need to automate everything simultaneously to demonstrate automation's business value.
To start, identify common and frequently performed tasks with minimal complexity. These tasks often benefit most from automation. In general, automation candidates are processes and tasks IT admins perform frequently and ones that consume significant time. Common examples include user password resets and VM instance provisioning.
2. Evaluate the automation workflows
Organizations run into trouble translating human workflows into automation workflows. Automation performs the same steps the same way every time. Different business and IT processes can use radically different approaches to reach the same result. Also, exceptions to the rules pose serious problems for automation.
Evaluate many opportunities for automation, even if you don't intend to implement them all immediately. Consider the current workflows in many tasks across the business and seek common sequences or subprocesses for automation. IT can then implement and reuse these sequences in multiple automation projects. The more common sequences or processes there are, the easier and more effective an automation task will be. In many cases, existing human workflows can be altered or divided to benefit from automation.
Microsoft's PowerShell scripts are a good automation example. IT admins typically automate a process by chaining together several small PowerShell scripts. Each separate script represents a discrete task or step in the greater process or workflow, and each script is reusable as needed. This modular approach makes automation versatile, but only when a broad cross section of tasks and processes are understood.
3. Consider exceptions and difficulty
With automation projects set, focus on implementation. Automation engineers design processes and decide how to handle exceptions, such as variables or options. Exceptions can be difficult and time-consuming to implement; IT leaders might opt to automate the easiest processes and leave exceptions for human intervention.
Here's an example in VM provisioning: IT teams can fully automate VM provisioning steps. But the configuration attributes of the VM -- number of processors, amount of memory and VM image file to deploy -- require manual input and pose exceptions. Another example is a business process automation that requires human signoff at the end. Automation engineers need to design for a mix of automated and human-controlled steps, including delays or erroneous input.
4. Select automation tools or frameworks
Evaluate IT automation products to best suit the projects. There are IT-centric tools or business workflow automation platforms. Some products deploy and get managed in-house, while others are SaaS. Compare features, capabilities, usability and interoperability with other data center or business tools. IT-centric workflow automation tools include products from Cflow, IBM, Microsoft, Nlyte Software and ServiceNow. However, there are dozens more tools and platforms, often with specializations that range from HR to procurement to software development.
Validate the automation tool before committing to it. Narrow the list of available tools to promising candidates, and then test each finalist using demo versions or other trial options.
5. Start small and build out
The best way to adopt automation is to prove its value to the enterprise. Implement it on one or two of the easiest tasks or workflows that will potentially free the most time.
Such fledgling efforts are usually approached as pilot or proof-of-concept projects. Automation owners learn and master the tool or tools for the job while proving its worth to business leaders and teams. Starting small minimizes disruption and culture shock, and enables IT teams to find and handle problems with the tool or its use.
6. Monitor the results
Once the IT team implements an automation tool for tasks or workflows, apply metrics or KPIs to objectively measure how automation affects the business.
Every task and workflow has a business value. It might simply be a measure of the cost in workers' hours to perform a task. If automation significantly reduces the time to perform a task, the cost of that task is also significantly reduced. Thus, automation is credited with savings.
Similarly, automated tasks get done the same way every time, which should reduce mistakes. With fewer errors, automation enhances user satisfaction and reduces time wasted fixing avoidable problems.
Finally, monitoring helps determine bottlenecks within the automated processes. For example, a provisioning task can fail due to insufficient server memory, and succeed when the right resources are available. Monitoring is the only objective means to gauge automation's value and identify problems to remediate.
7. Expand the rollout
With a small suite of tasks and workflows automated, and automation's value to the business proven, it's time to systematically automate additional tasks, which can be more complex, or simple but less valuable, than those in the first round. Generally, the goal is to focus the automation investment on high-volume, low-risk workflows, sometimes avoiding workflows with exceptions, until automation use within the business matures.
Automation performs repetitive tasks in high volume faster than humans can. If a complex task, such as one with user inputs, alternative selections, approvals or other exceptions, is only performed on rare occasions, there might be insufficient overall benefit to automate it.
8. Focus on maintenance
Implementing automation is not a one-time effort. The data sets used to define an automated process -- such as scripts and predefined visual objects -- require regular review and updates to keep pace with changes in workflows and business needs. That is, does every automated process do what the business needs it to? Unfortunately, automation maintenance is often neglected or treated as an afterthought. Plan periodic reviews to revisit and revalidate automated processes -- but don't stop there.
Infrastructure and business changes are two principal drivers for automation maintenance. For example, adding new servers might increase compute resources available for automated provisioning. Similarly, a new law might necessitate changing the steps in an automation process to ensure regulatory compliance. To address these scenarios, automation maintenance can be tied to the organization's change management process.