Our aim is to reduce the feedback cycle between the team and our stakeholders to identify potential changes as soon as we can, thereby reducing the average cost to make those changes. In the 1970s, Dr. Barry Boehm, a computer science researcher, discovered that the average cost of fixing defects rises exponentially the longer it takes us to find the defect. Dr. Boehm continued researching this into the early 2010s and found, not surprisingly, that it holds true for agile as well as traditional teams.
Figure 1 depicts common deployment strategies mapped to Boehm’s average cost of change curve. As you can see, the more often we release, the lower the average cost to make a change and thereby the greater the likelihood that we’ll be able to evolve our solution to meet the changing needs of our stakeholders.
The implication is that we want to adopt testing and quality techniques that have a short feedback cycle. In Figure 2 we map various techniques to the cost-of-change curve. Test automation is critical for this.
Lean software development also provides significant insight into the importance of increasing the cadence of releases. A fundamental principle of lean is to reduce work in process (WIP), and a key way to do that is to have smaller production releases and deploy more often. Reducing WIP increases quality, which in turn leads to reduced cost, both of which enable you to release faster. It is a virtuous improvement cycle. Reduced WIP also leads to a reduced need for managing the work and for any replanning due to changed stakeholders needs, resulting in less overhead and cost.
February 2022
Related Resources
- Agile
- Accelerate Value Delivery process goal
- Continuous Deployment
- Deploy the Solution process goal
- Develop Test Strategy process goal
- Test Automation Pyramid