YAGNI: The XP Principle That Tells Developers to Stop Building for 'Maybe'
YAGNI, short for 'You Aren't Gonna Need It', is a software development principle that originated within Extreme Programming (XP) in the 1990s as a direct response to the then-dominant waterfall methodology. Under waterfall, teams spent months building abstract, flexible architectures based on anticipated future needs — features that often never materialized because markets and stakeholders changed faster than any design could predict. The principle states that a feature should only be implemented when it is genuinely required, not because a developer suspects it might be useful someday. YAGNI is closely related to KISS and exists in deliberate tension with DRY, since premature abstraction to avoid repetition can itself violate the spirit of deferring unnecessary work. Crucially, the principle only functions effectively when paired with automated testing and continuous refactoring, which is why XP originally bundled it alongside TDD and continuous integration.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in