"When in doubt, leave it out"

Heard this little gem of an advice, while watching a Youtube video interview of Joshua Bloch.

Effective Java Programming with Joshua Bloch

Less is more. If you’re not sure if you need to add a certain capability, leave it out. You cal always add it later.

Beautiful advice. Over the years, the one thing that I’ve seen is that if you make a product that is chock-full of complex features, multiple configurations, etc, most users will just go with the defaults that you give them. So the payouts of having a complex set of features usually isn’t there. So go ahead, be lazy! If it’s not required, don’t do it.