I’ve been giving a talk around town about DevOps and what it means for me as a software developer. In short, I’m really excited about the idea that the wall between “dev” and “ops” is softening in a real way.
At a recent event, someone raised their hand to ask how an organization can know if they’re “doing DevOps correctly”. Is there one pattern or practice that separates the people who “get it” from the novices? I was speechless! Flatfooted. I wish I’d had time to whip up a blog entry on the spot.
First of all, this is obviously more complicated than that. It makes me think of “one weird trick to lose weight” or “the three things that every successful person does before 7am”. Easy answers might point you in the right direction, but they’re no substitute for a complete understanding.
But: if I had to answer the question, I think it hinges around maturity and automation. If you are making progress towards automating what you can, and manually intervening when you have to, then I think you can claim you’re going in the right direction. If you don’t have time to do the things that will save you time down the road, then I don’t know that you can expect to develop maturity in the DevOps space.
And, of course, “doing it right” is no reason to let up off the gas and rest. Continuous improvement means continuous experimentation and change.