For cloud services providers, DevOps is a way of life. Developers at Google, Amazon, Netflix, and others are passionate about this IT best practice. But within traditional corporate IT organizations, DevOps has limited adoption relative to other practices in our annual IT Management Best Practices survey. Nevertheless, this is beginning to change, as IT organizations realize the benefits of continuous development and continuous delivery for customer-facing and strategic in-house developed systems.
What is DevOps? It is a mashup of the words development and operations, denoting an organizational model with a set of processes and tools that promote collaboration between software developers and IT operations, allowing frequent deployment of system changes. In software development firms, especially SaaS providers, DevOps is a well-established model for software change management. But for some perspective, a sizeable 46% of our survey respondents—who are primarily traditional corporate IT organizations—do not practice DevOps at any level, as shown in Figure 3 from our full report, DevOps Adoption and Best Practices.
DevOps is a natural extension of agile development into the deployment and operational phases of the system life cycle. Just as agile development builds software in small, iterative build cycles, so DevOps applies enhancements as small incremental changes that are committed daily, hourly, or even moment-by-moment into the production system.
“For many tech providers, DevOps is engrained in the culture,” said Tom Dunlap, director of research for Computer Economics, an IT analyst firm based in Irvine, Calif. “But too many traditional IT organizations, if they’ve heard of DevOps at all, just assume it’s not for them. This is a mistake. IT leaders need to think about how they can apply DevOps for in-house written systems where the pace of change is high—or, if the rate of change could be increased, it would represent a competitive advantage.”
Traditional software change management processes treat development, testing, and deployment as discrete steps carried out by different IT organizational units. Software developers build a new release of the system, another group is responsible for testing or ensuring that QA activities are completed, and the operations group is responsible for applying the new release to the production environment. There are typically checklists and approvals at each step, and the whole process can take months or even years. Under DevOps, developers are empowered to build, test, and commit small changes directly into the production environment. New releases are rolled out incrementally as a series of smaller changes that can be implemented much more quickly than under the traditional model.
In our full report, we look at adoption trends and maturity of DevOps by organization size and sector. We conclude with practical recommendations for IT organizations interested in getting started with DevOps.
This Research Byte is a brief overview of our report on this subject, DevOps Adoption and Best Practices. The full report is available at no charge for Computer Economics clients, or it may be purchased by non-clients directly from our website (click for pricing).