in reply to Preferred method of documentation?
Document has to be useful, not just because someone wants you to do it. I have to agree with you that comments in source code is kind of very useful document, but not enough.
First there is a time sequence thing, lots of your documents come before you have the code. For example, your design document is a way to communicate your design to others, so they can review your design. You don't want to code for failure.
Comments in your source code is good for describing things that are localized to one module, one source file or whatever, but cannot be used to describe things that are across modules.
As for comments in source code, it also has to be useful, the last thing one wants to do is to repeat your code in natural language. If that's all what you want to do, to repeat, then better don't bother to comment, as your code is most likely more precise.
Don't do this:
#increments counter by 1 $counter ++;
I always do document, sometime even for one line changes.