Cargo Culting

by Michael McClenaghan 2005-05-09

I've never actually blogged on the topic of Cargo Cults, but I refer to the concept at work quite often.  Steve McConnell wrote an interesting essay for IEEE Software magazine on the topic.

IEEE Software, From the Editor

Cargo Cult Software Engineering
In the South Seas there is a cargo cult of people. During the war they saw airplanes with lots of good materials, and they want the same thing to happen now. So they've arranged to make things like runways, to put fires along the sides of the runways, to make a wooden hut for a man to sit in, with two wooden pieces on his head for headphones and bars of bamboo sticking out like antennas'he's the controller'and they wait for the airplanes to land. They're doing everything right. The form is perfect. It looks exactly the way it looked before. But it doesn't work. No airplanes land. So I call these things cargo cult science, because they follow all the apparent precepts and forms of scientific investigation, but they're missing something essential, because the planes don't land.

As well, there are some interesting articles on it at the c2.com wiki.

http://c2.com/cgi/wiki'DiscussionOfCargoCult

"The classic cargo cults arose after World War II. During the war, the allies set up bases on a lot of small Pacific islands. Islanders got access to lots of goodies (like Coca-Cola and Spam) as a result. When the war was over, the GIs pulled out, at which time all the goodies dried up. That's when the cargo cults sprung up, doing things like building landing strips in hopes of attracting the giant birds who brought all the goodies.

"There's an article in a 1970s issue of National Geographic describing one such cargo cult. Members paint the word "USA" on their bare chests, and march around with sticks carved in the shape of rifles.

"Definitely a metaphor for a lot of things in the computer world."

In light of the above, I think that the term "Cargo Cult" is best used to refer to: the idea of copying superficial aspects of something while completely misunderstanding or ignoring the underlying principle that makes the original (and is hoped to make the copy) work.

The basic philosophy is that if you're simply trying to emulate the result of something without understanding how it actually works, you're probably setting yourself up for failure.  Or more simply, there's no such thing as a shortcut.

blog comments powered by Disqus