The principle of limited reduction in software design

Compares experimental (eg. prototyping) and analytical (eg. specifying) approaches in systems design. Derives ′The Principle of Limited Reduction′. Defines this as: “Relying on an analytical mode of operation to reduce complexity introduces new sources of uncertainty requiring experimental countermeasures; relying on an experimental mode of operation to reduce complexity introduces new sources of uncertainty requiring analytical countermeasures”. Concludes that a mixed approach is best, but warns that this is as yet (1992) hypothetical.

[1]  C. Floyd A Systematic Look at Prototyping , 1984 .

[2]  Clayton Lewis,et al.  Designing for usability—key principles and what designers think , 1983, CHI '83.

[3]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[4]  H. Simon,et al.  From substantive to procedural rationality , 1976 .

[5]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[6]  Alan R. Dennis,et al.  Selecting the appropriate application development methodology , 1985, DATB.

[7]  Gordon B. Davis,et al.  Strategies for Information Requirements Determination , 1982, IBM Syst. J..

[8]  Alan M. Davis,et al.  A Strategy for Comparing Alternative Software Development Life Cycle Models , 1988, IEEE Trans. Software Eng..

[9]  H. Simon,et al.  Rational choice and the structure of the environment. , 1956, Psychological review.

[10]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[11]  G. R. Gladden Stop the life-cycle, I want to get off , 1982, ACM SIGSOFT Softw. Eng. Notes.

[12]  Daniel D. McCracken,et al.  Life cycle concept considered harmful , 1982, ACM SIGSOFT Softw. Eng. Notes.

[13]  Richard E. Fairley,et al.  Software engineering concepts , 1985, McGraw-Hill series in software engineering and technology.

[14]  H. Simon,et al.  Models Of Man : Social And Rational , 1957 .

[15]  Barry W. Boehm,et al.  Prototyping Versus Specifying: A Multiproject Experiment , 1984, IEEE Transactions on Software Engineering.

[16]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[17]  Edward Yourdon,et al.  Managing the system life cycle , 1988 .

[18]  David Lorge Parnas,et al.  Software aspects of strategic defense systems , 1985, CACM.

[19]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[20]  Pelle Ehn,et al.  Work-oriented design of computer artifacts , 1989 .

[21]  Hassan Gomaa,et al.  Prototyping as a tool in the specification of user requirements , 1981, ICSE '81.

[22]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.

[23]  Börje Langefors,et al.  Theoretical analysis of information systems , 1973 .

[24]  H. Simon,et al.  A Behavioral Model of Rational Choice , 1955 .

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

[26]  H. Simon Method and Appraisal in Economics: From substantive to procedural rationality , 1976 .

[27]  Victor R. Basili,et al.  Iterative enhancement: A practical technique for software development , 1975, IEEE Transactions on Software Engineering.

[28]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .