Opposite Of Yagni

It would be good to have a word for code that exhibits the OppositeOfYagni.

What do we call code written in disgregard of YouArentGonnaNeedIt? We can describe it as code written in anticipation of unspecified future needs. It often exhibits PrematureGeneralization and GoldPlating, but we don't have a word for it. We can call code that doesn't follow DoSimpleThings complex, and code that isn't OnceAndOnlyOnce duplication. The term "bloat" doesn't do it justice. Bloated software might be bloated because it is trying to satisfy a large and disparate range of customers, but each and every feature is need by someone. It is disorganized and tries to solve problems which don't actually exist.

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.


CategoryXpCritique


EditText of this page (last edited November 5, 2009) or FindPage with title or text search