DevOps is a philosophy, and a DevOps transformation requires more than just introducing a few new tools. It affects organizational structure, roles and responsibilities, how developers go about their work and, ultimately, the relationship between IT and the business. It can seem daunting to many organizations but can succeed anywhere with some manageable steps.
Acknowledging the Challenge
The greatest problem a traditional software delivery organization faces is not the inefficient, error-prone delivery and feedback process as such. The biggest impediment is the acceptance that the current process represents the “natural order of things.”
Acknowledging that your delivery process can be improved, and communicating clearly that the way things are currently done is open to debate and revision, is a critical prerequisite for a successful DevOps transformation.
DevOps requires teams to work in an iterative manner. “Agile Development” is a proven approach to iterative and incremental software development and is an excellent first step for organizations wanting to embrace DevOps. An agile mindset, focusing on business value and continuity through short, iterative development cycles, is a natural generator of the continuous flow of changes to production enabled by Continuous Delivery.
Value Stream Mapping
Teams can map out their current value stream to identify where the most immediate improvements are available. A value stream describes all steps in a particular process, their duration, and any intermediate idle time. In a traditional software delivery process, a large proportion of the overall throughput time is spent idling.
With the Value Stream Map, the DevOps team can determine where the most painful bottlenecks are and which improvements are likely to deliver the greatest benefit. Based on an estimate of the benefit of each improvement in quantifiable terms, such as cost, quality, and time-to-market, improvements can be incrementally delivered with increasing ROI seen every time.
One Bottleneck at a Time
There is no such thing as a standard “DevOps Transformation Plan” suitable for every organization. However, a pattern common to successful implementations is to favor incremental approaches over blanket, organization-wide rollouts. In many cases, an implementation can start with a single team reworking their own processes or by efforts that tackle the “biggest pain” first.
- DevOps transformations can seem daunting due to their wide reach into so many aspects of a business.
- Value stream mapping can highlight waste in a traditional process, helping identify the biggest “bang for your buck” improvements.
- DevOps transformations rarely happen all at once. They expand through the enterprise gradually, and steadily demonstrate their ROI.