Wednesday, April 8, 2009

The Catch-22 of functional specifications

Running away from writing functional specifications is a common thing. We prefer to talk about them. When someone joins the team, people from various areas of the project are asked to have a chat with the newcomer and provide her some insights.

However, these discussions have a tendency to repeat themselves in time and also change in a few ways, leading to chaos.

Writing functional specifications helps. Joel Spolsky shows how in a 4-part series, which may look daunting to read due to the length, but it's basically a 30 minutes lecture and it's fun and useful.

Why don't people write specifications, even for a small tool they built, that can be reused and that can clearly state what's going on? The invoked reason is always the same: no time!

This is the Catch-22 of functional specifications: people don't have time to write/maintain specifications, because they have to spend time explaining to their colleagues how things work. And they do this, because there are no up to date specifications.

1 comment:

Anonymous said...

Great post and I mostly agree with your points. However, I think there are lots of situations where writing functional specs is the wrong thing to do.

If you're interested, please review my post and leave a comment:

I'm sure we'll have an interesting conversation.