Tuesday 14 December 2010

Sour Grapes

People who follow my blog may already know that I have an interest in psychology and how it can impact our thinking in relation to testing. Previously I have written articles on emotions , feelings and confirmation bias. I intend within this article to look at Cognitive Dissonance and how much of a help or a hindrance it can be for a tester.

There have been many studies on Cognitive Dissonance and if it really does exist however it would be best to describe what it is first. Wikipedia describes in it very simple terms:

Cognitive dissonance is an uncomfortable feeling caused by holding conflicting ideas simultaneously.

(http://en.wikipedia.org/wiki/Cognitive_dissonance)

The history of Cognitive Dissonance is accredited to Aesop’s tale of the Fox and the Grapes where the fox who wants to eat the grapes cannot reach them and as such to remedy the conflict that he really does want the grapes decides that the grapes are either not ripe or too sour, hence the title of this blog.

My thoughts on this conflict of beliefs or opinions and how we adjust to resolve the conflict is something that I feel could benefit testers especially when carrying out exploratory testing.

As testers I think it is important we recognise when we are experiencing Cognitive Dissonance and learn to ask questions before we make a decision to resolve the conflict. The problem with experiencing cognitive dissonance is that it is very easy to change our opinion and belief and suddenly we are drawn into the trap of confirmation bias.

As humans we do not like the feeling of conflict within our minds and we try to make a decision to resolve this conflict. Once we have made that decision we will try to justify the reasoning for making the choice we did.

For example if you had two areas to test and each area had the same level of important and you choose area A instead of B. You will now subconsciously favour choice A more than choice B. Now if someone comes up to you and says Area B is more important you have a conflict and your mind needs to give reasons as to why you choose A. You may make statements such as well at least Area A has been tested, it was important for me to test it. You will try to justify the reasoning for making what appears in your mind is the wrong choice.

When testing if we get two conflicting oracles and you need to make a decision on what is correct or the product owner needs to make a decision, cognitive dissonance could come into play. A decision could be made which is wrong. Only the problem now comes at a later date when you need to justify why you made that decision you will change your opinion or belief to make sure that the decision you made was the correct one.

It can become worse if you use a rating system to rate identical items. Imagine you are in a team and the team is given the task to rate features to be tested or developed. These ratings are then used to determine the order in which features for the product are developed. You then make a choice to test/develop your most highly rated feature, at a later date you get to rate the list again the item that you rated as next best has suddenly become of low importance even though it has the same value as the previous highly rated item. Making a choice after rating affects your value/belief/opinion of the item of same identical value and you start to score it lower to stop your uneasy feeling or cognitive dissonance. Project manager and team leads need to be aware of this since something of high importance could be downgraded by a team because of the issues of cognitive dissonance.

So how else can this affect testing?

I believe it can actually harm what we are testing. If the belief we have for the software we are testing in what it should be doing contradicts what it is doing and we adjust the conflict to justify what the software is doing there is a danger we could miss an important bug.

Further reading:
http://tip.psychology.org/festinge.html
http://www.colorado.edu/communication/meta-discourses/Theory/dissonance/
http://arstechnica.com/science/news/2010/12/this-is-your-brain-undergoing-cognitive-dissonance.ars

___________________________________________________________________________________

This is going to be my last post before the holiday season so I would like to say to all readers old and new have a happy holiday and look forward to writing again in the New Year.

2 comments:

  1. Hi John,

    Interesting!

    I'm also very interested in aspects around our thinking processes that can lead to bias in our decision making.

    One aspect that could be related to dissonance is the availability heuristic. Once you've decided between item A & B as being most important you may favour one (or let the favoured one influence future decisions) because that is the one you've been working with - it's a thinking shortcut (that may or may not be obvious/apparent to us). When we're not aware of it then it can be a /potential/ problem.

    Of course, all parts of the project can be affected by these cognitive processes. I wonder is it mainly testers that are asking these questions and highlighting these problems first?

    ReplyDelete
  2. Thank you for your comments Simon.

    I also have an interest in how we think and what effect it has on our decisions when testing software.

    IMO the whole of Software Development is a dynamic thinking process and the more I research into how our thinking consciously and subconsciously affects a software project the more I see Software Development as a human driven psychological minefield.

    There are lots of studies and information with regards to software and the 'hard' sciences (physics, mathematics, computing etc.. However I find very little on the human 'soft' sciences psychology, sociology etc.

    To answer your question about is it testers mainly answering these questions. My thoughts are that as testers we become a questioning heuristic for the rest of the project team which is a good thing.

    Should other members of the project team be aware of these problems - of course they should - I refer all the development teams I work with to read my blog and question their beliefs and opinions in the context of the project.

    ReplyDelete