One reason that software released into production has so many errors is that human psychology limits how effectively software developers can discover errors in their own code. Current research suggests that the human mind has a strong ability to overlook its own errors. Two natural biases which cause this condition are over-optimism and over-confidence. Research shows that when teachers ask their classes who will finish in the top half, around 80% of students expect to be above average. In addition to being over-optimistic by nature, research indicates humans are naturally over-confident as well. When people are asked to forecast of events they think are 98% likely to happen, these events come to pass only 60-70% of the time. Over-optimism and over-confidence stem in part from two deeper psychological biases: the illusion of control and the illusion of knowledge. The illusion of knowledge is the tendency for people to believe that the accuracy of their forecasts increases with more information. The illusion of control refers to the mind’s belief that it has influence over the outcome of uncontrollable events. Research shows people will pay more for a lottery ticket which contains numbers they choose rather than a random draw of numbers. People are also more likely to accept a bet on the toss of a coin before it has been tossed, rather than after it has been tossed and the outcome hidden. Given the nature of their work, software developers and software programmers suffer more from the illusion of knowledge and the illusion of control than most other professions, making them particularly subject to over-looking mistakes in their own code. Which is why software needs to be tested independently.
Put comment here: http://www.exampler.com/blog/2008/03/10/embedded-vs-independent-testers/
Needed graphs.
Bruce replies. The above link leads to a blog posting which ends “I encourage people not to make the assertion the post’s author does” so you should take it that Brian does not agree with me. He has created a well thought out and illustrated post of the issues he has with my conclusion that I would encourage readers to follow.
Posted by: Brian Marick | March 10, 2008 at 03:35 PM
I wonder if you would share the sources for your information? I am particularly interested in the research that you cite.
I also wondered if the definitions you state for illusion of knowledge and illusion of control are your own or from someone else. I had never heard of either before and wondered where I could learn more about the.
Posted by: Todd Wallentine | March 10, 2008 at 04:14 PM
Of course, I would be happy to share my sources. Although the illusion of knowledge and illusion of control have their foundation in academic psychological research, I found this in the literature about why financial investors don’t make better decisions. My modest contribution to the field is to apply it to programmers based on my own experience (which you may argue is a good example of the illusion of knowledge). Send me your email and I will send you the sources.
Posted by: Bruce Daley | March 10, 2008 at 04:47 PM