Glossary

YAGNI

Acronym
Also known as: you-arent-gonna-need-it, you aren't going to need it
TechMethodology

Definition

"You aren't gonna need it" — the Extreme Programming rule against building for a requirement that has not arrived: implement what the current story needs, and add the generalization when a second case actually appears

The cost being refused is not the code but the carrying of it — every speculative option is read, tested, maintained and worked around until the day it is used, which is often never, and when the real requirement arrives it is usually shaped differently. YAGNI is about features and flexibility, not quality: it does not license skipping the tests, the error handling or the refactor. Its partner is KISS; its counterweight is the one-way door, where the option really is cheaper now.

Tech

The second occurrence is the design signal. The first time, write it plainly; the second time, you can see what the two have in common and abstract the real shape rather than the guessed one.

Related Terms

  • a: Appearance
  • ?: Keyboard shortcuts