It would be good to have a word for code that exhibits the OppositeOfYagni.
Suggestions include: "crap", anticipatory, speculative.
Perhaps "clever", not in the literal sense, but in the satirical sense, "affable but not especially smart". It's usual for code which violates yagni to have pieces and constructs that appear good and useful, but are not actually addressing any real need.
Practical shops fall in the middle between YagNi and GoldPlating. I believe the middle is the best bargain if you have experienced designers.
NIAGNI: "No, I am going to need it!", from LukeHohmann, in http://alistair.cockburn.us/crystal/articles/eaaaiebv/extendinganarchitecture.htm
An interesting contrast, but not the idea of this page. What do you call code written with lots of things that really aren't needed?
(er, how would the opposite of "you aren't gonna need it" be "code written with lots of things that really aren't needed"? Surely it would be "i am gonna need it"?)
Perhaps the title of this page is misleading, "i am gonna need it" is certainly a correct antonym of YAGNI -- and that's why it would be good for "code written with lots of things that really aren't needed" to have a name.
Re: "NIAGNI" - My spam filter rejects that because it is too close to something else.
AWOT -- You guess what it means.
SDS (pronounced "suds"): Spurious Duplication of Self
Reasoning as though you think you can fork yourself off as a separate process, to save yourself time.