Automation First Thinking: Succeeding at IT Automation

by Adam Bertram Posted on June 12, 2018

If you’re in IT, chances are you’ve automated some task before. Whether it’s writing a script, building an application yourself or leveraging an off-the-shelf solution from a vendor; you’ve automated.

Automation takes away the tedious, repetitive tasks that humans are prone to error doing and allows us to focus on the more critical, creative works. Just because we have all automated before doesn’t necessarily mean we would be successful in IT automation. Those of us that don’t have an automation mindset will fail given a massive company initiative to save money by automating. Even a department project to cut down on time people are spending creating users in Active Directory would be a massive undertaken without the proper approach to automation. Building useful IT automation that saves time, cuts down on errors, and doesn’t require a lot of maintenance is a lot harder than one may think.

Learn how to automate IT tasks with PowerShell. Download this eBook. 

A lot of people I’ve seen in my career treat automation as an afterthought. It’s a process that gets forced upon them when they can’t keep doing all of the manual tasks they’re used to. This isn’t necessarily because they don’t want to; they don’t think about it. The need for automation isn’t as strong if you’re only performing a task once per month vs. once per day. Also, when starting a new project, a lot of people can’t even document things let alone come up with specific processes and procedures to correctly implement an automation routine!

Any script, application, or service that leverages some form of automation must understand the process that’s being automated. To understand a process is to document the rules of how the process goes from point A, to point B, to point C. If you’re too busy to record and merely turning knobs and flipping switches to get a process to work, you’ll have no way to know what was done. Trying to implement automation in this situation is a fruitless endeavor.

Automation-first thinking designates documentation as priority #1. It’s impossible to automate a process without first correctly understanding the steps involved. To truly succeed at any automation effort first requires being able to perform the entire procedure from start to finish more than once. You can’t replicate a process that you don’t understand. This is the first step.

Once you’ve got the documentation to replicate a process in place, the second step is to consider the parameters. After all, just because you can replicate a method doesn’t mean it’s going to be the same every, single time. You must consider all of the parameters that may change when this automation effort is executed over time. For example, this mindset is related to a scripting concept some call tool-making. PowerShell tool-making is a popular term in my niche. I teach that you can create a script, but you should focus on creating tools instead. The difference is a tool can be used over and over again in different contexts with no changes to the code itself; just how it’s invoked.

The concept of tool-making can be extended across lots of different automation projects. It’s important to think about a solution that’s flexible and can be invoked in different ways. If you have to create a different automation routine every time, then you might as well do it manually!

Wrap Up

At the end of the day, automation first thinking is about:

  1. Documenting everything from the start
  2. Considering how each piece in the process interacts with others
  3. Designing a flexible solution

Even though you may not automate a particular process, treating it like you are will help you understand it better and come up with documentation that will enable your peers to more easily get up to speed.


Adam Bertram

Adam Bertram is a 25+ year IT veteran and an experienced online business professional. He’s a successful blogger, consultant, 6x Microsoft MVP, trainer, published author and freelance writer for dozens of publications. For how-to tech tutorials, catch up with Adam at adamtheautomator.com, connect on LinkedIn or follow him on X at @adbertram.

More from the author

Related Articles

Podcast: Artificial Intelligence Vs. Automation for SecOps Teams
Automation is not always AI, but AI is an automated system. It’s easy to get the two terms confused because they both run off the same thing—data. However, the differences are far-reaching, and it’s important to know the differences between AI and Automation.
Leveraging PowerShell Automation in the Cloud
As part of this cloud transition, it's important to realize that even though you can't see a system it still needs to be managed. Let's talk about PowerShell automation.
Prefooter Dots
Subscribe Icon

Latest Stories in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

Loading animation