A colleague sent me a section of a Product Requirements Specification
document for comment.
The section number was 2.2.1.5.24
I will admit I got as far as this number in his email and then got sucked
into a fugue of thoughts about it's implications.
But let's just look at that amazing number for awhile and soak it up a little.
Nested 5 deep.
In a requirements document.
24 items per level nested 5 deep would be enough to index 7962624 requirements.
Then consider the tree structure of it. Is the information really tree
structured? Tree structure implicitly suggests the links and dependencies are
hierarchical too.
ie. Could one take the subtree rooted at 2.2.1 and from those requirements
build a subsystem that could be deployed seperately and interoperate with 2.1
and 2.2.2 and 2.2.3 and 2.3 and 3 as required, but also with as yet unspecified
alternatives?
And if we can't, aren't we starting to build the Big Ball of Mud right at the
requirements capture point.
http://www.joeyoder.com/papers/patterns/BBOM/mud.html
But then I'm the sort of person who stands before these new Toshiba 4511
e-Studio photocopier / printer / stapler / hole puncher / duplexer / scanning
monsters and justs stares at them.
http://www.estudio.com.sg/product/prod_detail.asp?pid=308
They are so mind boggling wildly complex!
Just imagine reducing one of those babies to component bits & pieces on your
garage floor and reassembling it. And I don't mean sealed modular components, I
mean breaking the seals and getting down to the primary components.
I stand there and stare and stare and stare at these things thinking what a
Good Representation they are of all that is wrong with our civilization.
Somehow, in my life time, we've gone from "Hey, paper is a really simple,
robust, portable medium for writing stuff on with a bit lead wrapped in wood"
to the Toshiba e-Studio 4511 monsters that have greater complexity than the
cars had when I was born.
All in the name of making things simpler.
And I'm not an old grey beard either!
Somewhere, right now, is a very bright guy writing the PRS for the next
generation of Photocopier printers.
We have to find him and stop him.
Calm him down and gently explain to him that he has run with an Idea, a very
Good Idea (paper) and taken it way passed it's shelf life.
It's time to go back to why we are doing this. Portable visualization of
information, and ask whether the same level of engineering can construct far
simpler and more effective solutions.
The answer is Obviously yes.
But the reply will be, we don't do that. We make photocopiers.
As I say, it represents what is wrong with our civilization.
Anyway, back to my colleagues PRS. It's for a radio Base Station. What
does a Base Station do?
Facilitate data transmission between portable units.
Somehow I can't believe anything that has a number like 2.2.1.5.24 in it's PRS
is the simplest, most robust and effective data transmission facilitator.
But then, we don't just make base stations, we make Public Mobile Radio
systems sold into enduring market sectors that are stuffed full of legacy
arcane signalling and communication protocols operating in a highly
regulated arena.
And we make really Good Ones.
Sigh!
As I say, the number 2.2.1.5.24 partly reflects reflects the danger of a
Big Ball of Mud seeding itself way back in the requirements gathering
process.
Partly it reflects the tendency of large groups of bright and motivated
people to run with a Good Idea way past the point where it is a Good Idea.
But by that stage the social, market, economic and legislative forces
have so locked things down... they can no longer stop.
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@...
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
From this principle, all of life and physics may be deduced.