YAGNI

Build for today's known requirements. Speculative generality adds code that must be maintained but delivers no current value. If a future need materializes, the cost of adding it then is almost always lower than maintaining premature abstractions now.

  • Before adding a parameter, config option, or extension point, confirm a current requirement demands it
  • Delete dead code and unused abstractions — they are not "free" to keep around
  • When someone says "we might need this later," treat that as a reason to wait, not a reason to build
version
1.0.0
tags
yagni
author
Mike Fullerton
modified
2026-03-27

Change History

Version Date Author Summary
1.0.0 2026-03-27 Mike Fullerton Initial creation