For faster navigation, this Iframe is preloading the Wikiwand page for You aren't gonna need it.

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.

See also

References

  1. ^ Extreme Programming Installed, Ronald E. Jeffries, Ann Anderson, Chet Hendrickson, 2001, 265 pages, p. 190, webpage: Books-Google-dIsC, quote: "YAGNI: 'You Aren't Gonna Need It.' This slogan, one of XP's most famous..., reminds us always to work on the story we have, not something we think we're going to need."
  2. ^ a b Extreme Programming examined, Giancarlo Succi, Michele Marchesi, 2001, 569 pages, webpage: Books-Google-VSCh, quote: "XP says 'do the simplest thing that could possibly work ' because 'you aren't gonna need it'."
  3. ^ a b Object-oriented & classical software engineering, Stephen R. Schach, 2007, 618 pages, p., webpage: Book-Google-hWwh, quote: "Two acronyms now associated with extreme programming are YAGNI (you aren't gonna need it) and DTSTTCPW (do the simplest thing that could possibly work)."
  4. ^ Lowell Lindstrom; Carmen Zannier; Erdogmus, Hakan, eds. (2004). Extreme Programming and Agile Methods – XP/Agile Universe 2004: 4th Conference on Extreme Programming and Agile Methods. Lecture Notes in Computer Science. Berlin: Springer. p. 121. ISBN 3-540-22839-X.
  5. ^ Martin Fowler; Kent Beck (8 July 1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 431 pages, p. 68, webpage: BGoogle-1M. ISBN 978-0201485677. Quote: "you aren't going to need it".
  6. ^ Mary Poppendieck; Tom Poppendieck (2003). Lean Software Development: An Agile Toolkit, p.59, webpage: BGoogle-hQ. Quote: "Kent Beck, Extreme Programming Explained, Chapter 17, uses the acronym YAGNI (You Aren't Going to Need It) for this practice and explains its rationale."
  7. ^ Russ Olsen (2007). Design Patterns in Ruby, p.13, webpage: [1]. ISBN 9780321490452. Quote: "This design principle comes out of the Extreme Programming world and is elegantly summed up by the phrase You Ain't Gonna Need It (YAGNI for short)."
  8. ^ Ron Jeffries (April 4, 1998). "You're NOT gonna need it!". Retrieved 2007-11-07.
  9. ^ Twitter https://twitter.com/id_aa_carmack/status/1405932642005041153. Retrieved 8 June 2022. ((cite web)): Missing or empty |title= (help)
{{bottomLinkPreText}} {{bottomLinkText}}
You aren't gonna need it
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.