Credo che la citazione di Einstein, "Tutto dovrebbe essere reso il più semplice possibile, ma non più semplice", si applica bene qui. Se riesci a trasmettere le tue idee in 5 pagine di testo, non c'è motivo di scrivere 50.
Un modo per farlo è impostare un sito wiki e scrivere la documentazione al suo interno. Il vantaggio è che puoi iniziare a scrivere documentazione, qualsiasi cosa ti manchi o cose non chiare, altre persone saranno in grado di correggere e aggiungere.
Nel mio team stiamo anche sperimentando l'uso di Doxygen. La parte buona è che ti fa documentare le interfacce pubbliche nel tuo codice e questo è buono anche senza la documentazione online. Ma poi genera pagine HTML che potrebbero contenere una descrizione di tutte le chiamate al metodo (simili alle sezioni "Riferimenti" nella libreria MSDN).
Tuttavia, il mio problema con Doxygen è che spesso sembra che la sezione "Reference" non sia abbastanza e tu voglia aggiungere la sezione "Using" di MSDN (e forse l'evento "About"), ma finora non ho stato in grado di capire come farlo con Doxygen. E i collegamenti che genera non sono permalink quindi non puoi avere pagine wiki che ti portano automaticamente a una pagina di riferimento specifica.