I am looking for a wiki or wiki-like system for writing and managing specification and documentation for a software project.

I know there are lots of wiki-implementations available, but are there some that are especially well-suited for this kind of task?

Actually it doesn't have to be a wiki, just a system that makes it easy to write and navigate specs and documentation, and which support change tracing.

  • 1
    Are you using a special platform? Like Microsoft's TFS for example? Sep 1, 2011 at 9:35
  • Along the lines of what @Saeed asked, what kinds of infrastructure does your team/organization already have in place for knowledge management and sharing? Also, what are your current processes for writing specs and docs?
    – Thomas Owens
    Sep 1, 2011 at 12:47

5 Answers 5


We're using LaTeX and SVN. Since LaTeX documents are just text files, it plays well with version control, unlike some binary or partially-binary formats.

You get all the advantages (and disadvantages, admittedly) of version control you're used to from using it with your code.

LaTeX takes a little setting up (to define your own styles/class), but once you've done so it's very good - you can concentrate solely on the content rather than its presentation (rather than being tempted to constantly tweak as you are with WYSIWYG), yet still get a slick, professional-looking PDF document at the end.


Personally, I really like Tiddly Wiki.

It has a pretty complete wiki syntax, is a self contained single html file and works well with a variety of web browsers without the need for a server.

It even has an extensible plugin architecture which allows you to add plugins to do all sorts of interesting things like encrypting tiddlers or adding footnotes.


For Microsoft platform, TFS (Team Foundation Server) integration with SharePoint is just what you're searching for. By creating a new team-project, you can choose a template encompassing almost every aspect of software development process. It gives you a portal in which you can define team members, assign their roles and security permissions, upload, share, and edit documents and specifications related to your project, and doing lots of other cool things with it.

For other platforms, I think you can use something like GitHub (though, I'm not sure about it).


For the personal project (existing only in my PC) I use Wiki in a Jar. In the past I worked with Redmine (it has furthermore a system of bug tracking and SCM )


You might try Sphinx, with the documents checked into your source control management infrastructure of choice. This has the advantages of source control and a relatively lightweight markup language, reStructuredText, that is easy to learn and pretty well instrumented for conversions (to HTML, to PDF, and so on).

Not the answer you're looking for? Browse other questions tagged or ask your own question.