Contextualizing design: narratives and rationalization in empirical studies of software design

This paper addresses the notion that contextualization of the design process can lead to second-order accounts of design problem solving which may not adequately reflect the actual behaviour of designers. Experimental work is briefly reported indicating differences between described and actual behaviour in a software design task. We examine ways in which contextualization might affect individual cognitive behaviour and using this framework we suggest reasons why divergent perspectives of the design process might arise and continue to endure. Finally, we argue that design problem solving is host to a range of potential problems that are not typically encountered in psychological studies of other problem solving behaviours.

[1]  Bill Curtis,et al.  The Psychology of Programming in the Large: Team and Organizational Behaviour , 1990 .

[2]  K. A. Ericsson,et al.  Verbal reports as data. , 1980 .

[3]  B. Hayes-Roth Flexibility in Executive Strategies. , 1980 .

[4]  Edward Yourdon,et al.  Techniques of Program Structure and Design , 1976 .

[5]  Etienne Wenger,et al.  Situated Learning: Legitimate Peripheral Participation , 1991 .

[6]  John R. Anderson The Architecture of Cognition , 1983 .

[7]  Allen Newell,et al.  The Prospects for Psychological Science in Human-Computer Interaction , 1985, Hum. Comput. Interact..

[8]  Jawed I. A. Siddiqi,et al.  Specification Influences in Program Design , 1989, Int. J. Man Mach. Stud..

[9]  Daniel Kahneman,et al.  Availability: A heuristic for judging frequency and probability , 1973 .

[10]  Barbara Hayes-Roth,et al.  A Cognitive Model of Planning , 1979, Cogn. Sci..

[11]  Thomas G. Dietterich,et al.  A model of the mechanical design process based on empirical data , 1988, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[12]  Allen Newell,et al.  Problem solving techniques for the design of algorithms , 1984, Inf. Process. Manag..

[13]  John R. Anderson,et al.  Novice LISP Errors: Undetected Losses of Information from Working Memory , 1985, Hum. Comput. Interact..

[14]  Willem J. M. Levelt,et al.  The speaker’s linearization problem , 1981 .

[15]  William J. Clancey,et al.  Acquiring, representing, and evaluating a competence model of diagnostic strategy , 1993 .

[16]  Barbara Hayes-Roth,et al.  Modeling Planning as an Incremental, Opportunistic Process , 1979, IJCAI.

[17]  Peter Pirolli,et al.  A Cognitive Model and Computer Tutor for Programming Recursion , 1987, SGCH.

[18]  Terry Winograd,et al.  Understanding computers and cognition - a new foundation for design , 1987 .

[19]  Joyce J. Elam,et al.  A methodology for studying software design teams: an investigation of conflict behaviors in the requirements definition phase , 1987 .

[20]  Allen Newell,et al.  Human Problem Solving. , 1973 .

[21]  John R. Anderson,et al.  Learning to Program in LISP , 1984, Cogn. Sci..

[22]  Allen Newell,et al.  The Knowledge Level , 1989, Artif. Intell..

[23]  John R. Anderson,et al.  Learning to Program in LISP , 1984, Cogn. Sci..

[24]  J. Lave Cognition in practice , 1988 .

[25]  Robin Jeffries,et al.  The Processes Involved in Designing Software. , 1980 .

[26]  John M. Carroll,et al.  Aspects of Solution Structure in Design Problem Solving. , 1980 .

[27]  Donald A. Norman,et al.  Cognitive artifacts , 1991 .

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

[29]  Willemien Visser Strategies in programming programmable controllers: a field study on a professional programmer , 1987 .

[30]  John C. Thomas,et al.  The psychological study of design , 1979 .

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

[32]  Adrian Snodgrass,et al.  Is designing mysterious? challenging the dual knowledge thesis , 1991 .

[33]  Willemien Visser,et al.  More or Less Following a Plan During Design: Opportunistic Deviations in Specification , 1990, Int. J. Man Mach. Stud..

[34]  John M. Bowers The Janus faces of design: some critical questions for CSCW , 1990 .

[35]  A. N. Leont’ev The Problem of Activity in Psychology , 1974 .

[36]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[37]  Simon P. Davies,et al.  Characterizing the program design activity : neither strictly top-down nor globally opportunistic , 1991 .

[38]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[39]  Edwin Hutchins,et al.  The technology of team navigation , 1990 .

[40]  Bill Curtis,et al.  Breakdowns and processes during the early activities of software design by professionals , 1987 .

[41]  P. Pirolli,et al.  The role of learning from examples in the acquisition of recursive programming skills. , 1985 .

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

[43]  Raymonde Guindon The process of knowledge discovery in system design , 1989 .

[44]  Jawed I. A. Siddiqi,et al.  An Empirical Investigation into Problem Decomposition Strategies Used in Program Design , 1985, Int. J. Man Mach. Stud..

[45]  Allen Newell,et al.  SOAR: An Architecture for General Intelligence , 1987, Artif. Intell..