Remember all the fun we had when we carved out race cars for our Pinewood Derby? For those of you are were not apart of this great American Cub Scout culture, the pinewood derby is a racing event for Cub Scouts in the Boy Scouts of America. Cub Scouts, with the help of their parents, friends and kits, carve and build their own cars from wood. Cub Scouts usually start from pinewood derby kits containing a block of pine, plastic wheels and metal axles. These events are so popular, the pinewood derby was selected as part of “America’s 100 Best” in 2006 as “a celebrated rite of spring” by Reader’s Digest magazine.
Well, it so happens I was doing some research into rule complexity and what defines “complex” and “complexity” in rule-based systems, when I ran across an article on rules and the pinewood derby. Here is a few quotes from Rule complexity (Rules, Part 2), which I thought you might enjoy.
When creating complicated rule sets, people tend to create many rules are subjective or are difficult to enforce. How do the race inspectors examining wheels ensure that they weren’t lathed? Are they weighing each wheel? Visually, lathed wheels can appear to be completely stock. Some races have prohibitions on cars from previous years or on pre-cut cars. The intent is to keep kids from using last year’s car. I agree with the intentions — building the car is part of the fun. But who can tell for certain which cars are pre-cut or a re-paint of their older brother’s car? Rules like this should be presented as guidelines that should be followed instead of rules that should be enforced.
We see so many software vendors running to sell us their lastest rule-based framework, and the network and blogosphere is buzzing with rule discussions. So, keep this in mind, as our friend from the pinewood derby lamented:
The problem with trying to create a rule to cover every possible situation is that you can’t possibly think of every possible situation. […] — understand[s] that the rules can’t cover everything. The more complicated you make your rules, the more impossible they will be to enforce. You’ll introduce conflicts, ambiguities, and loopholes — […].
I realize a few of my colleagues (most one that are are selling rule-based systems) wish I would stop blogging and just dissappear into cyberspace without a trace left behind. They think I have lost my marbles because I cannot jump on the “hype up rules bandwagon!” To simply disappear into the ether would be the easy road to go, because for anyone who actually has worked in complex operational problems (not just selling software or “talking the talk”), they understand very quickly that, as our friend at the pineword derby so nicely put it, you can’t possibly think of every possible situation, rules cannot cover everything.