Brian Jackson - Fotolia
When it comes to DevOps, nothing is quite as irksome as the advocates, consultants and highly paid DevOps evangelists...
who devolve every dialog about the topic into a discussion about culture. DevOps isn't about culture, and those who constantly beat that drum are being both disingenuous and unhelpful when it comes to moving their DevOps agenda forward.
DevOps isn't about culture. DevOps is about automating tasks, it's about reducing manual interactions in the process of continuously integrating software, and it's about moving successfully tested software swiftly into production. That's the essence of DevOps. DevOps isn't about culture.
Culture is a nebulous and intangible concept. When DevOps evangelists laud the importance of culture in the world of continuous integration and continuous deployment, they are both selling a pig in a poke while holding for themselves a pretty precious get out of jail free card.
The pig in a poke
It's a pig in a poke because culture is an unquantifiable, abstract concept. There's a wise, old proverb in the software development world that insists that if an action can't be tested, there isn't any point in doing it. How do you test culture? How can a DevOps evangelist report as to whether the culture is improving or deteriorating from one week to the next? They can't. It's impossible.
Well, perhaps impossible is a bit strong.
"Using tools such as the Net Promoters Score approach to surveying employees is one way to evaluate how DevOps is impacting culture," said Eric Minick, a product management lead at IBM. But Minick also suggested that there are other aspects to DevOps development that are better suited to testing and evaluation.
"Delivering new applications faster and reducing the time required to get new features to market are major benefits to DevOps," Minick added. But both are attributes that are measurable using more scientific metrics than a survey.
Do not pass 'Go'
The reason why the culture myth is a get out of jail free card is because it allows the DevOps evangelist to lay nebulous blame whenever the transition toward automation and continuous delivery falls apart. Automation isn't happening? Unit tests aren't providing thorough software coverage? Software is still being manually integrated? If that's the case, just blame the team for not properly adapting to the DevOps mindset. If DevOps isn't working, just blame the team's inability to adopt a DevOps culture.
The only good use for the concept of DevOps culture is for advocates and DevOps evangelists to shift blame away from themselves when the project their clients are working on goes sideways, and that's not a good use at all. Such scapegoating has no place on an enterprise software development team.
Eric Minickproduct management lead, IBM
And finally, the most disingenuous aspect of promoting DevOps culture is the strawman fallacy that insists that the ideals of DevOps are somehow foreign to software development teams that don't embrace a DevOps approach. There are no software development teams out there that believe automation is bad, that delaying feature releases is good, and that software quality isn't important. There is no doubt that many software development teams struggle with these concepts from time to time, but to assert that a cultural shift is required to make developers realize that frequently releasing bugfree software is a good thing is pure bollocks.
Want more people doing DevOps? Start training
Here's how large organizations are training their own employees and even college students to infuse the DevOps talent pool.
DevOps evangelists have it wrong when they say organizations need a culture change to make DevOps work. These DevOps evangelists have the tail wagging the dog. It's not changing attitudes that gets DevOps to work, but it's watching processes improve through the use of continuous integration tools and increasing task automation that changes the attitudes. DevOps doesn't require an attitude change in order for it to work. Instead, it's when DevOps practices start to work, which in itself is what promotes a change in attitude.
Software developers are smart people. They are interested in solving problems, meeting deadlines and delivering high-quality code. If there are practices and processes that can be proved to work, developers will adopt them and adapt to them. Software professionals don't require a change in culture in order to believe that delivering software faster is better. All they need is proof that a change in the process will work. Deliver the facts, and the change in attitudes will follow.