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.
— Richard Feynman
Many of the problems shared by business management and software engineering I mentioned in the previous post stem from Cargo Cult Thinking. As mentioned by noted physicist Richard Feynman in his famous speech to CalTech students that even in these modern times, people resort to blindly following how other people do things in the hopes of reaping the same results.
Dr. Feynman used cargo cults to criticize how many scientists fail to follow the scientific method by merely going through the steps of experimentation but not making sure that their process is scientifically sound. The Halo Effect uses cargo cults in the same manner by exposing the mistakes made by best selling management books in their research. The book basically tells the reader to ignore all those pages detailing how the latter conducted its research because no matter how “rigorous” they were conducted, they were never sound to begin with i.e. there were critical flaws in their process from the start.
Cargo cult thinking in the field of software engineering doesn’t even bother with claiming to follow the scientific method. As Steve McConnell writes in his “From the Editor” article in IEEE Software, March/April 2000, some managers are deluded to think that simply following the culture of highly successful companies will result in radical improvements in productivity. On the smaller scale, many novice programmers (and sadly, software teams in general) are deluded to follow cargo cult programming practices without even knowing why they are used successfully by other coders in the first place.
In my opinion, cargo cult thinking isn’t that bad… if only one or two people are affected. As they usually fail in a spectacular fashion, they make the affected people think twice before doing something like that again. If an entire group, or worse, an entire company is blindly following cargo cult thinking… well… either you ramp up your risk management or you start making popcorn for the drama that will unfold. :D