Wie wäre es mit so etwas wie Sphinx ?
Sie schreiben Ihre Dokumentation in reStructuredText (die Syntax ähnelt Markdown, das von Stack Overflow verwendet wird) in reine Textdateien (= einfache Versionskontrolle) und Sphinx spuckt HTML-Seiten aus.
Die beiden bekanntesten Sphinx-Benutzer sind die Python-Sprache und TortoiseHG (siehe die Links für die von Sphinx generierte Dokumentation).
BEARBEITEN:
Ich habe gerade gelesen, dass es sich um projektinterne Dokumentation handelt, nicht um Endbenutzerdokumentation.
Meiner Meinung nach ist so etwas wie Sphinx auch der beste Weg für die interne Dokumentation (vorausgesetzt, Sie können Ihre Analysten dazu bringen, reStructuredText zu schreiben), weil:
- Sie können die Dokumente problemlos versionieren (und Unterschiede bei Textdateien benötigen viel, viel weniger Platz als Binärdateien wie .doc oder .pdf).
- Wenn ein Entwickler eine gut lesbare .doc- oder .pdf-Datei haben möchte, kann er sie mit Sphinx aus den Quellen erstellen.
Wenn Sphinx zu kompliziert ist, gibt es noch einen einfacheren Weg: Sie können Ihre Dokumentation in Markdown schreiben und mit Pandoc (zum Beispiel) .rtf-, .doc- oder .pdf-Dateien erstellen (dies kann viel mehr).
Ich fand Pandoc einfacher als Sphinx, aber Pandoc kann keine netten Menühierarchien wie Sphinx erstellen (wie in der Python- und TortoiseHG-Dokumentation, die ich oben verlinkt habe).
Unabhängig davon, welches der von Ihnen verwendeten Tools Sie verwenden, können Sie einen internen Webserver und einen Buildserver so einrichten, dass der Buildserver eine HTML-Ausgabe generiert und diese jedes Mal auf den Webserver kopiert, wenn jemand etwas in die Dokumentation überträgt. Damit Ihre Analysten nicht einmal über die endgültige Ausgabe nachdenken müssen, müssen sie nur ihre Änderungen festschreiben und vorantreiben.