DevOps and Release on Demand
DevOps and Release on Demand is one of the Five Core Competencies of the Lean Enterprise.
The DevOps and Release on Demand competency describes how implementing DevOps and a continuous delivery pipeline provides the enterprise with the capability to release value, in whole or in part, at any time necessary to meet market and customer demand.
The ability to release value to customers when they need it is crucial to the success of today’s businesses. Which is why every Agile Team, Agile Release Train (ART), and Solution Train must develop a Continuous Delivery Pipeline and DevOps (a concatenation of Development and Operations) mindset. The Continuous Delivery Pipeline represents the flow of value from concept to cash, through the dimensions of Continuous Exploration, Continuous Integration, Continuous Deployment, and Release on Demand. DevOps represents the mindsets and practices that make this flow possible.
Why DevOps and Release on Demand?
As digital disruption continues to change the world, and as software becomes a bigger part of every company’s ability to deliver and support their products and services, every enterprise faces the need to react to customer demand and needs faster with digital solutions. A common problem for fast delivery has always been the chasm between Development and Operations, one optimizes for frequent releases and change, the other optimizes for operational stability. If not addressed, this dichotomy in ‘worldview’ creates a barrier to success.
Popularized by books, including The Phoenix Project  and the later DevOps Handbook , the DevOps movement works to align development, operations, the business, Infosec, and other areas to work together better by sharing the responsibility for improving business results. The reason is simple: high performing organizations apply DevOps capabilities to dramatically outperform others at both technical aspects and business outcomes, as Figure 1 illustrates.
DovOps and Release
Thanks to these results, ‘DevOps and Continuous Delivery’ has become a mantra characterizing the larger goals of the movement. This mantra reflects the desired end state for many, which is the continuous delivery of value to the end user. Yet while some organizations need to deliver continuously, others don’t. All businesses, however, share the need to Release on Demand. This allows Agile Teams, Agile Release Trains, and Solution Trains to react more quickly to their customers.
Organizing Around Value Delivery
In order to optimize the flow of value, it’s important that all people who are needed to release value on demand work together continuously. As Figure 2 illustrates, the SAFe Agile Release Train (ART)is a long-lived cross-functional team of Agile teams, which also includes critical program roles like Product Management, System Architect/Engineering, and Release Train Engineer.
In addition to Dev and Ops, there are a number of additional industry terms, such as DevSecOps and BizDevOps, that encapsulate the idea that more than development and operations are needed for Release on Demand and DevOps to be effective. Therefore, all of the skills and people necessary—business, compliance, security, data, operations, quality and others—are part of the ART.
Operationally, each ART is a cohesive virtual organization (50 – 125 people) that plans, commits, and executes together. ARTs are organized around the enterprise’s significant Value Streams and exist solely to realize the promise of delivering that value via the Solutions for which they are responsible.
Figure 3 illustrates some key ART events and activities:
- Teams work in short two-week iterations. They follow an Iteration cycle which includes Iteration Planning, Iteration Execution (which includes a daily-stand-up and backlog refinement), Iteration Review, and an Iteration Retrospective. ARTs work on an 8-12 week program increment cadence.
- The entire ART plans together in PI Planning.
- ART representatives meet regularly to assess progress towards the PI Objectives in ART syncs, Scrum of Scrums, and PO syncs.
- The ART demonstrates the current working integrated system at the end of each iteration, in System Demos.
- In the Inspect and Adapt event, the entire ART discusses how to improve the process.
Important note: While teams and ARTs work on this cadence, any team or ART can release at any time market and governance conditions warrant. In other words, the planning and synchronization cadence does not mandate the release cycle. They are two separate things entirely.
Building the Continuous Delivery Pipeline
In order to improve the flow of value and enable Release on Demand, each ART establishes a Continuous Delivery Pipeline. As Figure 4 illustrates, the continuous delivery pipeline shows the flow of value through four dimensions: Continuous Exploration, Continuous Integration, Continuous Deployment and Release on Demand. This flow represents a triple feedback loop, with value flowing to customers, while feedback and learning flow back to development to inform the decisions of what to build next. Each dimension is described in the paragraphs below.
- Continuous Exploration fosters innovation and creates alignment on what needs to be built. It starts with an idea or a hypothesis of something that will provide value to customers. Ideas are analyzed and researched, leading to the development of Minimal Viable Products (MVPs). Once the hypothesis is defined, their architecture is articulated, and Features are defined and prioritized in the Program Backlog. Finally, the Agile Release Train (ART) collaborates during PI Planning on what it will build during the next Program Increment (PI).
- Continuous Integration builds quality into the development process by integrating the ongoing work of the Agile Teams. All work is version controlled, and new functionality is built and continuously integrated into a full system or solution and tested end-to-end before being validated on a staging environment.
- Continuous Deployment takes the changes from the staging environment and deploys them to production. At that point, they’re verified and monitored to make sure they are working properly. This step makes the features available in production, where the business will determine the appropriate time to release them to customers. In this dimension also allows the organization to respond, rollback, or fix forward when necessary.
- Release on Demand is the ability to make value available to customers all at once—or in an ad hoc fashion—based on the needs of the market and the business. This dimension focuses on allowing the business to measure the outcome of its hypothesis and learn what it needs to do next based on the objective evidence of the customer response to the value released.
The Continuous Delivery Pipeline also enables mapping and measuring the flow of value from concept to cash, or from hypothesis to validation. Continuous Deployment makes it possible for features to be in production and available to be released when the business needs them.
Everything is Continuous
Although a single feature flows through the Value Stream in a sequential manner, the teams work on all dimensions in parallel, as illustrated in Figure 5. That means that ARTs and Solution Trains, throughout every PI and every iteration in the PI, will continuously:
- Explore user value
- Build, integrate and demo value
- Deploy to production
- Release value whenever the business needs it
DevOps Enables Continuous Delivery and Release on Demand
Each ARTs DevOps prowess enables release on demand. As Figure 6 illustrates, SAFe DevOps is grounded in five concepts necessary to Release on Demand and enable the continuous delivery pipeline: Culture, Automation, Lean Flow, Measurement, and Recovery.
- Culture represents the philosophy of shared responsibility for fast value delivery across the entire Value Stream. This includes everyone who contributes to value creation—from concept to cash—including Product Management, development, testing, security, compliance, operations, etc.
- Automation represents the need to remove human intervention from as much of the pipeline as possible to reduce errors, shorten time to market and improve quality.
- Lean flow covers the concepts of limiting work in process (WIP), reducing batch size, and managing queue lengths, which enables the faster flow of value to the customer and faster feedback.
- Measurement is about understanding and measuring the flow of value through the pipeline, thereby fostering learning and continuous improvement.
- Recovery focuses on building systems that will allow fast fixes of production issues through automatic rollback and ‘fix forward’ (fix in production) capabilities.
Measuring and Advancing DevOps and Release on Demand
As a core competency of the Lean Enterprise, it’s essential to assess the organization’s ability to Release on Demand based on DevOps. Self-assessing allows ARTs to understand their strength and weaknesses and identifies the dimension which requires attention and improvement. Figure 7 shows the SAFe DevOps and Release on Demand health radar. It helps ARTs and Solution Trains assess their maturity in the 16 sub-dimensions of the continuous delivery pipeline. The maturity in each sub-dimension can be scored as ‘Sit, Crawl, Walk, Run or Fly.
After the ART or Solution train ascertains its problem areas based on its health radar, it needs to improve the flow. Since SAFe enterprises take a systems view, it’s better to move from a ‘crawl’ across the radar to a ‘walk’ than improve to ‘fly’ in one sub-dimension, while leaving the rest at ‘crawl.’ This is important in order to improve the overall flow of value across the Continuous Delivery Pipeline versus in any one sub-dimension.
The DevOps and Release on Demand health radar is available in the Metrics article.
In today’s digital world, the ability to Release on Demand is crucial. Agile Teams’ enable this by responding to change and to building quality in as is defined in the Team and Technical Agility core competency. That enables the ability of the Lean Enterprise to build Business Solutions and to deliver the strategy defined by Lean Portfolio Management (LPM). Sitting in the middle, DevOps and Release on Demand serve as critical lynchpins tying these competencies together. Agile Release Trains provide the organizing metaphor, cadence, and synchronization, while DevOps provides the concepts and practices that make this possible. Much like any of the other core competencies, it builds on the foundations laid by Lean-Agile Leadership, without which neither the cultural shift nor the necessary investment in infrastructure could happen.