The most important single aspect of software development is to be clear about what you are trying to build.
When you die you take absolutely nothing with you except your reputation.
The best way to predict the future is to invent it.