You aren't gonna need it
From Wikipedia, the free encyclopedia
"You aren't gonna need it"[1][2] (YAGNI)[3] is a principle which arose from extreme programming (XP) that states a programmer should not add functionality until deemed necessary.[4] Other forms of the phrase include "You aren't going to need it" (YAGTNI) [5][6] and "You ain't gonna need it" (YAGNI).[7]
XP co-founder Ron Jeffries has written: "Always implement things when you actually need them, never when you just foresee that you need them."[8] John Carmack has written "It is hard for less experienced developers to appreciate how rarely architecting for future requirements / applications turns out net-positive."[9]
Context
YAGNI is a principle behind the XP practice of "do the simplest thing that could possibly work" (DTSTTCPW).[2][3] It is meant to be used in combination with several other practices, such as continuous refactoring, continuous automated unit testing, and continuous integration. Used without continuous refactoring, it could lead to disorganized code and massive rework, known as technical debt.[citation needed] YAGNI's dependency on supporting practices is part of the original definition of XP.
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.