The difficulty here for me lies in finding out where I'm just writing generalized code and where I'm crossing the YAGNI line. Does anyone have any guidelines on deciding where we are overgeneralizing unnecessarily?
If you're not using it, you're crossing the YAGNI line.
This is nice. I have a piece of paper stuck to my wall that says "FIRST MAKE IT WORK". This goes right under it :)