Tuesday, January 13, 2009

Specification Authoring Tool

Does anyone else out there find it annoying that there is not a good specification authoring application on the market? I'm looking for an application that allows one to author requirements specifications for anything from software to airplanes.

One would argue that Microsoft Word is the universal document authoring tool. Why would you want a different tool? For those that do development primarily on computers (software developers, electrical engineers, etc.), Word doesn't work very well. Some of its drawbacks:
* It has a binary file format. This doesn't play well with version control. The new XML file format is better, but its not text. It won't merge. Their diff support is also poor.
* Its styles are horrible. If you try to use them the way they are intended to be used, you get very frustrated.
* It has no document consistency checking. Its all Greek to the computer.
* It doesn't help you author specifications using your format.
* Anyone that has used Word with a file locking version control system knows that Word is broke. Word nicely doesn't inform you that the file you are editing is locked until AFTER you've made changes--ARGH!!!
* And finally, you cannot programmatically get data out of a word document!! The most important information about your product is stored in a format that allows you to do two things: Read it (including print, e-mail, etc), and Text search it (thanks to Google, who had to come along and make it practical). Why can't I generate manuals by pulling out features from specifications? Why can't I generate or configure parts of the product directly from the specifications?

Is it too much to ask for a tool that meets the above? The tool should also support:
* Outlines
* Tables
* Styles--done right
* Embedded images
* Ability to publish directly to HTML/PDF

All while storing the source in a plain text, human readable (not geek readable, like XML) file. I think most of us would drop Word in a heartbeat if such a tool came along.