The power and lure of the DevOps model is that it breaks down old silos between two sets of tech nerds: the nerds who developed code and the nerds who had to build and maintain the IT equipment and systems that ran the code.
As strange as this might sound to non-techies, this nerd-on-nerd warfare has often hurt organizations because it's made application and Web development a contentious turf war each code push. So instead of focusing on developing and delivering a great product, the dev and IT operations teams have spent more time griping about who’s wrong, incompetent or unproductive.
But with DevOps, the two sides are enemies no more and instead work together in harmony to write code, test it and deploy it as painlessly as possible. Puppet Labs, which builds IT automation software that supports IT shops with DevOps models in place, released its annual State of DevOps report, finding that three factors are most likely to contribute to DevOps working within organizations: culture, DevOps investment and IT performance.
While DevOps represents a major shift in IT, the root of this shift actually lies in culture, not equipment.
A performance-oriented or generative culture meshes best with DevOps, according to the report. In that culture, risks are shared, failure leads to inquiry and new ideas are implemented. For example, he report spells out how uptime is treated in a generative culture with DevOps in place:
Quality, availability, reliability and security are everyone’s job. One way to improve the quality of your services is to ensure that devs share responsibility for maintaining their code in production. The improvement in collaboration that comes from sharing responsibility inherently reduces risk: With more eyes on the software delivery process, it’s a given that some errors in process or planning will be avoided. Automation also reduces risk, and with the right tool choice, can enable collaboration.
So how can IT leaders instill a culture that’s conducive to DevOps? The report suggests making DevOps a prioritized, widely communicated initiative as a start and setting aside budget for conferences, education and training as a follow-up.
For DevOps to succeed, someone within the IT must lead. The report outlines several factors that define strong IT leadership and success with DevOps.
Effective IT leadership in DevOps was associated with three key tactics, according to Puppet Labs’ report:
Helping teams achieve win-win outcomes. One common source of adversarial relationships between departments is when they are measured in ways that encourage them to focus on team-level goals — for example, “How fast can I declare my code dev complete?” — rather than organization-level or customer-focused goals such as, “How fast can we successfully resolve bugs?”
Creating feedback loops. Teams with effective leadership use data from application and infrastructure monitoring tools to make business decisions daily. Looping from production back into what teams work on is critical to creating high-performance teams.
The use of key continuous delivery practices. Continuous integration and the use of comprehensive configuration management and test automation were also highly correlated with effective leadership. That’s consistent with our hypothesis that effective leaders encourage their teams to invest in ongoing improvement work. Effective leaders are those who demonstrate by their actions that the improvement of daily work is more important than the daily work.
Other key factors the report suggests IT leaders must consider and deploy are: making metrics widely available and actionable, managing work in process, and supporting and empowering employees, even if it leads to mistakes — as long as they learn from them.