Cognitive Biases in Software Engineering: A Systematic Mapping Study

One source of software project challenges and failures is the systematic errors introduced by human cognitive biases. Although extensively explored in cognitive psychology, investigations concerning cognitive biases have only recently gained popularity in software engineering research. This paper therefore systematically maps, aggregates and synthesizes the literature on cognitive biases in software engineering to generate a comprehensive body of knowledge, understand state-of-the-art research and provide guidelines for future research and practise. Focusing on bias antecedents, effects and mitigation techniques, we identified 65 articles (published between 1990 and 2016), which investigate 37 cognitive biases. Despite strong and increasing interest, the results reveal a scarcity of research on mitigation techniques and poor theoretical foundations in understanding and interpreting cognitive biases. Although bias-related research has generated many new insights in the software engineering community, specific bias mitigation techniques are still needed for software professionals to overcome the deleterious effects of cognitive biases on their work.

[1]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[2]  E. Glover DICTIONARY OF PSYCHOLOGY , 1959 .

[3]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[4]  Laura M. Leventhal,et al.  Analyses of factors related to positive test bias in software testing , 1994, Int. J. Hum. Comput. Stud..

[5]  William Samuelson,et al.  Status quo bias in decision making , 1988 .

[6]  Mark R. Leary,et al.  Hindsight Distortion and the 1980 Presidential Election , 1982 .

[7]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[8]  Ayse Basar Bener,et al.  Empirical analyses of the factors affecting confirmation bias and the effects of confirmation bias on software developer/tester performance , 2010, PROMISE '10.

[9]  Arthur S. Elstein,et al.  Cognitive processes and biases in medical decision making , 2000 .

[10]  Barry Shore Bias in the development and use of an expert system: implications for life cycle costs , 1996 .

[11]  J. Klayman,et al.  Confirmation, Disconfirmation, and Informa-tion in Hypothesis Testing , 1987 .

[12]  JørgensenMagne Identification of more risks can lead to increased over-optimism of and over-confidence in software development effort estimates , 2010 .

[13]  B. Newell Judgment Under Uncertainty , 2013 .

[14]  Antony Tang,et al.  Software designers, are you biased? , 2011, SHARK '11.

[15]  Harvey Maylor,et al.  Performers, trackers, lemmings and the lost: sustained false optimism in forecasting project outcomes—evidence from a quasi-experiment , 2011, IEEE Engineering Management Review.

[16]  Kjetil Moløkken-Østvold,et al.  Combining Estimates with Planning Poker--An Empirical Study , 2007, 2007 Australian Software Engineering Conference (ASWEC'07).

[17]  Helen Sharp,et al.  A systematic review of theory use in studies investigating the motivations of software engineers , 2009, TSEM.

[18]  Jeffrey Parsons,et al.  A Little Help can Be A Bad Thing: Anchoring and Adjustment in Adaptive Query Reuse , 2006, ICIS.

[19]  G. VandenBos APA dictionary of psychology , 2007 .

[20]  Ian J. Deary,et al.  What Intelligence Tests Miss: The Psychology of Rational Thought , 2010 .

[21]  Jacob Cohen,et al.  Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. , 1968 .

[22]  Pearl Brereton,et al.  Empirical evidence about the UML: a systematic literature review , 2011, Softw. Pract. Exp..

[23]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[24]  Philip Yaffe Is Design the Preeminent Protagonist in User Experience? , 2009, UBIQ.

[25]  R. Baron The cognitive perspective: a valuable tool for answering entrepreneurship's basic “why” questions , 2004 .

[26]  N. Kumar,et al.  Examining Communication Media Selection and Information Processing in Software Development Traceability: An Empirical Investigation , 2009, IEEE Transactions on Professional Communication.

[27]  Ayse Basar Bener,et al.  An analysis of the effects of company culture, education and experience on confirmation bias levels of software developers and testers , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[28]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[29]  M. El-Sabaawi Breakdown of Will , 2002 .

[30]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[31]  W. Bean Parkinson's Law, and Other Studies in Administration. , 1958 .

[32]  Tore Dybå,et al.  A Systematic Review of Theory Use in Software Engineering Experiments , 2007, IEEE Transactions on Software Engineering.

[33]  Antony Tang,et al.  Software architecture review by association , 2014, J. Syst. Softw..

[34]  Marco Aurélio Gerosa,et al.  Awareness Support in Distributed Software Development: A Systematic Review and Mapping of the Literature , 2013, Computer Supported Cooperative Work (CSCW).

[35]  Fabio Q. B. da Silva,et al.  Decision-Making in Software Project Management: A Qualitative Case Study of a Private Organization , 2016, 2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE).

[36]  Laura A. Granka The Politics of Search: A Decade Retrospective , 2010, Inf. Soc..

[37]  Jason E. Robbins,et al.  Software architecture critics in Argo , 1998, IUI '98.

[38]  L. Tribe,et al.  Confirmation bias , 2009 .

[39]  D. Altman,et al.  Statistical reviewing for medical journals. , 1998, Statistics in medicine.

[40]  Glenn J. Browne,et al.  Improving requirements elicitation: an empirical investigation of procedural prompts , 2007, Inf. Syst. J..

[41]  Phillip Tobias,et al.  Is Design the Preeminent Protagonist in User Experience? , 2009, Ubiquity.

[42]  Andrew P. Sage,et al.  Handbook of Systems Engineering and Management , 2011 .

[43]  Kees Dorst,et al.  Analysing design activity: new directions in protocol analysis , 1995 .

[44]  I. Janis Groupthink: Psychological Studies of Policy Decisions and Fiascoes , 1982 .

[45]  Magne Jørgensen,et al.  Software Effort Estimation: unstructured group discussion as a method to reduce individual biasis , 2003, PPIG.

[46]  Thomas Oberlechner Psychology of Judgment and Decision-Making , 2006 .

[47]  M. Azad,et al.  The role of human factors in expert systems design and acceptance , 1988 .

[48]  Paul Ralph,et al.  Possible core theories for software engineering , 2013, 2013 2nd SEMAT Workshop on a General Theory of Software Engineering (GTSE).

[49]  David Arnott,et al.  Cognitive biases and decision support systems development: a design science approach , 2006, Inf. Syst. J..

[50]  Izak Benbasat,et al.  The Relative Importance of Structural Constraints and Surface Semantics in Information Modeling , 1997, Inf. Syst..

[51]  E. Pronin Perception and misperception of bias in human judgment , 2007, Trends in Cognitive Sciences.

[52]  Timothy D. Wilson,et al.  Immune neglect: a source of durability bias in affective forecasting. , 1998, Journal of personality and social psychology.

[53]  Glen Whyte,et al.  The Effect of Multiple Anchors on Anchoring in Individual and Group Judgment , 1997 .

[54]  Ayse Basar Bener,et al.  Influence of confirmation biases of developers on software quality: an empirical study , 2012, Software Quality Journal.

[55]  M. Haselton,et al.  The Evolution of Cognitive Bias , 2015 .

[56]  Rüdiger F. Pohl,et al.  Suggestions and illusions , 2004 .

[57]  Nils Christian Haugen An empirical study of using planning poker for user story estimation , 2006, AGILE 2006 (AGILE'06).

[58]  宏隆 三井,et al.  Mere exposure effect研究の展望 , 1980 .

[59]  Radhika Jain,et al.  A cognitive perspective on pair programming , 2006, AMCIS.

[60]  C. Northcote Parkinson,et al.  Parkinson's Law or the Pursuit of Progress , 1958 .

[61]  E. Yechiam,et al.  Observing others’ behavior and risk taking in decisions from experience , 2008, Judgment and Decision Making.

[62]  C. Northcote Parkinson,et al.  Parkinson's Law and Other Studies in Administration , 1957 .

[63]  Barry G. Silverman,et al.  Critiquing Human Judgment Using Knowledge-Acquisition Systems , 1990, AI Mag..

[64]  A. Tversky,et al.  Judgment under Uncertainty: Heuristics and Biases , 1974, Science.

[65]  H. Arkes,et al.  The sunk cost and Concorde effects: Are humans less rational than lower animals? , 1999 .

[66]  R. Pohl Cognitive illusions : a handbook on fallacies and biases in thinking, judgement and memory , 2004 .

[67]  K. Charmaz,et al.  Constructing Grounded Theory , 2014 .

[68]  H Volk [Making better decisions]. , 1981, Die Quintessenz der Zahntechnik.

[69]  J. Kruger,et al.  Unskilled and unaware of it: how difficulties in recognizing one's own incompetence lead to inflated self-assessments. , 1999, Journal of personality and social psychology.

[70]  Benjamin Kuipers,et al.  A Description of Think Aloud Method and Protocol Analysis , 1993 .

[71]  Magne Jørgensen,et al.  Software Development Estimation Biases: The Role of Interdependence , 2012, IEEE Transactions on Software Engineering.

[72]  Webb Stacy,et al.  Cognitive bias in software engineering , 1995, CACM.

[73]  Hermano Perrelli de Moura,et al.  Towards a substantive theory of project decisions in software development project-based organizations: A cross-case analysis of IT organizations from Brazil and Portugal , 2015, CISTI 2015.

[74]  Nakornthip Prompoon,et al.  Forecasting software damage rate from cognitive bias in software requirements gathering and specification process , 2013, 2013 IEEE Third International Conference on Information Science and Technology (ICIST).

[75]  Radhika Jain,et al.  Using traceability to mitigate cognitive biases in software development , 2008, CACM.

[76]  Dag I. K. Sjøberg,et al.  Software Process Improvement and Human Judgement Heuristics , 2001, Scand. J. Inf. Syst..

[77]  Nava Pliskin,et al.  Explaining over-requirement in software development projects: An experimental investigation of behavioral effects , 2015 .

[78]  H. Pfister,et al.  The multiplicity of emotions: A framework of emotional functions in decision making , 2008, Judgment and Decision Making.

[79]  Paul Ralph,et al.  The two paradigms of software development research , 2018, Sci. Comput. Program..

[80]  Paul Ralph,et al.  Social theory for software engineering research , 2016, EASE.

[81]  Ian Watson,et al.  The client‐centred approach: expert system development , 1992 .

[82]  Magne Jørgensen,et al.  Group Processes in Software Effort Estimation , 2004, Empirical Software Engineering.

[83]  Kishore Sengupta,et al.  Software Project Control: An Experimental Investigation of Judgment with Fallible Information , 1993, IEEE Trans. Software Eng..

[84]  N. McGlynn Thinking fast and slow. , 2014, Australian veterinary journal.

[85]  R. Buehler,et al.  Exploring the "planning fallacy": Why people underestimate their task completion times. , 1994 .

[86]  Antony Tang,et al.  Decision making in software architecture , 2016, J. Syst. Softw..

[87]  Robert Feldt,et al.  Behavioral software engineering: A definition and systematic literature review , 2015, J. Syst. Softw..

[88]  Sandeep Purao,et al.  Action Design Research , 2011, MIS Q..

[89]  Mark Keil,et al.  The effects of optimistic and pessimistic biasing on software project status reporting , 2007, Inf. Manag..

[90]  M. Hilbert,et al.  Toward a synthesis of cognitive biases: how noisy information processing can bias human decision making. , 2012, Psychological bulletin.

[91]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[92]  Irit Hadar When intuition and logic clash: The case of the object-oriented paradigm , 2013, Sci. Comput. Program..

[93]  Peng Liang,et al.  The impact of prior knowledge on searching in software documentation , 2014, DocEng '14.

[94]  R. Yin,et al.  Case Study Research: Design and Methods (4th ed. , 2009 .

[95]  Fernanda Campos,et al.  Towards pragmatic interoperability to support collaboration: A systematic review and mapping of the literature , 2016, Inf. Softw. Technol..

[96]  Jeffrey Parsons,et al.  Is Query Reuse Potentially Harmful? Anchoring and Adjustment in Adapting Existing Database Queries , 2010, Inf. Syst. Res..

[97]  Paul Ralph,et al.  Toward a Theory of Debiasing Software Development , 2011, SIGSAND.

[98]  Colin MacDougall,et al.  The Devil's Advocate: A Strategy to Avoid Groupthink and Stimulate Discussion in Focus Groups , 1997 .

[99]  Nils Brede Moe,et al.  Exploring Norms in Agile Software Teams , 2016, PROFES.

[100]  Fadi P. Deek,et al.  Collaborative Problem Solving and Groupware for Software Development , 2003, IEEE Engineering Management Review.

[101]  Paul Ralph,et al.  The dimensions of software engineering success , 2014, ICSE.

[102]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[103]  Brad A. Myers,et al.  A framework and methodology for studying the causes of software errors in programming systems , 2005, J. Vis. Lang. Comput..

[104]  Steve Parkes,et al.  Trends in the use of verbal protocol analysis in software engineering research , 2003, Behav. Inf. Technol..

[105]  T. Kuhn,et al.  The Structure of Scientific Revolutions. , 1964 .

[106]  M. Banaji,et al.  The role of stereotyping in system‐justification and the production of false consciousness , 1994 .

[107]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[108]  Janice Singer,et al.  Guest Editors' Introduction: Cooperative and Human Aspects of Software Engineering , 2009, IEEE Softw..

[109]  B. R. Forer,et al.  The fallacy of personal validation; a classroom demonstration of gullibility. , 2011, Journal of abnormal psychology.

[110]  Magne Jørgensen,et al.  The effects of request formats on judgment-based effort estimation , 2010, J. Syst. Softw..

[111]  Magne Jørgensen,et al.  Numerical anchors and their strong effects on software development effort estimates , 2016, J. Syst. Softw..

[112]  Ayse Basar Bener,et al.  Towards a Metric Suite Proposal to Quantify Confirmation Biases of Developers , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[113]  Terry Connolly,et al.  Decomposed versus holistic estimates of effort required for software writing tasks , 1997 .

[114]  Mark Keil,et al.  Optimism Bias in Managing IT Project Risks: a Construal Level Theory Perspective , 2014, ECIS.

[115]  Barry Shore,et al.  Systematic Biases and Culture in Project Failures , 2008 .

[116]  F. Shull Engineering Values: From Architecture Games to Agile Requirements , 2013 .

[117]  Tony Gorschek,et al.  A method for evaluating rigor and industrial relevance of technology evaluations , 2011, Empirical Software Engineering.

[118]  Glenn J. Browne,et al.  More Enduring Questions in Cognitive IS Research , 2012, J. Assoc. Inf. Syst..

[119]  Nigel Harvey,et al.  Blackwell Handbook of Judgment and Decision Making , 2004 .

[120]  Rebecca Wirfs-Brock Giving Design Advice , 2007, IEEE Software.

[121]  Paul Ralph,et al.  Requirements fixation , 2014, ICSE.

[122]  Guilherme Horta Travassos,et al.  An Environment to Support Large Scale Experimentation in Software Engineering , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[123]  Izak Benbasat,et al.  When Parents Need Not Have Children - Cognitive Biases in Information Modeling , 1996, CAiSE.

[124]  Magne Jørgensen,et al.  Over-optimism in software development projects: "the winner's curse" , 2005, 15th International Conference on Electronics, Communications and Computers (CONIELECOMP'05).

[125]  Carolyn Mair,et al.  Human judgement and software metrics: vision for the future , 2011, WETSoM '11.

[126]  Ayse Basar Bener,et al.  Confirmation Bias in Software Development and Testing: An Analysis of the Effects of Company Size, Experience and Reasoning Skills , 2010, PPIG.

[127]  A. Hama Predictably Irrational: The Hidden Forces That Shape Our Decisions , 2010 .

[128]  Bent Flyvbjerg,et al.  From Nobel Prize to Project Management: Getting Risks Right , 2006, ArXiv.

[129]  L. Ross,et al.  The Bias Blind Spot: Perceptions of Bias in Self Versus Others , 2002 .

[130]  Barbara Kitchenham,et al.  What's up with software metrics? - A preliminary mapping study , 2010, J. Syst. Softw..

[131]  M. Guha APA Dictionary of Psychology , 2007 .

[132]  Jose Adson Oliveira Guedes da Cunha,et al.  Towards a substantive theory of project decisions in software development project-based organizations: A cross-case analysis of IT organizations from Brazil and Portugal , 2015, 2015 10th Iberian Conference on Information Systems and Technologies (CISTI).

[133]  H Omer,et al.  The continuity principle: A unified approach to disaster and trauma , 1994, American journal of community psychology.

[134]  Nakornthip Prompoon,et al.  Predicting Software Damage Rate from Cognitive Bias in Software Design Process , 2013 .

[135]  Saonee Sarker,et al.  An Exploration into the Process of Requirements Elicitation: A Grounded Approach , 2010, J. Assoc. Inf. Syst..

[136]  Engin Bozdag,et al.  Bias in algorithmic filtering and personalization , 2013, Ethics and Information Technology.

[137]  Magne Jørgensen,et al.  An experimental evaluation of a de-biasing intervention for professional software developers , 2018, SAC.

[138]  Tommi Kärkkäinen,et al.  Applying Semiautomatic Generation of Conceptual Models to Decision Support Systems Domain , 2009, ICSE 2009.

[139]  Forrest Shull Our Best Hope , 2014, IEEE Softw..

[140]  Ayse Basar Bener,et al.  An algorithmic approach to missing data problem in modeling human aspects in software development , 2013, PROMISE.

[141]  Phillip A. Laplante,et al.  What Every Engineer Should Know about Software Engineering , 2007 .

[142]  Thomas Hess,et al.  Cognitive Biases in Information Systems Research: a scientometric Analysis , 2014, ECIS.

[143]  Graham Pervan,et al.  Eight key issues for the decision support systems discipline , 2008, Decis. Support Syst..

[144]  Dorothy E. Leidner,et al.  Review: A Review of Culture in Information Systems Research: Toward a Theory of Information Technology Culture Conflict , 2006, MIS Q..

[145]  Laura M. Leventhal,et al.  Positive Test Bias in Software Testing Among Professionals: A Review , 1993, EWHCI.

[146]  C. Robert Kenley,et al.  Discounting models for long‐term decision making , 2004, Syst. Eng..

[147]  Philippe Kruchten,et al.  Performance norms: An approach to rework reduction in software development , 2012, 2012 25th IEEE Canadian Conference on Electrical and Computer Engineering (CCECE).

[148]  Magne Jørgensen,et al.  Evaluation and Assessment in Software Engineering Prediction of Overoptimistic Predictions , 2022 .

[149]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[150]  R. Nickerson Confirmation Bias: A Ubiquitous Phenomenon in Many Guises , 1998 .

[151]  G. Shaw The Importance of NOT Learning from Experience , 2000 .

[152]  Gary Klein,et al.  Naturalistic Decision Making , 2008, Hum. Factors.

[153]  Gul Calikli,et al.  Preliminary analysis of the effects of confirmation bias on software defect density , 2010, ESEM '10.

[154]  A. Terry Bahill,et al.  Ameliorating mental mistakes in tradeoff studies , 2007 .

[155]  Y. Bar-Haim,et al.  Threat-related attentional bias in anxious and nonanxious individuals: a meta-analytic study. , 2007, Psychological bulletin.

[156]  Norbert Schwarz,et al.  Integrating Temporal Biases , 2004, Psychological science.

[157]  F W A Frankenmolen,et al.  [Cognitive bias]. , 2011, Nederlands tijdschrift voor tandheelkunde.

[158]  Magne Jørgensen,et al.  Identification of more risks can lead to increased over-optimism of and over-confidence in software development effort estimates , 2010, Inf. Softw. Technol..

[159]  Eric D. Smith,et al.  Attribute substitution in systems engineering , 2007, Syst. Eng..

[160]  Magne Jørgensen,et al.  Expert Estimation of Web-Development Projects: Are Software Professionals in Technical Roles More Optimistic Than Those in Non-Technical Roles? , 2004, Empirical Software Engineering.

[161]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A tertiary study , 2010, Inf. Softw. Technol..

[162]  Fabio Q. B. da Silva,et al.  Personality in software engineering: Preliminary findings from a systematic literature review , 2011, EASE.

[163]  Roy M. Poses,et al.  Availability, Wishful Thinking, and Physicians' Diagnostic Judgments for Patients with Suspected Bacteremia , 1991, Medical decision making : an international journal of the Society for Medical Decision Making.

[164]  Venkataraman Ramesh,et al.  Improving information requirements determination: a cognitive perspective , 2002, Inf. Manag..

[165]  Paul Ralph,et al.  Is Requirements Engineering Inherently Counterproductive? , 2015, 2015 IEEE/ACM 5th International Workshop on the Twin Peaks of Requirements and Architecture.

[166]  Paul Ralph,et al.  Introducing an Empirical Model of Design , 2011 .

[167]  E. Langer The illusion of control. , 1975 .

[168]  Bora Caglayan,et al.  Modeling Human Aspects to Enhance Software Quality Management , 2012, ICIS.

[169]  Magne Jørgensen,et al.  Better sure than safe? Over-confidence in judgement based software development effort prediction intervals , 2004, J. Syst. Softw..

[170]  D. Ariely Predictably Irrational: The Hidden Forces That Shape Our Decisions , 2008 .

[171]  Gary McGraw,et al.  Software Penetration Testing , 2005, IEEE Secur. Priv..

[172]  Chad Saunders,et al.  Cognitive heuristics in software engineering applying and extending anchoring and adjustment to artifact reuse , 2004, IEEE Transactions on Software Engineering.

[173]  Andrei Shleifer,et al.  Psychologists at the Gate: A Review of Daniel Kahneman's Thinking, Fast and Slow , 2012 .