I think it happened to everyone, having side projects, trying to do something new and big in their spare time, or maybe having a little startup where everyone has clear in their mind what the software will do and what are the design goals to address.
I was wondering what type of documentation has to be produced under these circumstances? Since the client and the analyzer are the same person, many of the models of communications are useless, at least in most of contexts. But it's useful to track requirements and changes, especially if the software is big and complex.
What's the documentation that must be provided for self-produced software? Are there examples of documents drawn up for open source software?