I'm not a saint, I'm a sinner.
The most important single aspect of software development is to be clear about what you are trying to build.