I’m a big believer in the “write the story first” method of software engineering. Like “client-first development” or the increasingly popular “test-driven development,” “story-driven development” is about writing what we want from our software before we write the software. This is different from “spec-driven development” or even “design-driven development” in that I mean actually writing the equivalent of one or more MSDN Magazine articles that you’d like to publish when your product is complete. I can’t tell you how many issues I’m able to work through using this technique and it’s highly recommended if you think in prose. Of course, as the product evolves, so do the articles until the perfect storm happens when the product matches the article and vice versa (modulo bugs, this typically indicates beta 1).
Today, after 5 months of marination, I awoke with the “Intro to Our Stuff” article in my head and I’ve started outlining it. This one is really “Intro to Our Stuff for Developers” piece, which corresponding “Intro to Our Stuff for IT Pros” and “Intro to Our Stuff for Business Analysts” pieces that needs to happen, too.