The most important single aspect of software development is to be clear about what you are trying to build.
The only way to survive is to have a sense of humor.