views:

59

answers:

3

What examples do you have when cognitive Bias affected software development? List of biases: http://en.wikipedia.org/wiki/List_of_cognitive_biases

+1  A: 

Good question!

I think if you work in the field long enough you'll see them all. I have sadly had experience with a few of these. One major bias was encountered when I had made a case for a new product to be developed. It had the support of all of the stake-holders individually except for a single high ranking individual who did not understand the system as described, and because of his aversion to something he didn't understand (kind of an inverse "Mere exposure effect"), his mere disagreement was seen by a couple of others as a means to gain favour with their boss, and the rest of the team followed suit (having previously told me they supported the idea), simply because they didn't want to be seen as being in disagreement with the boss and his "yes men". That's your basic "bandwagon effect" bias right there.

The sad reality is that the decision cost the company in terms of lost advantage when they were too slow to take the initiative early, resulting in a loss of business and the company being seen to be simply playing catchup with the competition from then on. I knew we needed the product, but had no idea so much might be riding on it, and in hindsight I might have applied more pressure or found another way to try and win the boss over.

The same effects have seen inappropriate projects spring up, and good projects canned on almost a whim. Yes, there can be other issues such as marketing, financial, and scheduling pressures also, and yet this "bandwagon effect" seems too often to be peer-pressure driven issue in some respects, but I'm not enough the psychologist to explain that with any real certainty.

S.Robins
+1  A: 
  • Buzzword hype is an example of herd behaviour
  • Not Invented Here - has this expression come from cognitive science to programming, or the other way round?
  • Language fanboyism is an example of Confirmation bias and a form of Halo effect
  • Project plans are primate examples of the Planning fallacy and often based on Wishful thinking as well
  • Post-purchase rationalization for expensive but useless tools
Michael Borgwardt
+3  A: 

"Premature optimization" and its rejection are both examples of the bandwagon effert.

"Confirmation bias" is a big problem when troubleshooting: you have a preconceived notion of what your code should do, and when the outcome isn't whta you expect it becomes hard to see where your assumptions are misplaced. Running your code in a visual debugger can help break this.

"Post-purchase rationalization" also affects non-monetary choices made, if there is an investment. E.g. after learning a programming language, the choice for that language will be rationalized, even (especially) when the language and its tools are free.

"Optimism bias" and "Ostrich behavior" are closely related to the "Planning fallacy" and need no further explanation in relation to software development.

MSalters
+1: Great post. Thanks
Jim G.

related questions