December 30, 2011

...Learn TDD with Codemanship

Why Evidence And Reason Haven't Changed Software Development

As 2012 approaches, my mind lingers on matters of faith. More particularly, our limitless capacity for believing the impossible, even in the face of overwhelming evidence that what we believe isn't true.

A classic case study in hypercredulity is that of self-proclaimed UFO contactee Billy Meier. Billy was a Swiss farmer who, in the 1970's, came forward with tall tales about visits from beautiful - and suspiciously Swedish-looking - aliens who took him into their spacecraft and whisked him away for tours of the universe (and, eventually, the distant past).

Meier claimed the visitors came from the Pleiades (astronomers may know it as Messier object M45), and he supported his stories with a series of very spurious - and really rather comical - still photographs and home movies.

Putting aside the fact that the Pleiades star cluster is dated by astronomers as being between 75 and 150 milions years old - mere newborns compared to our Sun - and that it's very unlikely such an advanced technological civilisation could have emerged in so short a time, Meiers physical evidence has been roundly debunked with little effort.

Photos of Pleiadian visitors have been positively identified as stills from Meier's favourite TV show, Rowan & Martin's Laugh-in (and, yes, I too can believe that Goldie Hawn was sent from heaven, but certainly not from the Pleiades.) Photos of dinosaurs allegedly taken in Earth's prehistoric past (as well as dinosaurs photographed on other prehistoric planets - yes, his claims really were that naive) have also been positively identified as illustrations from a children's book.

His flying saucer stills and movies not only look laughably fake, but have been very accurately reproduced by amateurs with no model-making or special effects experience using materials that were readily available to Meier. One especially keen debunker even took the trouble to perform his recreations using only one arm, as Meier must have done.

Meier's own ex-wife has denounced him as a fraud. And the list continues, piling up a mountain of evidence that the Billy Meier UFO contact case is a hoax - and not even a very good one.

And yet, millions still believe every word of it. You can point them directly to the evidence of a hoax, and they'll believe his story even more. The more they see that contradicts his claims, it seems, the more fervently they believe them.

Faith is like one of those knots that, the more you struggle to get free, the tighter the knot becomes. Thousands of years of organised religion have conditioned many people to see faith - unquestioning belief without evidence (or even in the face of contradictory evidence) - as a virtue. When people can view reality through a lense that tells them that when the facts contradict the belief, they should believe it even harder, we get ourselves into all sorts of pickles.

It's as though we have some special compartment inside our brains that's insulated from things like reality and logic, where we can ring-fence off certain cherished beliefs so that the real world can't get at them. One wonders whether chimpanzees have a similar ability.

And, like it or not, I have to remind myself that:

a. I have one of these compartments, and should therefore be more mindful about which of my beliefs enjoy this special protection, and...

b. There are things people believe about software development that have obviously somehow ended up in their reality-proof mental "panic room", that are impervious to evidence or reason

For example, the whole Mythical Man-Month thing. We have a pretty overwhelming body of evidence now that adding more developers to a team won't produce the software any faster. And yet managers still have this knee-jerk reaction when the schedule's slipping to hire more devs. I've had this discussion with managers many times, presenting the evidence and reasoning about the causes logically and dispassionately. But usually to no avail. Most managers believe that a bigger team will get more done, and the more that belief is undermined, the harder they cling to it. So much so that, after adding a few more developers makes the situation worse, their solution is to hire even more. And then more again, until we've got a team of 100 developers tripping over each other's feet and struggling to produce the useful output of a team of 6.

Earlier this month, I posted a link to the proceedings of a DoD workshop on "software engineering" from the late 1960's, in which many of the issues we face today were discussed, and solutions proposed that bear an uncanny resemblence to what experts recommend today. In the intervening 43 years, little has changed except the scale of the problems. If small and frequent releases, close customer collaboration or test automation was considered advisable then, it's 100-1,000 times as advisable now. And yet, as an industry, we still resist, clinging on to the same old misconceptions that were tripping teams up since the dawn of modern computing, and in the face of a large body of evidence and experience that's grown in the meantime.

To me, it's surely not that hard. Just as I can look at Billy Meier's photos and see them as obvious and derisary fakes, I can see so very clearly the handful of genuinely simple things software teams could literally just decide to get right that would boost their chances of success enormously.

But I have to accept that there are people who look at what I look at, and just don't see it. They can't. It's like trying to make someone to see the tiger in a Magic Eye picture. There's a part of their brain that won't allow it, and my well-meaning attempts to penetrate their Fortress of Woo and ground projects in reality will more often than not just make them believe what they believe even more.

(And, no, the world very probably isn't going to end next December. In case you were wondering.)

Posted 9 years, 3 months ago on December 30, 2011