Why Does Development Slow?

Why does development velocity collapse as codebases grow despite shipping features

Development velocity inevitably declines as features accumulate because each new feature burns optionality—the flexibility to implement future features easily. The solution isn't to optimize both feature delivery and code quality simultaneously, but to rhythmically alternate: ship a feature, then invest in tidying to restore optionality before the next feature. This pattern holds whether you're coding alone or with AI.

Read full essay on Substack ↗

Questions this essay answers

  • Why does adding features get progressively harder even with a larger codebase?
  • Should I refactor between features or continuously while shipping?
  • Does AI-augmented coding accelerate this slowdown?
← All essays