I have a big problem with keeping documentation up to date, especially since the underlying infrastructure of my application undergoes many changes during the early stages of development.
I find it's very difficult to document a moving target. However, this can make things a little difficult for new developers who are just coming on to the project, since all of the documentation is invariably only half correct.
Given that I'm already failing to document everything, I've decided it's probably best to just document the most important features of my project.
My question really is:
- What are the qualities of a useful document that will help a developer come up to speed on a new project and allow them to quickly begin making valuable contributions?
How long should it be? What sort of information was included? What level of detail? What sort of UML?
Note: I'm not interested in links to examples of good API documentation. Presumably the average developer can read and understand code.