YAGNI Principle
ELI5 — The Vibe Check
YAGNI: You Ain't Gonna Need It. Don't build features 'just in case.' That abstraction layer for a database switch that will 'probably' happen? It won't. Build what you need today and refactor when you actually need more.
Real Talk
An Extreme Programming principle stating that a programmer should not add functionality until it is deemed necessary. YAGNI fights against speculative generality — building abstractions and features based on predicted future needs that often never materialize, wasting effort and adding complexity.
When You'll Hear This
"We don't need a plugin system — YAGNI. If we need it in the future, we'll build it then." / "YAGNI saved us from building a multi-tenant system that the business never actually needed."
Related Terms
DRY Principle
DRY: Don't Repeat Yourself. If you're copy-pasting code, you're doing it wrong. Extract it into a function. But beware — not all similar-looking code shoul
KISS Principle
KISS: Keep It Simple, Stupid. The best code is the code that doesn't make you think. No clever tricks, no over-engineered abstractions, no 'look how smart
MVP (MVP)
An MVP is the simplest version of your product that actually works well enough for real users to use and for you to learn from.
Premature Optimization
Premature Optimization is Knuth's famous warning: 'Premature optimization is the root of all evil.