No one wants to be a time waster. It’s easy to think that IT Ops tends to focus on perceived time waster tasks. These are the tedious tasks like getting things working, keeping systems up, and solving mundane problems that keep business moving. Although you may consider such tasks to be time wasters, sometimes they yield the biggest returns.
Here’s my list of 5 time wasters that operations teams can use to become the automation hero makers.
1. Document What You Build
Document your build, down to each variable and task level inside the code at every component.
Don’t just document the top level with a readme. Make it easy to capture the ideas that detail how you have built automation at every level.
This may feel like a tedious time waster when you are building something for the first time. However the first person who needs to troubleshoot a system issue will thank you.
2. Strongly Type and Define Your State Variables
It is important to create clear names with clearly defined inputs When describing a system.
These names should be used throughout your system in easy to understand ways. These names should clearly define what an element does, how its used, or the consequence of using it in the wrong way.
It may seem like a time waster to have the discipline of using these names once you’re busy and under a gun to get a project out the door. However, if the system state becomes decoupled from its actual use, it probably will be incredibly expensive to unwind to a normal state without these names. Taking the time (and discipline) to type and define state variables becomes an immeasurable asset.
3: Reset Instead of Fix
When you’re building automation you should never touch a system by hand.
You should not fix something after the fact or as a side effect.
The only test of infrastructure automation is that the system repeatedly and reliably runs start to finish; that it can build itself up from nothing, reset, and repeat.
If you can’t confidently apply rinse-and-repeat, you haven’t automated the system.
4: Sharing Your Work Is Never a Time Waster
Sharing your work helps you more than anybody else!
Preparing your work for other people to consume it means that your automation, infrastructure, and composition is ready for consumption by everyone, including your future self.
If you’re not ready to share what you’ve done, then you’re not done with it.
5: Make Your Code Work on Other Peoples’ Systems
On the surface, it seems like there is no lower ROI than making your code work on someone else’s systems. You may think this is a time waster but in reality it is the most ROI that you will get from any other activity.
Making your code work in somebody else’s system in a way that it keeps working in your system means that your code is robust and resilient.
When someone else uses and tests the code that you use every day, the chance is high that they will find a problem and alert you. More people using your code in different scenarios makes your code more resilient, even if it takes time away from your primary job duties.
These five things together are often overlooked and dismissed as time wasters. They are only time wasters if you’re not trying to build a robust, resilient, automated infrastructure.
Embracing preconceived time wasters as hero makers should be designed into the platform you are using from the start. The design of your automation platforms need to encourage these five items so that you can improve your system in a feedback loop.
These five things aren’t accidental. Nor are they manual things that you are accomplished via good will or staying up later at night. They must be designed into the tools and the teams that interacting with your platform.