It’s not predictable. Estimations are hard unless you’ve done it before. And if you’ve done it before, it already exists.
Shit happens. A library has a security vulnerability, a bug appears in the core algorithm or simply Patch Tuesday causes some unknown impact. Software is in constant change.
However, outside of the software bubble, management want to understand the engine is functioning well and want a graph going up and to the right.
We’ve moved beyond measuring lines of code and we’re starting to see sophisticated approaches such as DORA or the DX Core metrics which fill the void and provide measures that correlate with business success. Win! However, this doesn’t change the facts. Software development is messy and there aren’t any silver bullets to make it go faster.
Which is why I was delighted to see a paper entitled, “ No silver bullets: Why understanding software cycle time is messy, not magic” which analyzes cycle time and concludes that “improving software delivery velocity likely requires systems-level thinking rather than individual-focused interventions”.