By Alden Hart
There is currently a lot of interest in automated software practices such as continuous delivery, devops, and other evolving automation capabilities. While much of this interest is driven in the context of agile practices stemming from Lean development, the value proposition for pursuing such practices is centered more on repeatability than on speed. Put another way, the valuable metric to measure and manage is more about yield than it is about cycle time.
That is not to say that cycle time is not a useful metric, it is, and provides valuable insight into early defect identification. But as a stand-alone metric it creates focus on what should be a secondary benefit to automation, not the primary goal.
As an example of this in practice, consider a manufacturing line for fruit pies. Minor variations in process control and ruin an entire batch of pies; or the paint finish on a car, or a software deployment package. So the real value of automation is not speed, it’s repeatability. In software, the value is in avoiding defects and identifying them early when they do occur, then preventing them from occurring again.
The critical metric to measure is how many times the pipeline fails. Rather than asking how fast can we run the pipeline end to end, ask how many times can you run the pipeline successfully- with valid, repeatable output. This is about yield management.