Everyone thinks the detailed spec is a great idea, and it really is. There’s just two problems — no one wants to write them, and no one wants to read them.
Theoretically, a specification is a complete description of all thinking and discussion around a product or feature. It is supposed to be the archtypical “living document.” In reality, it is updated in fits and starts, and new thinking is not always captured or read when it is captured. Lastly, there is the document ownership issue. Since specs need to capture all dimensions of a product, accessibility, marketing, internationalization, etc all must be represented and these contributions only complicate the writing/reading process to an absurd degree.
Given the trouble with specs, perhaps it’s time to start thinking of ways to accomplish what specs accomplish in more organic ways. Extreme programming with its “war rooms”, IDEO with its “hot teams”, and agile with its “daily standups” are all means of opening channels for communication that were previously decided in spec reviews and recorded in specs. But what is really working?
Which process is working best for your team? Have you mastered the spec process, and if so, how?