Principle2 min
YAGNI — you aren't gonna need it
why I refuse to build the feature you'll need next month.
Don't build the feature you imagine you'll need next month. You're not a prophet, and the imagined future is usually wrong anyway — different users, different constraints, different priorities.
Every speculative feature is a tax you pay forever: it ships with bugs, gets in the way of the feature you actually need, and confuses the person reading the code later.
Build what's needed, keep it simple, and let the future feature earn its place. When it does arrive, you'll build it better — because now you know how it's really used.you're not a prophet
the point is simple — the details are not.
further reading3 references
- ↳Martin Fowler — Bliki: YAGNI
- ↳Clean Code — Robert C. Martin
- ↳Extreme Programming Explained — Kent Beck