[Reading Time: 1 minutes 53 seconds]
Yesterday I railed against what DevOps was according to some people, and what it wasn’t.
I guess I owe it to you to reveal my own perspective.
To me, DevOps is actually nothing new. It’s working with a focus on creating good products. Which, of course, has been a concern of reasonable engineers at all times everywhere.
And since it’s not really a new idea, it’s hardly surprising that it incorporates many well-known approaches.
Since engineering is done by engineers (who were, last time I checked, human), it’s a deeply human endeavour.
To my mind, this is the lens through which to view all of DevOps: finding better ways to make humans work together, more efficiently, more enjoyably.
I think if your work is fun and fulfilling, good quality will arise on its own. Not without effort, mind you – it’s still hard work. But people who like what they’re doing, and who they’re doing it with, usually are more inclined to put in the effort.
I think that if you want to create better products, you need to be aware of how your products are doing – you need to have feedback loops. Lots of them. Fast ones. This is one area where technology can be a great benefit (but still only a means, not an end), as it enables fast, relatively effortless feedback. This is the value of things like CI.
And this fast feedback all but forces you to adopt methods which deal well with and even invite it. Which acknowledge that engineering is very much about dealing with risks, and unknowns. In other words: the methods today referred to as Agile – and which may have just been called “good engineering practice” before: prototype-driven, feedback-focused, intent on reducing uncertainty and risk, failing fast (if you have to).
What this all means for you, in practice, is something you need to discover for yourself. But to me this is the base of it all: make sure you create great products, by embracing the humanity of your co-creators.