I’m a big fan of DevOps. So when I read a thought-provoking blog post on why organizations shouldn’t implement DevOps, well, I had to chime in.
The author of the post, Ben Kepes, makes an important point. Organizations that transition from siloed development and operational environments to a siloed DevOps environment haven’t solved the core problem they’re hoping to solve. After all, the original problem isn’t that dev and ops aren’t working together. It’s the fact that the IT organization is siloed to begin with.
The problem, therefore, isn’t with DevOps in principle, it’s with the notion of a “DevOps team.” To implement DevOps properly, it’s important to reorganize the IT organization along entirely different lines. The DevOps effort must cut across functional areas, rather than being a new functional area of its own.
What’s confusing about this point is the superficial Fight Club-type paradox (“the first rule of Fight Club is you do not talk about Fight Club”). The first rule of DevOps is don’t implement a DevOps team. But we’ve seen this paradox before: the first rule of Scrum is don’t do Scrum. But make no mistake: such statements are not true paradoxes. Rather, they indicate the need to think differently about the problem at hand.
To get Scrum right, you must be willing to change the methodology of Scrum itself, since responding to change over following a plan is Agile principle #4. To get DevOps right, you must be willing to rethink the IT organization along similar lines. As Kepes says, DevOps is all about communication and collaboration — Agile principles #1 and #3. But remember, being dogmatic about Agile misses the point of Agile entirely. Rule #2 of Fight Club: you do not talk about Fight Club.