A Tale from the Trenches: Cognitive Biases and Software Development - Chattopadhyay, Souti; Nelson, Nicholas; Au, Audrey; Morales, Natalia; Sanchez, Christopher; Pandita, Rahul; Sarma, Anita (2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE), 2020)
Cognitive biases are hard-wired behaviors that influence developer actions and can set them on an incorrect course of action, necessitating backtracking. While researchers have found that cognitive biases occur in development tasks in controlled lab studies, we still don't know how these biases affect developers' everyday behavior. Without such an understanding, development tools and practices remain inadequate. To close this gap, we conducted a 2-part field study to examine the extent to which cognitive biases occur, the consequences of these biases on developer behavior, and the practices and tools that developers use to deal with these biases. About 70% of observed actions that were reversed were associated with at least one cognitive bias. Further, even though developers recognized that biases frequently occur, they routinely are forced to deal with such issues with ad hoc processes and sub-optimal tool support. As one participant (IP12) lamented: There is no salvation!