 <p>Documentation is a tricky term since it involves different artifacts and different tasks, what do you mean by documentation?</p> <p>User manuals? Screensteps can be used for that. Most companies hire special technical writers to do user-friendly documentation.</p> <p>Function headers and API documentation? That's a different story. The "official" guideline (at least for Java) is to capture everything - complete specifications. The agile approach is to document only what's important. I published a study that shows that detailed header documentations tend to actually distract users. There is a relatively small list of important "directives" and "caveats" that need to be conveyed. PM me or send me a comment if you want more details on that and I'll detail more. I'm avoiding it now since I'm not sure what you meant. </p> <p>I also had a tool that lets you record a narrative of what you do as you work, and it ties it to a log of your edits and actions, that establishes some traceability though it's of course not documentation.</p>