YAGNI

/ˈjæɡ.ni/ · Abbreviation · Principle · Slang & Abbreviations

Definitions

  1. You Aren't Gonna Need It — a principle of extreme programming that states a programmer should not add functionality until deemed necessary. The antidote to over-engineering. Usually correct, occasionally embarrassing.

    In plain English: A programming principle meaning: don't build features you think you might need someday — only build what you need right now.

Etymology

1990s
Extreme Programming practitioners coin YAGNI (You Ain't Gonna Need It), arguing against implementing features until they're actually required
1999
Ron Jeffries and other XP founders formalize YAGNI as a core principle in 'Extreme Programming Installed'
2010s
YAGNI remains one of the most invoked (and debated) principles in software engineering — the tension between preparedness and simplicity never resolves

Related Terms