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.
Humans routinely forget to run automated tests; this is why they’re automated. Humans are notoriously bad at executing a 300-step build process; that’s why we script the build. Humans make arethemetic errors all the time; that’s why paying of taxes is automated.
When you look at the processes in your life, and are trying to decide which ones to automate, start with the ones where you are most likely to make mistakes.
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.