Documenting a software application is often something that is put off until the last minute, and sometimes forgotten/avoided altogether. Traditionally you’d probably produce one or more Word documents to describe the system, architecture, class diagrams and other bits and pieces.

More recently I’ve seen how useful a more collaborative tool like a Wiki can be in allowing all the participants in a project to easily add and update documentation. I don’t think this is an isolated trend – quite a lot of free and commercial software now provide a wiki as part of their support offering or documentation.

To that end we’ve been making do with the Wiki feature of SharePoint 2007. It’s better than nothing, but that’s about all you can say about it.

I think Atlassian Confluence is about the best wiki software around, but we wanted something cheap/free and because it would have to run on existing infrastructure, so it needs to be relatively lightweight.

WikiMatrix is a useful site to compare wiki features and requirements. There’s a nice wizard that lets you narrow down your options.

ScrewTurn Wiki ended up on the top of the list. It doesn’t (yet) have WYSIWYG editing, but uses ASP.NET, can use SQL Server to store content and can leverage Active Directory for authentication. The plugin list is not endless, but there are a few that we’ve found useful.

So far we’ve found it does the job quite nicely, except that the Admin pages are quite slow to load (fortunately you don’t use them very much)