Gajus - Fotolia
On Nov. 14, I tweeted the following:
When you have a #DevOps team, you are not doing devops.— Theresa Neate (@TheresaNeate) November 14, 2017
I was interested to see how people would react, and, in the end, many seemed to agree.
The theme of my tweet is similar to my earlier piece, "Lean testers bring DevOps and QA together." The point is that we are not achieving DevOps if we are still siloing teams or even disciplines like quality assurance or security.
In this particular tweet, I referred to what happens when mostly large enterprises rebrand their separate ops team into a "DevOps team" with DevOps team roles. By giving the team DevOps automation tools and changing their titles from sysadmin or ops to "DevOps engineer," these large enterprises are disregarding the very point of DevOps.
DevOps is the collaboration between developers and operations personnel, ideally by colocation, but always by breaking down silos. In this world, dev and ops are now on the same team. Let me repeat that: It's the same team.
When it comes to DevOps team roles, developers learn enough operations skills to take responsible ownership for the deployability and maintainability of their software and should ideally be on the subsequent support roster. Meanwhile, operations personnel learn enough coding to automate deployments and environmental infrastructure and may, at times, even be able to correct some of the post-deployment application bugs. The DevOps team roles should be fluid.
I am certain most managers want to create the very best DevOps team roles for their companies. But let me warn you: Your teams are likely to be very keen on shiny new tools first. We are all engineers and engineers love tools, of course, and the focus on tools hides the fact that we're not great at solving culture problems and changing the way we work together. As engineers we -- and the tools vendors! -- are quite likely to convince you that all you need is to buy us the right tools so we can "achieve DevOps."
What some of us don't understand is that culture is paramount and primary to tools. This culture includes breaking down the DevOps team roles, silos and working barriers so any chosen tools can then be optimized to achieve our desired results.
What we have done wrong too often is ask "How do we do DevOps?" as opposed to asking "Why are we doing DevOps?"
If one knows the why, one will understand that, just like the term DevOps engineer is an oxymoron, so, too, is the term DevOps team.
DevOps is an idea, not a brand and not a state. It is an optimized, lean way of working.
Let's drop the branding and get on more with the understanding.