9/21/2010: We posted a video to our site of this. Click here to view.
Having just blogged about the failure of tool providers to provide good documentation tools, I thought I’d like to show a few screen shots of what we’re working on. This blog demonstrates an early prototype of the documentation functionality of the Exia Process application. If you’re developing software, the idea is that you’d use this system to create all your requirements, architecture documentation, system documentation, user documentation, and so on.
Here’s a quick shot of some requirements documentation in progress.
Key features that are working are:
- It’s instant to add a new topic. Just click on the left or hit enter and type.
- Tab takes you to the right panel and again you just type.
- Hitting enter on the right panel (the text panel) adds a new paragraph.
- Paragraphs are tracked and versioned individually in Team Foundation Server as individual Work Items. For those of you who are familiar with Work Items, you will realize that this means any text content can now be fully accounted for, attached to other items, managed, assigned, expanded upon, given a lifecycle, etc. etc. To do this we create one new work item type in your project automatically. No you don’t have to install a template on the server. You just need admin rights on the project. You can use your usual out of the box Agile template and you’ll just see one new work item type called DocumentElement. Each of our tree nodes and text headings and paragraphs is a DocumentElement WorkItem.
- You can move paragraphs up and down. You can rearrange the entire tree any time.
- Formatting happens through shortcut keys or button clicks. Choose normal, heading 1 or heading 2. Title is automatically formatted.
- List and bullet numbering is just a click. Multiple indents are fully supported. Unlike Word the numbering and indenting doesn’t get messed up all the time taking you fifteen minutes to sort out.
- Hard requirements are marked as such with italics and a pencil (It’s just a prototype, the icons will evolve).
- Changes are tracked and you can drop down the Changes window to see them. It’s very prototype but you get the idea. Clicking on any change takes you right to the tree node and highlights the paragraph. Previous and current versions are shown side by side.
- All or any part can be printed, exported, shared etc.
Now below is a very early prototype showing how the documentation system is flexible enough that documentation can be attached to anything. Here we are showing a User Story. But below the user story is the documentation subsystem. The font has adapted to the font of the user story, which suggests to the user that they should be relaxed about the documentation at this point.
Because the root of the documentation is a DocumentElement, which is a WorkItem, we’ve attached it to the user story.
What’s interesting about the system is that this DocumentElement which is the root of the documentation for this particular user story will also appear in the main documentation under the “User Stories” section.
So it’s still early. Font sizes are all wrong etc. But most of this is working, and you can download it from our site and hack away a bit. Let me know what you think.