Clear as glass

There is a brilliant poem by Rudyard Kipling called "I Keep Six Honest Serving Men..." (I'm assuming that it is out of copyright - if not I'll happily remove it) which was published in The Elephant's Child:

I Keep Six Honest Serving Men...

Rudyard Kipling

I KEEP six honest serving-men
(They taught me all I knew);
Their names are What and Why and When
And How and Where and Who.
I send them over land and sea,
I send them east and west;
But after they have worked for me,
I give them all a rest.

I let them rest from nine till five,
For I am busy then,
As well as breakfast, lunch, and tea,
For they are hungry men.
But different folk have different views;
I know a person small—
She keeps ten million serving-men,
Who get no rest at all!

She sends'em abroad on her own affairs,
From the second she opens her eyes—
One million Hows, two million Wheres,
And seven million Whys!

Ever since reading it to my kids I've thought it one of the best approaches to a programming problem. The splitting of a domain into:

  • What
  • Why
  • When
  • How
  • Where
  • Who

Just seems to work! It is usually printed out and above my desk wherever I'm working.

The reason I mention it is in terms of transparency. The UK Government is pushing a Transparency agenda (why) and I'm thinking about how best to visualise the data but I need to know the location of the area being investigated (where), what is being investigated and the time period for which the data is returned (when).

To an extent I'm not overly concerned with the how or the who excepting that I'll be parsing data in XML format which is provided by a cracking firm (more of which later).