Thursday, November 20, 2003
Try Not To Be A Cargo Cultist
Ned references a good article by Steve McConnell on Cargo Cult Software Engineering. The article includes a Richard Feynman quote about Cargo Cults (Feynman's entire speech can be found here).
The Cargo Cult is an extreme example of Post Hoc fallacy (A occurs before B, therefore A is the cause of B). It's easy to laugh at the Cargo Cultists since we know what they're trying to do is ridiculous and doomed to failure. But not so fast. It's easy to fall into the Post Hoc trap without realizing it: "I disabled this setting, the problem went away. Therefore the setting caused the problem" Software is incapable of magic but the complexity sometimes leads us to superstitions about cause and effect. For me, it's disturbing when a bug goes dormant. In some cases we may discover later on that a related bug fix solved the problem but often it's still there because we haven't developed a full understanding of its true cause.
The Cargo Cult is an extreme example of Post Hoc fallacy (A occurs before B, therefore A is the cause of B). It's easy to laugh at the Cargo Cultists since we know what they're trying to do is ridiculous and doomed to failure. But not so fast. It's easy to fall into the Post Hoc trap without realizing it: "I disabled this setting, the problem went away. Therefore the setting caused the problem" Software is incapable of magic but the complexity sometimes leads us to superstitions about cause and effect. For me, it's disturbing when a bug goes dormant. In some cases we may discover later on that a related bug fix solved the problem but often it's still there because we haven't developed a full understanding of its true cause.
RSS 0.92 Feed