YAGNI is short for “You Aren’t Gonna Need It”.
This principle is part of the “extreme programming” methodology.
There is only one rule involved. The rule states that you should not add any functionality if you do not directly need it.
When for example you are writing code to access the API of a web service, it can be very tempting to implement all features of the API specification. According to this principle you should only implement the one that is needed.