i-nth logo

Authors

Thomas A. Grossman, Vijay Mehrotra, & Ozgur Ozluk

Abstract

We present eighteen examples of mission-critical spreadsheets used by diverse people and organizations for application software development, financial risk management, executive information systems, sales and marketing business processes, business operations, and complex analytics.

We argue the spreadsheet is a Rapid Development Language, an Integrated Development Environment, and a Fourth Generation Language, and has unusual challenges regarding source code protection. We note that intentional spreadsheet applications are largely absent from the error literature.

We explain why people might prefer a spreadsheet to an application developed by the IT department, and show how some spreadsheet programmers choose to avoid—or do not have—an IT department.

We find that:

  • Spreadsheets are widely used for mission-critical functions.
  • Spreadsheets are an effective application development platform.
  • There is diversity of development skill in creators of mission-critical spreadsheets.
  • Sophisticated programmers sometimes choose spreadsheets over other languages.
  • Spreadsheets are amenable to formal development practices, but such practices seem rare.
  • Spreadsheets play a central role in the evolution of business processes and work systems.
  • Spreadsheets are a source of "accidental legacy systems".

We provide the Skill-User Programming Paradigm to help interpret and explain our observations. We conclude that spreadsheets are vitally important to business, and merit sustained research to discover techniques to enhance quality, productivity, and maintainability.

Sample

Skill-user programming paradigm
Skill-user programming paradigm

We propose the "skill-user programming paradigm".

It considers two dimensions, with "skill" describing whether the programmer is an amateur or a professional, and "user" indicating whether the person(s) who will use the software are the programmer or other people:

  • Quadrant 1 is an amateur programmer developing software for himself; this is classic end-user programming.
  • Quadrant 2 corresponds to an amateur programmer writing software that is used by other people.
  • Quadrant 3 is a professional programmer developing software for other people; this is traditional application development.
  • Quadrant 4 corresponds to a professional programmer writing software for his own use.

Publication

2007, Communications of the Association for Information Systems, Volume 20, article 60, pages 1009-1042

Full article

Lessons from mission-critical spreadsheets