YAGNI is abbreviation for “You Ain’t Gonna Need It”. It is a concept of extreme programming. And I am finding it very interesting as I never came across this term before.
The concept is simple, that there is no need to implement something, unless you actually need it. i.e. do not try and forecast changes in the software and just code whats necessary.
The principle is not universally accepted. And it is supposed to be carried out along with other refactoring activities. i.e. continuous refactoring, continuous integration and continuous automation.
Please go through the Rationale secion in the wiki page for YAGNI.