Traditionally, developers would develop code without thinking much about operations. They’d get some new code ready, deploy it somehow, and hope it didn’t break much. And the Operations team would brace themselves for a ton of pain, and start pushing back on change, and be seen as a “BOFH”, and everyone would be happy. I still see these kinds of places, although for the most part, people try to get along.
With DevOps, the idea is that developers work in a way that means that things don’t break.
I know, right.
My tongue-in-cheek-or-maybe-not version of this is, DevOps is when you put developers in the on-call rotation. This provides motivation to build tools that actually explain what’s going on and write code that plays nicer with others.