I simply cannot imagine writing software without a spec. No matter how sketchy or high level it is, spec is important to explain to the clueless programmers on what are the functionalities of the program.
But the problem with spec is that it is somewhat a second class citizen in the whole software development cycle; when the development picks up the steam, it is neglected. But when dispute arises, the developers and testers and sales will scramble to find the spec to justify their grounds.
Either one or more scenarios will happen:
- The spec cannot be recovered, no one knows where is the spec
- Different versions of the spec emerge from different sources; it takes great difficulties to find out which version is the latest version, or whether there is a latest version available.
- The spec is incomplete, some parts of the documents it refers to are missing.
So spec management is important, and it's equally important that everyone has only One Single Source of Spec.
How do you manage your specs? I tried to get everyone to use Google Docs but everyone objected. Everyone is just too attached and enamored with Microsoft Word, which is-- in their opinion-- very easy to use, very easy to insert image, very easy to type equation and whatnot.
How to convince them that MS Word is just terrible for sharing?