Search This Blog

Monday, 19 August 2013

Schema Karma

There are some bright kids in IT, I'll grant you; but it sometimes seems to me that they don't and can't have the perspective that old timers like Brookesy, Gatesy and the rest of us would have for spotting likely problems in a major software development. I'd hardly heard that BBC pundit project explained before I was thinking: 'schema!'.

The great thing... the really great thing in fact... about the Rollodex system we'd implemented at the BBC for managing the Radio 4 pundits was its schema. Codd laughed when I described it (I had that sabbatical at the IBM research labs, remember), but what did he know? That schema was gloriously, fabulously, over-complete: the thing was hardly normalised at all. Take that business at The Shard the other day.  'Unauthorised climbing of' would appear in the Rollodex for The Shard as it did in the Rollodexes for thousands of other newsworthy buildings. Thousands of times a junior schema clerk would have written those words, but what of it? It was a labour well spent if it allowed the right pundit to be recruited at virtually no notice. And I can just imagine some young turk of a schema architect sketching out the designs for the new system, probably something in fifth-normal form, or even some higher level of abstraction, without realising for a moment that the over-complete nature of what went before it was the essence  of what was needed. That's why the thing worked, dammit! (Thumps desk with side of fist for emphasis.) How else did we run the whole thing with just a few dozen schema clerks and a Grade 3 admin assistant?

Anyway, it all came out (in the wash) when the project came before the Public Accounts Committee. I'd been asked to attend as an advisor, and could have predicted most of what emerged. The schema business, for instance. Aside from the schoolboy error of normalising (and to quite high forms at that), they'd overlooked the requirement for nesting! The data architect admitted that the first inkling he'd had that nesting would need to be supported was when listing to 'Today' on the drive to work, and hearing a commentator praising the trials of the new pundit system. A pundit of pundits! Well, it was the 'set of all sets' problem over again, that had given poor Bertrand Russell a nervous breakdown when he and Whitehead were sweating over Principia Mathematica. Of course, the entire schema had to be refactored. The so-called data architect, when grilled about the normalisation error by Margaret, confessed that they'd 'done it to save money on data capture'. Ha!

No comments:

Post a Comment

The words on this page are those of Professor Essay den Sushing. Google accepts no liability whatever for the consequences of those words however so caused.