If I have to phrase the concept of ‘DevOps’ in one sentence, it’s:
“Run what you wrote”
I think that by making developers(and by larger extend) teams responsible for the code they wrote and the failures it caused in production, they learn to write code that doesn’t fail(and if it fails at least it does it in a graceful matter).
Does this mean that developers get to do all the work and the system administrator can all take a long vacation?
Of course not, it means that the concept of cross-functional teams, as promoted by Scrum and other Agile methodologies, should extend outside the analysis, design, development and testing domain and reach into operations. Only then, we can talk about truly cross-functional teams.