Success is not final, failure is not fatal: it is the courage to continue that counts.
The most important single aspect of software development is to be clear about what you are trying to build.