Death to Specs
Jul. 30th, 2003 06:43 pmAll right, I've had it. If I hear one more comment along the lines of, "Oh, but of course that feature is in the spec! It's implied by these three words here on page 12!", I shall lose my cool entirely and explode into little ranty programmer bits all over the place.
It isn't even that the people here are particularly bad at writing specs. The problem is that it isn't possible to accurately, completely and clearly describe a massively complex, user-interactive system with about eight hundred features, that doesn't exist yet. Both the design and implementation sides of the spec wind up making assumptions, and those assumptions frequently don't match. So we are finding ourselves at the end of the process, with the management-level designers finally trying the system out, and pointing out all the ways in which What We Built isn't exactly What They Thought They Were Asking For.
As soon as the current release cycle ends, we are going to have a long chat about processes. If we're going to be developing something this complex, there's just no substitute for an iterative process, with the designers working with the whole thing as it's being developed and finding the assumption mismatches (and just plain bad design ideas) quickly...
Somewhere, I have a button that says (more or less): "Building a system that conforms to the spec is easy. Writing a spec that clearly describes what you want is impossible." Truer words have ne'er been spake...
(no subject)
Date: 2003-07-30 05:31 pm (UTC)Joel On Software - Painless Functional Specifications
Now maybe it's time to make your boss/coworkers read it?
On a related front, my advisor just came up with a nifty observation about how specs, prototypes, and coders interact, but we want to publish it first, so maybe I'll just share it with you in confidence at some point.
TMH
(no subject)
Date: 2003-07-31 08:58 am (UTC)(no subject)
Date: 2003-08-01 08:16 pm (UTC)course, part of the process is to make sure the spec is "good", and that means sending it back if it it's not clear.
as for features, if there isn't a bullet item for that thing, it doesn't exist. boom. implied? screw that. hah.