Why do we make mistakes? Cognitive biases and software defects. – 5412

• What causes a thought to end up as a software defect?
• Can we spot patterns in those thoughts?
• Can we prevent them? If so, how?
One of the very first lessons we learn in software testing is that a software defect is the result of an erroneous thought. If we wish to reduce these defects by understanding how our thought processes leads to their creation, where should we look?

Cognitive science.

For the past few years, areas of cognitive sciences, such as psychology, artificial intelligence and neuroscience, have been making remarkable progress towards understanding how and why the human mind makes errors. Cognitive sciences have begun to tame these errors, classifying them into distinct cognitive biases and exploring their causes. Crucially for us testers, cognitive sciences have begun to explore mitigation techniques, offering us a tantalising alternative to our present approach to software quality. I believe that it is time to take learnings from the cognitive sciences and apply them to testing.

In this practical, interactive session we participate in some experiments and case studies, through which we see our own vulnerability to some common biases, such as Bias Blind Spot, Confirmation Bias and Hindsight Bias. We explore how these biases can adversely affect our performance on projects. We also examine how these cognitive biases may have formed as a result of adaptive strategies to evolutionary pressures. Finally, we discover how we can use specific mitigation techniques to reduce our vulnerability to some aspects these biases, together with the costs and consequences of doing so.