In every software development team, inevitably, there are a number of documents that spring up to help manage various project information. They often include documents like:
- Project Overview and Goals
- Project Risks and Concerns
- High-level Design Overview
- Coding Guidelines
- Team Directory
- and on and on...
And virtually every team I've seen stores these documents in some kind of network share. Some even use Microsoft's SharePoint Server to manage these type of documents.
The problem with the standard network share is that it virtually guarantees that nobody, other than the author, will ever open these documents more than once. It's rare that these documents stay up to date and maintained. They are hard to find and can be locked because other users are editing them or have left them open.
The ideal solution for managing these documents is something that would allow:
- All Team Members Easy Access to the Documents
- Appropriate Team Members Have Edit Rights
- No File Management Needed
- Easy Search of All Documents
- Automatic Table of Contents
The typical network share falls short on all of these requirements, however, a typical Wiki product nails most if not all of these items. Any team that's not yet utilizing a wiki for document management is wasting their time. A Wiki provides the flexibility of allowing any appropriate team member to create a new document, edit or update an existing document and easily find the information that they might be looking for.
The great thing about Wikis is that you don't need to manage files on an individual file level. Unlike storing files on a network share, a wiki is easily web-accessible and provides easy read-only capabilities. The right wiki can provide a nice security system to ensure only the right people have access to view and edit files.
Wiki in OnTime 2008
We introduced OnTime's Wiki functionality in V8.0, released back in December of 2007. In the past 9 months, we have seen OnTime's wiki become one of the most used features of OnTime and its being used for a great deal more than we had expected. Teams have started using OnTime's Wiki for everything I listed above, plus:
- Processes & Procedures - Teams have started to document their processes and procedures allowing new team members to quickly access this vital information in a single, automatically organized location.
- Methodology Information - Some teams have created wiki pages with both content as well as links to important web sites with information about the methodologies they use. A Scrum team might have Wiki pages that provide an overview of Scrum, descriptions of a backlog, sprint and so on.
- Team Meetings - Teams have found that summarizing important team meetings in a short Wiki document helps them keep important decisions searchable while easily communicating the information with team members that may have missed the meeting.
- Database Update Procedures - Updating the database often entails a tricky set of steps that must be carefully coordinated between multiple team members. Documenting those processes in a team Wiki helps everyone stay on the same page.
- Sales FAQ - Teams have started creating sales-related FAQ pages for their sales team. Setting up a "Sales Project" and creating documents underneath that project ensures that the sales FAQ docs are also maintained in the right branch of the automatically generated Table of Contents, keeping clutter to a minimum.
- Support FAQ - Similar to the Sales FAQ, the Support FAQ helps OnTime teams manage common support questions.
- Favorite Lunch List - My personal favorite is the use of the team wiki to maintain a list of favorite lunch places near the office. The importance of using a Wiki for accommodating lunch cannot be emphasized enough :-)
Because Wiki pages are easy to create, search, edit and view, team members are more encouraged to create, edit and maintain documents that pertain to some aspect of the development process. In OnTime, Wiki pages are fully integrated into the main interface so you have access to wiki information from the same tool that you use regularly. No need to leave OnTime to look at or search Wiki pages.
Here are a couple of screenshots from Axosoft's own usage of the OnTime Wiki. In this case we see an automatically generated Table of Contents screenshot and a page describing some best practices for a new OS X user at Axosoft:
The OnTime Table of Contents is Automatically Generated
With the release of OnTime V8.1.2 & V8.1.3 we have added a number of very important features to the OnTime Wiki that makes the Wiki even more powerful than before:
- Full-Page Wiki Mode (like the screenshots above) - This new feature (added in V8.1.2) allows users to focus on wiki pages without having any other OnTime functionality on-screen. The full-page wiki mode also allows you to easily send the URL of a particular page to another user. When that user logs in, only that particular Wiki page is loaded (no tabs for Defects, Features, etc.). This allows a new type of user in OnTime: Wiki-only user. Editing, searching and navigating wiki pages is also easier in full-page Wiki Mode.
- Aesthetic Improvements - In V8.1.3, we introduced a few improvements to the look and feel of the Wiki pages. For one thing, fonts tended to be different in edit mode than view mode. That issue was fixed. Additionally, we improved the look (and size) of the page title and re-ordered some toolbar buttons so that it's even easier to use.
- Wiki User Settings - Also in V8.1.3, we added some Wiki User Settings that allow users to choose whether or not they want to see the last modified date and user next to each wiki page name in the Table of Contents. Also, when selecting a project, the Wiki User Settings now determines if OnTime should show you the TOC for that project, the Home Page or the page you had last visited for the given project.
Since OnTime Wiki pages can also be made available in your OnTime Customer Portal, sharing information with your customers is also very easy. Regardless of whether or not you use OnTime, using some kind of a Wiki system for document management is extremely important to keeping your team efficient.