Monday, October 15, 2007

Obey Murphy - It's the Law!

[image removed]

For quite some time, I've taken great interest in those famous adages, whose name is associated with a person's name, and ends with the word "Law".
I've decided to take a closer look at some of them. For each such adage, I'll try to locate it's source, background, give a general interpretation and see how holds up to reality.
  1. Name: Moore's Law.
    The adage: "The number of transistors on an integrated circuit will double itself approximately every 24 months."
  2. The person: Gordon E. Moore, an electrical engineer, one of Intel's founders.
    Background: Moore tried predicting the direction and complexity of ICs (integrated circuits) in 1965.
    General interpretation: Technology's capabilities will double itself every 2 years.
    Reality: the curve of technologies leaps and bounds is much steeper than 24 months. As can be seen in this article, it's closer to every 18 months.
    Also, it tends to be a self-fulfilling prophecy, as hardware manufacturers hold back advances to obey the law (and how stupid is that?).
    Recommended reading: Intel's page, with Gordon Moore's original graph, in his handwriting.

  3. Name: Murphy's Law.
    The adage: "Anything that can go wrong, will go wrong (and with the worst consequences possible)".
    The person: much controversy about the identity of the real Murphy, if there ever was one. Supposedly, the comment was made by Edward Murphy, an Air Force engineer at Edwards AFB (read more here).
    Background: during one of the speed tests at Edwards AFB, one of Murphy's engineers has put all the measurement devices on a rig backwards, getting a frustrated Murphy to utter his famous adage.
    General interpretation: pretty much self explanatory - a very pessimistic outlook at life, that rarely disappoint.
    Reality: my take on pessimism is that when a pessimist is surprised by something, it's always a good surprise. When dealing with complex projects and undertakings, I'd rather be a pessimist than an idiot.
    Recommended reading: A History of Murphy's Law, by Nick T Spark.
  4. Name: Benford's Law of controversy (NOT to be confused with the statistics-related Benford's Law).
    The adage: "Passion is inversely proportional to the amount of real information available."
    The person: Physicist and novelist Gregory Benford.
    Background: quoted from one of his sci-fi novels, Timescape.
    General interpretation: when an argument takes place, people who are the most vociferous, are the least knowledgeable.
    Or in plain English: the less a person knows, the louder he shouts.
    Reality: there's just no arguing with zealots. And for that matter, with idiots.
    Corollary: avoid religious debates like the plague.
    My corollary: when someone tells you to do something "because I told you so", don't waste your breath arguing your point. You can be 100% right, but at this point the argument crossed the boundaries of logic into the uncharted territories of emotion. Just do it and in the immortal words of Mr. T, pity the fool. Also, make sure you document the incident well, so you can have your "I told you so" moment in the future :).
  5. Name: Goodwin's Law.
    The adage: "As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one."
    The person: Mike Goodwin, an attorney and author (currently counseling the Wikipedia foundation).
    Background: An observation Goodwin made as far back as 1990.
    General interpretation: essentially, the longer and more involved an online argument (comments, talkbacks) gets, the higher the chance one of the sides would compare the other to a Nazi. see Benford's Law above, to understand how any argument can deteriorate into exaggeration and zealotry.
    Reality: oh yeah, we've all seen those long threads of comments that at one point deteriorate into a flame war. Nazis being the ultimate evil this world has seen (so far), they are easy to compare someone to.
  6. Name: Pareto Principle ("the 80/20 rule") for Software Development.
    The adage: "For every software, 80% of the users use 20% of the features".
    The person: Business management thinker Joseph M. Juran suggested the principle and named it after Italian economist Vilfredo Pareto.
    Background: Pareto observed that 80% of income in Italy went to 20% of the population.
    General interpretation: the 80/20 rule has been used and abused by many people in many disciplines. In software development, it's usually taken to show that most people use a small subgroup of features - therefore development should focus on maintaining those, rather than busy itself adding expensive, but ultimately useless features.
    Reality: this is an impossible to prove law, that tries to put life into numbers. Good for statisticians, politicians and product mangers, bad for the rest of humanity. In my experience this is pure BS. 80% of your users may care about 20% of your features, but not with the same intensity and not the same 20%. Your biggest customer may actually care very much about a feature you're about to discard, rendering the whole statistical game moot.
Well, that's it for now. I have several more of these, but I didn't want the post to be too long. Comments are welcome.

Update: look for the second part of this post - Watch out for that razor!


Anonymous said...

Always wondered what the difference is (if any) between the following:
- a law
- a theory
- a postulate
- a lemma
- an axiom
- a conjecture
- a rule
- a principal

Seems mathematicians and scientists throw them around with reckless abandon, but alas they probably know what they're doing.

Traveling Tech Guy said...

I'll try to answer the best I can (based on my Mathematics degree and Google dictionary):
1. A law - a rule - not necessarily mathematically sound, just a common concept.
2. A theory - a tentative hypothesis about a real world behavior. Can proved or disproved.
3. A postulate - anything assumed or taken for granted. See Law.
4. An axiom - a fact that is believed to be beyond the need of proving. Is serves as a basis for theories.
5. Lemma - while proving a sentence or a theory, a Lemma is a milestone: a proof of a segment of the big picture. Once proven, a Lemma can be used as a fact while proving the whole picture.