skip to main content
10.1145/1595696.1595731acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Insights from expert software design practice

Published: 24 August 2009 Publication History

Abstract

Software is a designed artifact. In other design disciplines, such as architecture, there is a well-established tradition of design studies which inform not only the discipline itself but also tool design, processes, and collaborative work. The 'challenge' of this paper is to consider software from such a 'design studies' perspective. This paper will present a series of observations from empirical studies of expert software designers, and will draw on examples from actual professional practice. It will consider what experts' mental imagery, software visualisations, and sketches suggest about software design thinking. It will also discuss some of the deliberate practices experts use to promote innovation. Finally, it will open discussion on the tensions between observed software design practices and received methodology in software engineering.

References

[1]
Allwood, C. M. 1986. Novices on the computer: a review of the literature. International Journal of Man-Machine Studies, 25, 633--658.
[2]
Ball, L. J., and Ormerod, T. C. 2000. Putting ethnography to work: The case for a cognitive ethnography of design. International Journal of Human-Computer Studies, 53, 147--168.
[3]
Beck, K. 1999. Extreme Programming Explained: Embrace Change. Addison-Wesley.
[4]
Beyer, H., and Holtzblatt, K. 1988. Contextual Design: Defining Customer-Centered Systems. Morgan Kaufmann.
[5]
Boehm, B. W., 1981. Software Engineering Economics. Prentice-Hall 'Advances in Computing Science and Technology' series. Prentice-Hall. xxvii, 767.
[6]
Bucciarelli, LL 1988. An ethnographic perspective on engineering design. Design Studies, 9, 159--168.
[7]
Craft, B., and Cairns, P. 2006. Using sketching to aid the collaborative design of information visualization software. In Human Work Interaction Design: Designing for Human Work, IFIP vol. 221, 103--122.
[8]
Cross, N. 2006. Designerly Ways of Knowing. Springer-Verlag.
[9]
Curtis, B., Krasner, H., and Iscoe, N. 1988. A field study of the software design process for large teams. Communications of the ACM, 31, 11, 1268--1287.
[10]
Damm, C. H., Hansen, K. M., and Thomsen, M. 2000. Tool support for cooperative object-oriented design: gesture based modeling on an electronic whiteboard. In Proceedings of the SIGCHI conference on Human Factors in Computing Systems, ACM, 518--525.
[11]
Fish, J. and Scrivener, S. 1990. Amplifying the mind's eye: sketching and visual cognition, Leonardo, 23, 1, 118--126.
[12]
Flor, N. V., and Hutchins, E. L. 1991. Analysing distributed cognition in software teams: a case study of team programming during perfective software maintenance. In J. Koenemann-Belliveau, T. G. Moher and S. P. Roberston (eds), Empirical Studies of Programmers: Fourth Workshop, Ablex.
[13]
Goel, V. 1995. Sketches of Thought. MIT Press.
[14]
Goldschmidt, G. 1991, The dialectics of sketching. Creativity Research Journal, 4, 2, 123--143.
[15]
Hamming, R. W. 1987. Numerical Methods for Scientists and Engineers, 2nd ed., Dover Publications.
[16]
Kaplan, S., Gruppen, L., Leventhal, L. M., and Board, F. 1986. The Components of Expertise: A Cross-Disciplinary Review. The University of Michigan.
[17]
Ko, A. J., DeLine, R., and Venolia. G. 2007. Information needs in collocated software development teams. In 29th International Conference on Software Engineering (ICSE '07), IEEE Computer Society, 344--353.
[18]
Lansdown, J. 1993. Visualising design ideas. In Proceedings of Interacting with Images (London, February). BCS.
[19]
Lawson, B. 2003. Schemata, gambits and precedent: some factors in design expertise. In N. Cross and E. Edmonds (eds), Expertise in Design: Design Thinking Research Symposium 6, Creativity and Cognition Studio Press, 37--50.
[20]
Logie, R. H. 1989. Characteristics of visual short-term memory. European Journal of Cognitive Psychology, 1, 275--284.
[21]
Lubars, M., Potts, C., and Richter, C. 1993. Developing Initial OOA Models. In Proceedings of 15th International Conference on Software Engineering, IEEE Computer Society Press, 255--264.
[22]
Luff, P., Heath, C., and Greatbatch, D., 1992. Tasks-in-interaction: paper and screen based documentation in collaborative activity. In Proceedings of CSCW 92, 163--170.
[23]
Miller, G. A. 1993. Images and models, similes and metaphors. In A.Ortony (ed.), Metaphor and Thought, 2nd edition. Cambridge University Press, 357--400.
[24]
Newell, A., and Simon, H. A. 1990. GPS: A Program that Simulates Human Thought. In Computers and Thought, McGraw-Hill.
[25]
Petre, M. 2004. How expert engineering teams use disciplines of innovation. Design Studies, 25, 477--493.
[26]
Petre, M. 2007. Expert strategies for dealing with complex and intractable problems. Keynote address, Psychology of Programming Interest Group Workshop.
[27]
Petre, M. 2009. Representations for idea capture in software and hardware development. Open University Centre for Research in Computing Technical Report.
[28]
Petre, M. In press. Mental imagery and software visualization in high-performance software development teams. To appear in: Journal of Visual Languages and Computing.
[29]
Petre, M., and Blackwell, A. 1997. A glimpse of programmers' mental imagery. In S. Wiedenbeck and J. Scholtz (Eds), Empirical Studies of Programmers: Seventh Workshop, ACM Press, 109--123.
[30]
Petre, M., and Green, T. R. G. 1990. Where to draw the line with text: some claims by logic designers about graphics in notation. In D. Diaper, D. Gilmore, G. Cockton, and B. Shackel (eds.), Human-Computer Interaction: Interact'90, North-Holland, 463--468.
[31]
Rittel, H., and Webber, M. 1973. Dilemmas in a general theory of planning. Policy Sciences, 4, 155--169.
[32]
Schön, D. 1988. Design rules, types and worlds. Design Studies, 9, 3, 181--190.
[33]
Schön, D. A., 1983. The Reflective Practitioner: How Professionals Think in Action, Basic Books.
[34]
Simon, H. A. 1996. The Sciences of the Artificial, 3rd ed., MIT Press.
[35]
Vincenti, W. G. 1990. What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. Johns Hopkins University Press.

Cited By

View all
  • (2023)Exploring a Research Agenda for Design Knowledge Capture in Meetings2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)10.1109/CHASE58964.2023.00013(37-42)Online publication date: May-2023
  • (2020)Spreadsheet Use and Programming Experience: An Exploratory SurveyExtended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems10.1145/3334480.3382807(1-9)Online publication date: 25-Apr-2020
  • (2020)Investigating Novices' In Situ Reflections on Their Programming ProcessProceedings of the 51st ACM Technical Symposium on Computer Science Education10.1145/3328778.3366846(149-155)Online publication date: 26-Feb-2020
  • Show More Cited By

Index Terms

  1. Insights from expert software design practice

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE '09: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
    August 2009
    408 pages
    ISBN:9781605580012
    DOI:10.1145/1595696
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 24 August 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. design
    2. empirical studies
    3. expertise
    4. software design processes

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE09
    Sponsor:
    ESEC/FSE09: Joint 12th European Software Engineering Conference
    August 24 - 28, 2009
    Amsterdam, The Netherlands

    Acceptance Rates

    ESEC/FSE '09 Paper Acceptance Rate 32 of 217 submissions, 15%;
    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)21
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media