The classic example is rewarding developers for throughput and operations for stability: this is a key contributor to the “wall of confusion” in which development throws poor quality code over the wall to operations, and operations puts in place painful change management processes as a way to inhibit change. First, it should focus on a global outcome to ensure teams aren’t pitted against each other.
So our first step must be to define a valid, reliable measure of software delivery performance.Ī successful measure of software delivery performance should have two key characteristics. Indeed, it’s expected that we will change and evolve our design based on what we learn by trying to implement it. Furthermore, the way we break down work is relatively arbitrary, and the design and delivery activities-particularly in the Agile software development paradigm-happen simultaneously. Measuring software delivery performance is hard-in part because, unlike manufacturing, the inventory is invisible. This post presents the four key metrics to measure software delivery performance. We wanted to discover what works and what doesn’t in a scientific way, starting with a definition of what “good” means in this context. There are many frameworks and methodologies that aim to improve the way we build software products and services. This post has been adapted from Accelerate: The Science of Lean Software and DevOps by Nicole Forsgren, PhD, Jez Humble, and Gene Kim.