specs pretend to be complete

There’s something about a functional spec that makes it seem complete. Even when it is clearly marked as being a “Draft”, or when it has “TBD” sections; these just feel like minor blips on the way to completeness. A spec — even a badly written one — has an air of authority.

But express exactly the same information as a set of examples, or as a set of rows in Fit tables, and something magical happens. Suddenly that same information is obviously incomplete, demonstrably sporadic. And suddenly it’s easier to imagine how the solution might be developed incrementally, and that some of the examples could have lower priority than others. Change also becomes less of an issue, because a set of examples doesn’t have that air of being a work of art.

Get past the fear of incompleteness and a whole new world of possibilities opens up.