What We Don't Know About Spreadsheet Errors Today: The Facts, Why We Don't Believe Them, and What We Need to Do

Research on spreadsheet errors is substantial, compelling, and unanimous. It has three simple conclusions. The first is that spreadsheet errors are rare on a per-cell basis, but in large programs, at least one incorrect bottom-line value is very likely to be present. The second is that errors are extremely difficult to detect and correct. The third is that spreadsheet developers and corporations are highly overconfident in the accuracy of their spreadsheets. The disconnect between the first two conclusions and the third appears to be due to the way human cognition works. Most importantly, we are aware of very few of the errors we make. In addition, while we are proudly aware of errors that we fix, we have no idea of how many remain, but like Little Jack Horner we are impressed with our ability to ferret out errors. This paper reviews human cognition processes and shows first that humans cannot be error free no matter how hard they try, and second that our intuition about errors and how we can reduce them is based on appallingly bad knowledge. This paper argues that we should reject any prescription for reducing errors that has not been rigorously proven safe and effective. The paper also argues that our biggest need, based on empirical data, is to do massively more testing than we do now. It suggests that the code inspection methodology developed in software development is likely to apply very well to spreadsheet inspection.

[1]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[2]  Raymond R. Panko,et al.  Applying Code Inspection to Spreadsheet Testing , 1999, J. Manag. Inf. Syst..

[3]  A. Hama,et al.  The Invisible Gorilla: And Other Ways Our Intuitions Deceive Us , 2010 .

[4]  David Woods,et al.  SOME RESULTS ON OPERATOR PERFORMANCE IN EMERGENCY EVENTS , 1984 .

[5]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[6]  R. Glaser,et al.  Expertise in a complex skill: Diagnosing x-ray pictures. , 1988 .

[7]  D. Kahneman Thinking, Fast and Slow , 2011 .

[8]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[9]  Bonnie A. Nardi,et al.  Twinkling Lights and Nested Loops: Distributed Problem Solving and Spreadsheet Development , 1991, Int. J. Man Mach. Stud..

[10]  Emerson R. Murphy-Hill,et al.  Enron's Spreadsheets and Related Emails: A Dataset and Analysis , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[11]  Edward F. Weller,et al.  Lessons from three years of inspection data (software development) , 1993, IEEE Software.

[12]  T. Gilovich,et al.  How We Know What Isn't So: The Fallibility of Human Reason in Everyday Life , 1991 .

[13]  Bruce Bridgeman,et al.  Failure to detect displacement of the visual world during saccadic eye movements , 1975, Vision Research.

[14]  Adam A. Porter,et al.  Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment , 1995, IEEE Trans. Software Eng..

[15]  James Reason,et al.  Human Error , 1990 .

[16]  R. L. Brune,et al.  Peer-review study of the draft handbook for human-reliability analysis with emphasis on nuclear-power-plant applications, NUREG/CR-1278 , 1983 .

[17]  Donald D. Chamberlin,et al.  Human factors evaluation of two data base query languages: square and sequel , 1975, AFIPS '75.

[18]  Philip Johnson,et al.  Exploring the effectiveness of formal technical review factors with csrs, a collaborative software review system , 1996 .

[19]  Peter J. Middleton,et al.  Software Inspection , 1994, J. Inf. Technol..

[20]  Dennis F. Galletta,et al.  An empirical study of spreadsheet error-finding performance , 1993 .

[21]  Harvey P. Siy,et al.  An experiment to assess the cost-benefits of code inspections in large scale software development , 1995, SIGSOFT '95.

[22]  Andrew Singer,et al.  Directions in Human Factors for Interactive Systems , 1981, Lecture Notes in Computer Science.

[23]  Ralph H. Sprague,et al.  Hitting the wall: errors in developing and code inspecting a 'simple' spreadsheet model , 1998, Decis. Support Syst..

[24]  Victor R. Basili,et al.  Four Applications of a Software Data Collection and Analysis Methodology , 1986 .

[25]  Adam A. Porter,et al.  An experiment to assess different defect detection methods for software requirements inspections , 1994, Proceedings of 16th International Conference on Software Engineering.

[26]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[27]  Raymond R. Panko,et al.  The Cognitive Science of Spreadsheet Errors: Why Thinking is Bad , 2013, 2013 46th Hawaii International Conference on System Sciences.

[28]  A. D. Swain,et al.  Handbook of human-reliability analysis with emphasis on nuclear power plant applications. Final report , 1983 .

[29]  Independent Consultant,et al.  NATIONAL SOFTWARE QUALITY EXPERIMENT A LESSON IN MEASUREMENT 1992-2002 , 2003 .

[30]  Raymond R. Panko,et al.  An Experiment In Collaborative Spreadsheet Development , 2001, J. Assoc. Inf. Syst..

[31]  John W. Senders,et al.  Human Error: Cause, Prediction, and Reduction , 1991 .

[32]  Anthony Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[33]  Kevin Logue,et al.  Spreadsheets in Financial Departments: An Automated Analysis of 65,000 Spreadsheets using the Luminous Technology , 2011, ArXiv.

[34]  Glenford J. Myers,et al.  A controlled experiment in program testing and code walkthroughs/inspections , 1978, CACM.

[35]  Anna Kuchment,et al.  Probably Approximately Correct , 2013 .

[36]  R. T. Kellogg The Psychology of Writing , 1994 .

[37]  Raymond R. Panko,et al.  Evaluating the Effectiveness of Static Analysis Programs Versus Manual Inspection in the Detection of Natural Spreadsheet Errors , 2014, J. Organ. End User Comput..

[38]  Carl Martin Allwood,et al.  Error Detection Processes in Statistical Problem Solving , 1984, Cogn. Sci..

[39]  Mark E. Graden,et al.  Report: The effects of software inspections on a major telecommunications project , 1986, AT&T Technical Journal.

[40]  David G. Hendry,et al.  Creating, comprehending and explaining spreadsheets: a cognitive interpretation of what discretionary users think of the spreadsheet model , 1994, Int. J. Hum. Comput. Stud..

[41]  M. Scardamalia,et al.  Surpassing Ourselves: An Inquiry into the Nature and Implications of Expertise , 1993 .

[42]  Adam A. Porter,et al.  Assessing Software Review Meetings: Results of a Comparative Analysis of Two Experimental Studies , 1997, IEEE Trans. Software Eng..

[43]  T. Capers Jones,et al.  Estimating software costs , 1998 .

[44]  Capers Jones,et al.  Programming Productivity , 1986 .

[45]  Daniel J. Simons,et al.  The Invisible Gorilla: And Other Ways Our Intuitions Deceive Us , 2010 .