January 10, 2016

3 Prerequisites for a Successful Enterprise DevOps Transformation

Mainstream adoption of DevOps continues to trend upward, as more and more enterprises seek to gain the benefits of faster and more stable delivery, shorter time to market, and reduced costs. While much of the focus in DevOps has been on “unicorn” startups, there are starting to emerge some significant success stories from large enterprises, including Nationwide and GE Capital, who have begun to share their unique journeys with others at industry events. But DevOps represents significant change for any organization, and the sheer scale, operational complexity, and geographic dispersion of enterprise teams makes effecting change that much more difficult. For the enterprise considering a DevOps transformation, Kartik Raghavan from CollabNet offered three prerequisites he argues are critical to a successful implementation yesterday in an article on DevOps.com (see article here).

The first prerequisite is organizational commitment, and while that at first sounds obvious, it’s critical that this commitment is formalized through organizational structures and processes in order to maintain momentum during the difficult times. It reminds me of the line from Star Wars where Han says, “I hope that old man got that tractor beam out of commission or this is going to be a real short trip.” Without a strong commitment from the organization to change, any transformation will lose steam when the first crop of issues impedes progress.

To manifest this strength of commitment, Kartik argues there are four underpinnings which must be set into place: “Organizational structures, support at a senior level, a clear but flexible roadmap, and adoption of common objectives.”

New organizational structures can be put in place to enable the transformation, but it’s important that these are designed to support the kind of collaboration which is so often emphasized in DevOps, and not create additional silos within the enterprise. Many enterprises will create DevOps groups, consisting of developers and operations professionals, to bridge the gap between current operating procedure and the DevOps vision. According to Kartik, in order to ensure this group doesn’t silo itself, this group “should operate as a center of excellence managing the tools required across the lifecycle and guiding/overseeing the right methodology within the Dev and Ops teams.” On the development front, such methodologies include shifting test and QA methods left in the development cycle, so that quality, stability, and security are baked into the release from the beginning – a common practice in Agile. But it also includes shifting production considerations further left in the release cycle, so that developers are taking into account configuration and deployment requirements as they begin work on a new release. On the operations front, Kartik advises that “this new [DevOps] methodology demands a shift from managing risk by limiting change towards enabling change while reducing risk by automating repeatable steps for deploying small packets of changes often.”

Senior level support is another underpinning, and while it is often an IT executive who sets the vision for a DevOps transformation, support also has to permeate through the senior and mid-level manager ranks in order to succeed. The reason for this is that as the transformation begins, the inevitable disruption will impact narrow departmental goals in the short term, although progress may be made towards the end goal of delivering better quality software faster.

Establishing a clear but flexible roadmap is another important underpinning – one that incorporates opportunities for short-term wins and clear milestones. The transformation roadmap should be phased such that change is broken into smaller chunks, allowing for each victory to be translated to the rest of the organization in addition to setting the conditions for executing the next phase. For an enterprise, this might begin simply with the adoption of Agile among a number of teams, followed by Continuous Integration and automated testing, followed by the build out of a Continuous Delivery pipeline.

A set of common objectives, the last underpinning to organizational commitment, will foster a sense of shared responsibility and promote collaboration between Dev and Ops. These objectives should be operationalized through a shared set of metrics, and should include both “change velocity” metrics and “quality of service” metrics.

The second prerequisite is to embrace automation, while maintaining a disciplined approach. DevOps advocates automating everything in the release cycle, to both enable faster delivery as well as remove the potential for human error embedded in manual processes. But, Kartik recommends it’s important to first improve your processes so they are “rationalized, optimized and made consistent,” because “automating poor practices can actually be counter-productive.” Once the process is optimized and reflects best practices, automation can help to increase velocity while also providing another critical benefit – visibility and traceability in the process which facilitates the tracking and managing of release cycles.

The third and final prerequisite has to do with your tools and infrastructure. “Rather than locking in a toolset up front, it’s important to have flexibility as the organization evolves its practices and the tools that enable them.” Kartik recommends that open source tools be considered, as they offer flexibility in implementation, are often on the leading front of innovation, and allow users to leverage the lessons of the community built around them. What’s important, whether you decide to go open source or instead choose a vendor-supported solution, is to pick the right tool for the job, which will enable adoption and increase the ROI. Kartik also recommends optimizing the tool chain for the project which is the initial focus of the transformation. Once this initial team can demonstrate repeatable success from using the tool chain, it becomes easier to scale out that set of tools to other groups who seek to enjoy the same level of success.

These prerequisites are in line with the core principles of DevOps, which advocate improvements to culture, process, and tools. But, Kartik’s suggestions tailor these principles to the realities that exist within the enterprise, and provide some concrete steps that enterprise teams can take as they begin their DevOps journey.

Read more about the benefits DevOps brings to the business by downloading our white paper, The Business Case for DevOps.

Share on: