DevOps isn't about automation
Regadless of how much automation you have (or don't have), if you have hand-offs, you're not doing DevOps.
Should your builds run on autopilot?
Some projects obviously need automated builds. Others obviously don't. Where do you draw the line?
How to automate anything
I’ve been thinking a lot lately about the relationship between manual tasks and automation. In this process, I’ve found myself describing how to move from one to the other in various contexts, and a pretty clear pattern has popped out at me. Here I want to distill the pattern down to the steps necessary to automate practically any process. Document all the steps. If the process is baking cookies, your list might look something like:
Subscribe to the Daily Commit
Every day I write about improving software delivery at small companies like yours. Don't miss out! I will respect your inbox, and honor my privacy policy.Unsure? Browse the archive.
Humans are Turing complete
Any task we can automate can be performed by a human. This is probably pretty obvious, but has some interesting implications.
Before you automate anything, use a checklist
Not everything can be automated. Or at least not yet. What can you do? Use a checklist!
Self-driving cars
Yesterday I expressed my view that we should “automate all the things”, especially tasks that have the potential for serious errors. What about driving? Self-driving cars are still under active development, and expert opinions vary, but I suspect that soon (probably within a decade), they’ll be much safer than human-driven cars. I might be wrong about that, but for the sake of argument, let’s imagine that I’m right. Let’s imagine that a wholesale switch to self-driving cars (if this were logistically possible) could cut car accidents in half.
Responding to “We don't automate critical processes”
I was recently talking to the head of engineering at an IT infrastructure company. During the conversation he casually said “We don’t believe in automating processes that could result in serious errors.” My jaw dropped. To my mind, his approach is utterly backwards. All else being equal, critical processes—those where errors are potentially the most catastrophic—should be the first to be automated. Why? Because humans make mistakes all the time. (Working) computers never do.