Let's compare your software-release process to a flowing river (I did say it was a bit of a tangent):
- At the very beginning, many small streams flowed downhill and converged into a river. This river flowed along, but the progress was impeded by a series of locks and a massive manmade dam:
![](https://static.packt-cdn.com/products/9781788995474/graphics/assets/aac105bd-5151-4da6-a7f5-4453182a34b4.png)
- The river then backed up and started to form a reservoir.
- Every few months, the sluice gates were opened and the water flowed freely, but this was normally a short-lived and frantic rush.
- As you identified and started to remove the manmade obstacles, the flow started to become more even, but it was still hindered by some very large boulders further downstream:
![](https://static.packt-cdn.com/products/9781788995474/graphics/assets/b0c887be-37f3-47c7-bb59-587d608c0eb0.png)
- You then set about systematically removing these boulders one by one, which again increased the flow; this, in turn, started to become consistent, predictable, and manageable.
- As a consequence of removing the obstacles...