A model of design decision making based on empirical results of interviews with software designers

Despite the impact of design decisions on software design, we have little understanding about how design decisions are made. This hinders our ability to provide design metrics, processes and training that support inherent design work. By interviewing 25 software designers and using content analysis and explanation building as our analysis technique, we provide qualitative and quantitative results that highlight aspects of rational and naturalistic decision making in software design. Our qualitative multi-case study results in a model of design decision making to answer the question: how do software designers make design decisions? We find the structure of the design problem determines the aspects of rational and naturalistic decision making used. The more structured the design decision, the less a designer considers options.

[1]  Ray W. Cooksey,et al.  Judgment analysis : theory, methods, and applications , 1996 .

[2]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[3]  John C. Thomas,et al.  Cognitive Processes in Design. , 1980 .

[4]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[5]  Graham Greene,et al.  The Human Factor , 1978 .

[6]  A. Tversky,et al.  Prospect theory: an analysis of decision under risk — Source link , 2007 .

[7]  R. M. Alexander,et al.  Sources of Power , 1982 .

[8]  Audris Mockus,et al.  Formulation and preliminary test of an empirical theory of coordination in software engineering , 2003, ESEC/FSE-11.

[9]  The Challenge of "Good Enough" Software , 1996 .

[10]  Jean Hartley,et al.  Case study research , 2004 .

[11]  M. Fowler Avoiding repetition [software design] , 2001 .

[12]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

[13]  J. C. Flanagan Psychological Bulletin THE CRITICAL INCIDENT TECHNIQUE , 2022 .

[14]  Chris W. Clegg,et al.  Psychology and information technology: The study of cognition in organizations , 1994 .

[15]  J. Hunter The human factor. , 2001, Nursing standard (Royal College of Nursing (Great Britain) : 1987).

[16]  Henry Montgomery The search for a dominance structure in decision making: Examining the evidence. , 1993 .

[17]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[18]  A. Tversky Elimination by aspects: A theory of choice. , 1972 .

[19]  S. Sonnentag Expertise in professional software design: a process study. , 1998, The Journal of applied psychology.

[20]  David A. Case,et al.  Computer simulations of protein dynamics and thermodynamics , 1993, Computer.

[21]  Donald A. Norman,et al.  Things That Make Us Smart: Defending Human Attributes In The Age Of The Machine , 1993 .

[22]  L. Phillips A theory of requisite decision models , 1984 .

[23]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[24]  Ken Schwaber Agile Project Management , 2005, XP.

[25]  Linda Shields,et al.  Content Analysis , 2015 .

[26]  Herbert A. Simon,et al.  The Structure of Ill Structured Problems , 1973, Artif. Intell..

[27]  James N. Siddall,et al.  Analytical decision-making in engineering design , 1972 .

[28]  Joyce J. Elam,et al.  Inside a software design team: knowledge acquisition, sharing, and integration , 1993, CACM.

[29]  Raymonde Guindon Designing the design process: exploiting opportunistic thoughts , 1990 .

[30]  Mark Klein,et al.  Capturing design rationale in concurrent engineering teams , 1993, Computer.

[31]  B. Brehmer,et al.  Human judgment : the SJT view , 1988 .

[32]  Michael Doyle,et al.  Facilitator's Guide to Participatory Decision-Making , 1998 .

[33]  Daniel E. Whitney,et al.  Designing the design process , 1990 .

[34]  A. Tversky,et al.  Prospect theory: analysis of decision under risk , 1979 .

[35]  F. Javier Lerch,et al.  Towards a model of cognitive process in logical design: comparing object-oriented and traditional functional decomposition software methodologies , 1992, CHI.

[36]  Susan Gasson,et al.  Framing design: a social process view of information system development , 1998, ICIS '98.

[37]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[38]  M. Patton Qualitative research & evaluation methods , 2002 .

[39]  Judith Orasanu,et al.  Decision Making in Action , 1994 .

[40]  William A. Wulf,et al.  Capturing design rationale in concurrent engineering teams , 1993 .

[41]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[42]  Roberta Calderwood,et al.  Critical decision method for eliciting knowledge , 1989, IEEE Trans. Syst. Man Cybern..

[43]  James D. Herbsleb,et al.  The Structure of Activity During Design Meetings , 1996 .

[44]  JacquesLebrun 人的问题:关于《Peopleware》 , 2002 .

[45]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[46]  Wynn C. Stirling Satisficing Games and Decision Making: With Applications to Engineering and Computer Science , 2003 .

[47]  Spencer Rugaber,et al.  Recognizing design decisions in programs , 1990, IEEE Software.

[48]  Laurent Karsenty,et al.  An empirical evaluation of design rationale documents , 1996, CHI.

[49]  B. Flyvbjerg,et al.  Making Social Science Matter: Why Social Inquiry Fails and How It Can Succeed Again , 2001 .

[50]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

[51]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[52]  B. Flyvbjerg,et al.  Making Social Science Matter: Why Social Inquiry Fails and How It Can Succeed Again , 2001 .

[53]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

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

[55]  H. Rittel,et al.  Dilemmas in a general theory of planning , 1973 .

[56]  S. Clegg Making Social Science Matter: Why Social Inquiry Fails and How It Can Succeed Again , 2002 .

[57]  Raymonde Guindon,et al.  Knowledge Exploited by Experts during Software System Design , 1990, Int. J. Man Mach. Stud..

[58]  John M. Carroll,et al.  Design rationale: concepts, techniques, and use , 1996 .

[59]  Jintae Lee,et al.  What's in Design Rationale? , 1991, Hum. Comput. Interact..

[60]  Frank Maurer,et al.  A qualitative empirical evaluation of design decisions , 2005, ACM SIGSOFT Softw. Eng. Notes.

[61]  Simon Buckingham Shum,et al.  Analyzing the Usability of a Design Rationale Notation , 1996 .

[62]  G. Klein,et al.  Decision Making in Action: Models and Methods , 1993 .

[63]  T. Connolly,et al.  The reinvention of decision making. , 1993 .

[64]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[65]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[66]  Philippe Kruchten,et al.  Agile project management , 2021, Project Management, Planning and Control.

[67]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for exploratory policy discussion , 1988, CSCW '88.

[68]  R. Dromey,et al.  A Model for Software Product Quality , 1995, IEEE Trans. Software Eng..

[69]  J ElamJoyce,et al.  Inside a software design team , 1993 .

[70]  Lucienne Blessing,et al.  Understanding the differences between how novice and experienced designers approach design tasks , 2003 .

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