Unfunctional Specifications

November 30, 2006

Are you ever astounded at the sheer amount of money wasted in IT? It grinds me to the core when I see inefficient processes, documentation for documentation’s sake, and mindblowingly large functional specifications.

They suck your life (and pockets) dry.

How many times have you seen functional specs containing literally thousands of nit-picky functional requirements that go something like this:

FR-GG-FASI93789353 : When user clicks “close” button, window will close.

FR-GG-FASI93789354 : When user clicks “reset” button, form fields FF1 FF3 FF5 FF6 will clear

I have two major issues with this:

  • I feel sorry for the poor buggers that have to write this crap
  • No func spec in the world, no matter how good, will beat a series of annotated screenshots, or wireframe prototype, or HTML prototype, or a flash prototype

I’ve learnt the hard way over the years. Days and days of blood, sweat and tears producing beautiful looking func specs, only to see them shoved in the bottom drawer, and that become irrelevant anyway since as you build the systems, it’s only then you notice how they will “pull together”.

Don’t get me wrong, documentation is extremely important, but it should live and breathe as you build up your solution. Give the reader enough to understand what outcome is trying to be achieved, and give them pointers to the right places in the code. Don’t faff around with endless streams of meaninglessly numbered functional statements.  They don’t tell a story.  There is usually little context.

The winner above all winners is to simply sit alongside the business, day in and day out. Show them your stuff as you knock it up. Talk. Talk. Talk. Talk.

And talk some more.

“Oh, but we’ve got to do it to keep the auditors happy!”, says government department developer.

“Bollocks!”, that’s what I say. “Who’s money are you spending?”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: