Article · 10 min read
Yagni (You Aren't Gonna Need It)
Martin Fowler · martinfowler.com Free Intermediate
For the refactoring half of your question, Fowler explains why building for imagined future needs usually costs more than it saves. He carefully separates real over-engineering from healthy refactoring, so you can tell craft from gold-plating in your own codebase. A precise, engineer-to-engineer read.
- Do not build capability for a future you have not validated.
- Presumptive features carry build, carry, and repair costs.
- Refactoring for changeability is fine, speculative features are not.