Friday, June 08, 2007

Writing can save your teeth!

I was going on a writing-fest today. This was only half intentional. Here's what happened...

I was going to a whole friggen big list of sites to see what they were about and how their user communities behaved and what features they had that we want to steal emulate and I found all these cool topics that I wanted to chime in on.

But the minute that I wanted to dash off a 5 minute note I started thinking about the topic, and that lead me to Wikipedia to research the topic, and before I know it about 2 hours has gone by and I've got about 6 paragraphs of research with friggen footnotes and crap all ready to post to some forum that I've only ever been to once and will probably never visit again except that now I'm getting email responding to my post saying, "That's exactly what I think" or "You're full of crap HotKatie80".

... um... sorry, that was a different forum.

Anyway, what I started to notice was that as I wrote the posts my ideas kept changing. I'd write, think about what I wrote, revise what I wrote, read what I wrote, and that would change what I thought, and...

Yeah... you can see where this is headed.

So now I'm thinking (as I'm writing this) that this might be a really good explanation for why spec reviews are so important.

What!?!?!

Okay, bear with me...

The thing is that a written spec can't "wave its hands" at a problem. You really have to think through how the thing will work and make it all simultaneously consistent. Since a written spec is random access (in a way that a conversation is not) you can compare one section to another easily to find "bugs". So the act of writing the spec is the important thing. And it can't be just for yourself, but for public consumption (or as public as your spec can be which is probably a spec review).

Talk is a high bandwidth but essentially serial access connection with another person's brain. But the written word can be jumped around in really at random. This allows you to put facts side-by-side easily and compare them to see what likely outcomes or problems might arise.

For example, when I was a kid if I had written down that I was going to take my friend's soapbox racer to the top of our (very) steep hill and ride down to stop in the cul-de-sac with no brakes and no plan for how to stop at the end I can tell you that it would have seemed just as dumb as it does now when I stare at it in print.

That's because I can put "steep", "no brakes", "stop", and "cul-de-sac" all side-by-side in a way that just wasn't possible when we talked over this "plan" for the half-hour it took Jon & Dave & my brother & I to put it together and push the soapbox racer sans brakes to the top of the (very) steep hill.

Hell, we even had a "spec review" before we went forward.

Bruce:
"Okay, I'll jump in and you push me off and then I'll drive down to the bottom of the hill and stop in the cul-de-sac."

Dave:
"Sounds good."

Jon:
"Go for it."

My Brother:
"You're an idiot... er... Yeah, go for it!"


If only I'd written it down first.

I might not have done it (okay, it's still a toss up).

I might still have most of my front tooth.