Don't implement a feature until there is need for it.
When faced with a decision what to implement, implement only the features that are necessary at the moment. Features which are regarded as useful but don't seem necessary at the moment are better left for the time when they are deemed necessary. That way the necessary features will be developed faster. In addition no time will be waster for features that never become necessary.
See section contrary principles.
Discuss this wiki article and the principle on the corresponding talk page.