YouAin’tGonnaNeedIt – YAGNI is an XP principle based on Hoares Law (or Knuth’s Law).

It broadly refers to gold-plating in code and premature optimisation, with regard to Capacity Testing.

The interesting fact I found out this morning was that Charles Hoare denied he ever said it. He did say:

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

What Donald Knuth said was:

“Premature optimization is the root of all evil (or at least most of it) in programming.”

It’s always worth bearing YAGNI in mind, it sits quite nicely next to a KISS approach.