I have always believed that writing is a way of thinking, not just a way of expressing thoughts.
The most important single aspect of software development is to be clear about what you are trying to build.