Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

A field study of the software design process for large systems

Published: 01 November 1988 Publication History
  • Get Citation Alerts
  • Abstract

    The problems of designing large software systems were studied through interviewing personnel from 17 large projects. A layered behavioral model is used to analyze how three of these problems—the thin spread of application domain knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns—affected software productivity and quality through their impact on cognitive, social, and organizational processes.

    References

    [1]
    Adams, J.S. The structure and dynamics of behavior in organizational boundary roles. In Handb. Ind. Organ. Psychot., Ed. M.D. Dunnette. Rand-McNally, Chicago, (1976), pp. 1175-1199.
    [2]
    Adelson, B., and Soloway, E. The role of domain experience in software design. IEEE Trans. Softw. Eng. 11, 11 (Nov. 1985), 1351- 1360.
    [3]
    Allen, T.J. Communication networks in R&D laboratories. R&D Manage. 1, 1 (Jan. 197o), 14-21.
    [4]
    Allen, T.J. Organizational structure, information technology, and R&D productivity. IEEE Trans. Eng. Manage. 33, 4 (Apr. 1986), 212- 217.
    [5]
    Barker, R.G. Ecological Psychology: Concepts and Methods for Studying the Environment of Human Behavior. Stanford Univ. Press, Pale Alto, Calif., 1986.
    [6]
    Barstow, D.R. Domain-specific automatic programming. IEEE Trans. Softw. Eng. 11, 11 (Nov. 1985), 1321-1336.
    [7]
    Belady, L.A. The Japanese and software: Is it a good match? IEEE Comput. 19, 6 {June 1986), 57-61.
    [8]
    Benbasat, I., Goldstein, D.K., and Mead, M. The case research strategy in studies of information systems. MIS Q.//, 3 (Mar. 1987), 369-386.
    [9]
    Boehm, B.W. Software Engineering Economics. Prentice-Hall, Englewood Cliffs, N.J., 1981.
    [10]
    Boehm, B.W. Improving software productivity. IEEE Comput. 20, 9 (Sept. 1987), 43-57.
    [11]
    Boehm, B.W. A spiral model of software development and maintenance. IEEE Comput. 2/, 5 (May 1988}, 61-72.
    [12]
    Bouchard, T.J. Field research methods. In Handb. Ind. Organ. Psychol., Ed. M.D. Dunnette. Rand-McNally, Chicago, (1976): pp. 363-413.
    [13]
    Brenner, M., Brown, J., and Canter, D. The Research Interview: Uses and Approaches. Academic Press, London, 1985.
    [14]
    Brooks, F.P. The Mythical Man-Month. Addison-Wesley, Reading, Mass., 1975.
    [15]
    Brooks, F.P. No silver bullet. IEEE Comput. 20, 4 (Apr. 1987), 10-19.
    [16]
    Card, D.N., McGarry, F.E., and Page, G.T. Evaluating software engineering technologies. IEEE Trans. Softw. Eng. 13, 7 (July 19871, 845- 851.
    [17]
    Christiansen, D. On good designers. IEEE Spectrum 24, 5 (May 1987), 25.
    [18]
    Curtis, B. Measurement and experimentation in software engineering. Prec. IEEE 68, 9 (Sept. 1980), 1144-1157.
    [19]
    Curtis, B. Substantiating programmer variability. Prec. IEEE 69, 7 (July 1981), 846.
    [20]
    Curtis, B. Human Factors in Software Development. 2d ed. IEEE Computer Society, Wash., D.C., 1985.
    [21]
    Curtis, B., Sheppard, S.B., Kruesi-Bailey, E., Bailey, J., and Boehm- Davis, D. Experimental evaluation of software documentation formats. J. Syst. Softw. In press.
    [22]
    Curtis, B., Soloway, E., Brooks, R., Black, J., Ehrlich, K., and Ramsey, H.R. Software psychology: The need for an interdisciplinary program. Prec. IEEE 74, 8 (Aug. 1986), 1092-1106.
    [23]
    Dailey, R.C. The role of team and task characteristics in R&D team collaborative problem solving and productivity. Manage. Sci. 24, 15 (Nov. 1978), 1579-1588.
    [24]
    DeMarco, T., and Lister, T.A. Peopleware. Dorset, New York, 1987.
    [25]
    Fenlason, A.F, Ferguson, G.B., and Abrahamson, A.C. Essentials in Interviewing. Harper & Row, New York, 1962.
    [26]
    Fischer, B.A. Small Group Decision-Making. 2d ed. McGraw-Hill, New York, 1980.
    [27]
    Fox, ).M. Software and Its Development. Prentice-Hall, Englewood Cliffs, N.J., 1982.
    [28]
    French, J.R.P., and Raven, B. The bases of social power. In Studies in Social Power, Ed. D. Cartwright, Institute for Social Research, Ann Arbor, Mich., 1959, pp. 150-167.
    [29]
    Gould, J.D., and Lewis, C. Designing for usability: Key principles and what designers think. Commun. ACM 28, 3 (Mar. 1985), 300-311.
    [30]
    Guinan, P.J., and Bostrom, R.P. Communication Behaviors of Highly- Rated Versus Lowly-Rated System Developers: A Field Experiment. The Institute for Resesrch on the Management of Information Systems, Indiana Univ., 1987.
    [31]
    Guindon, R., and Curtis, B. Control of cognitive processes during design: What tools would support software designers? In Conference Proceedings of CHI'88, (Washington, D.C., May 1988}. ACM, New York, 1988, 263-268.
    [32]
    Guindon, R., Krasner, H., and Curtis, B. Breakdowns and processes during the early activities of software design by professionals. In Empirical Studies of Programmers: Second Workshop, Ed. G. Olsen, et al., Ablex, Norwood, N.J., (1987), 65-82.
    [33]
    Hastie, R. Experimental evidence on group accuracy. In Information Processing and Group Decision-Making, Ed. G. Owen, and B. Grofman. JAI Press, Westport, Conn., 1987, 129-157.
    [34]
    Jeffries, R., Turner, A.A., Poison, P.G., and Atwood, M.E. The processes involved in designing software. In Cognitive Skills and Their Acquisition, Ed. J.R. Anderson. Erlbaum, Hillsdale, N.J., 1981, pp. 255-283.
    [35]
    Jones, T.C. The limits to programmer productivity. In Proceedings of the Joint SHARE/GUIDE/IBM Applications Symposium, SHARE/ GUIDE, Chicago, (1979), pp. 77-82.
    [36]
    Kant, E., and Newell, A. Problem solving techniques for the design of algorithms, lnfo. Process. Manage. 28, 1 (Jan. 1984), 97-118.
    [37]
    Kernaghan, J. A., and Cooke, R.A. The contribution of the group process to successful group planning in R&D settings. IEEE Trans. Eng. Manage. 33, 3 (Mar. 1986), 134-I40.
    [38]
    Kincaid, H.V., and Bright, M. The tandem interview: A trial of the two-interviewer team. Public Opin. Q. 21, {1957), 304-312.
    [39]
    Klatzky, R.L. Human Memory: Structures and Processes. San Francisco, W.H. Freeman, 1975.
    [40]
    Kling, R. The web of computing: Computer technology as social organization. Vol. 21, Adv. Comput. Addison-Wesley, Reading, Mass., 1982, pp. 1-90.
    [41]
    Magnusson, D. Toward a Psychology of Situations: An lnteractionist Perspective. Erlbaum, Hillsdale, N.J., 1981.
    [42]
    Malhotra, A., Thomas, j.C., Carroll, J.M., and Miller, L.A. Cognitive processes in design. Int. J. Man-Machine Stud. 12, (1980), 119-140.
    [43]
    McGarry, F.E. What have we learned in the last six years? In Proceedings of the Seventh Annual Software Engineering Workshop (Greenbelt, Md., Dec. 1982), NASA-GSFC, Greenbelt, Md., 1982.
    [44]
    Mills, J.A. A pragmatic view of the system architect. Commun. ACM 28, 7 (July 1985), 708-717.
    [45]
    Moos, R.H., and Insel, P.M. Issues in Social Ecology: Human Milieus. National Press Books, Pale Alto, Calif., 1974.
    [46]
    Myers, W. MCC: Planning the revolution in software. IEEE Softw. 2, 6 (Nov. 1985), 68-73.
    [47]
    Newell, A. Heuristic programming: Ill structured problems. Vol. 3, In Prog. Oper. Res., Ed. J. Aronofsky. Wiley, New York, 1969, pp. 360- 414.
    [48]
    Rich, C., and Waters, R.C. Automatic programming: Myths and prospects. IEEE Comput. 21, 8 (Aug. 1988), 40-51.
    [49]
    Rittel, H.W.J., and Webber, M.M. Dilemmas in a general theory of planning. Policy Sci. 4, 1973, 155-169.
    [50]
    Rogers, E.M., and Kincaid, D.L. Communication Networks: Toward a New Paradigm for Research. Free Press, New York, 1981.
    [51]
    Scacchi, W. Managing software engineering projects: A social analysis. IEEE Trans, Softw. Eng. 10, I (Jan. 1984), 49-59.
    [52]
    Sells, S.B. An interactionist looks at the environment. Am. Psychol. 18, 11 (Nov. 1963), 696-702.
    [53]
    Sells, S.B. Ecology and the science of psychology. Multivariate Behav. Res. 1, 2 (Feb. 1966), 131-144.
    [54]
    Swanson, E.B., and Beath, C.M. The use of case study data in software management research. J. Syst. Softw. 8, 1 (Jan. 1988), 63-71.
    [55]
    Thamhain, H.J., and Wilemon, D.L. Building high performance engineering project teams. IEEE Trans. Eng. Manage. 34, 3 (Mar. 1987), 130-137.
    [56]
    Tushman, M.L. Special boundary roles in the innovation process. Adrn. Sci. Q. 22, 4 (Winter 1977), 587-605.
    [57]
    Vosburgh, J., Curtis, B., Wolverton, R., Albert, B., Malec, H., Hoben, S., and Liu, Y. Productivity factors and programming environments. In Proceedings of the Seventh International Conference on Software Engineering (Orlando, Fla., Mar. 1984). IEEE Comput. Soc., Washington, D.C., 1984, pp. 143-152.
    [58]
    Walston, C.E., and Felix, C.P. A method of programming measurement and estimation. IBM Syst. J. 16, 1 (Jan. 1977), 54-73.
    [59]
    Walz, D., Elam, D., Krasner, H., and Curtis, B. A methodology for studying software design teams: An investigation of conflict behaviors in the requirements definition phase. In Empirical Studies of Programmers: Second Workshop, Ed. G. Olsen, et al. Ablex, Norwood, N.J., 1987, pp. 83-99.
    [60]
    Warwick, D.P., and Lininger, C.A. The Sample Survey: Theory and Practice. McGraw-Hill, New York, 1975.
    [61]
    Weinberg, G.M. The Psychology of Computer Programming. Van Nostrand Reinhold, New York, 1971.
    [62]
    Whyte, W.F. Interviewing in field research. In Human Organization Research, Eds. R.N. Adams and J.J. Priess. 1960.
    [63]
    Zelkowitz, M., Yeh, R., Hamlet, R., Gannon, J., and Basili, V. Software engineering practices in the U.S. and Japan. IEEE Comput. 17, 6 (June 1984), 57-66.

    Cited By

    View all

    Recommendations

    Reviews

    David Noel Card

    Because of the difficulty, expense, and time involved in collecting data and performing quantitative analyses, many recent investigators of critical software engineering problems have adopted field research or case study methods. Instead of using discrete attributes of software projects, these researchers rely on interviews with software developers and observations of them at work. The authors of this paper demonstrate the power of this approach. Curtis, Krasner, and Iscoe study seventeen software projects and identify three common design problems: limited application domain knowledge, fluctuating requirements, and poor technical communication. They explore the causes and consequences of these problems at five levels—individual, team, project, company, and milieu—and observe that problems caused at one level may have repercussions on another. While these problems will be familiar to most software practitioners, a view of them through this organizational model may not. Consider, for example, the problem of limited application knowledge at the team level. The authors observe that most design teams are dominated by one leader or project guru. The characteristics of such a designer include substantial knowledge of the application domain, interdisciplinary background and experience, and good communication skills. The exceptional designer is often, as the authors note, not a good programmer. Lack of application knowledge would thus present more of a difficulty to design teams than lack of computer science knowledge. The authors provide an interesting and well-written exposition of their approach and its results. Use of the term “ecological” in the first subheading of the paper is somewhat distracting, though. This term is not defined until the very last section, where the authors explain that their work is not really an ecological study anyway. (Ecological studies tend to be quantitative analyses of such things as the carrying capacity of an environment.) While the field research/case study method provides an important tool that will improve our understanding of human activity, we must remember that it is not conclusive in itself. The history of anthropology provides several examples in which researchers obtained grossly distorted views of cultures from interviews with informants and observations of activities. The authors point out that in the early stages of problem identification and definition, however, when quantitative studies are often impossible, this method of study works well.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image Communications of the ACM
    Communications of the ACM  Volume 31, Issue 11
    Nov. 1988
    102 pages
    ISSN:0001-0782
    EISSN:1557-7317
    DOI:10.1145/50087
    Issue’s Table of Contents
    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 November 1988
    Published in CACM Volume 31, Issue 11

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)963
    • Downloads (Last 6 weeks)114

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)D’un jeu de cartes à des lignes de codeRéseaux10.3917/res.243.0227N° 243:1(227-275)Online publication date: 20-Feb-2024
    • (2024)A Domain-Specific Language for Reconfigurable, Distributed SoftwareInternational Journal of Networking and Computing10.15803/ijnc.14.1_4014:1(40-80)Online publication date: 2024
    • (2024)Intrafirm Knowledge Sharing in the Investment Research IndustryManagement Science10.1287/mnsc.2023.480970:4(2427-2446)Online publication date: 1-Apr-2024
    • (2024)Revealing Software Development Work Patterns with PR-Issue Graph TopologiesProceedings of the ACM on Software Engineering10.1145/36608131:FSE(2402-2423)Online publication date: 12-Jul-2024
    • (2024)How to conduct successful business process automation projects? An analysis of key factors in the context of robotic process automationBusiness Process Management Journal10.1108/BPMJ-06-2023-046530:8(99-119)Online publication date: 28-May-2024
    • (2024)A Taxonomy on Human Factors that Affect DevOps AdoptionGood Practices and New Perspectives in Information Systems and Technologies10.1007/978-3-031-60221-4_31(314-324)Online publication date: 13-May-2024
    • (2023)Constructing Traceability Links between Software Requirements and Source Code Based on Neural NetworksMathematics10.3390/math1102031511:2(315)Online publication date: 7-Jan-2023
    • (2023)Deep Neural Network with Embedding Fusion for Chinese Named Entity RecognitionACM Transactions on Asian and Low-Resource Language Information Processing10.1145/357032822:3(1-16)Online publication date: 23-Mar-2023
    • (2023)Target-Oriented Knowledge Distillation with Language-Family-Based Grouping for Multilingual NMTACM Transactions on Asian and Low-Resource Language Information Processing10.1145/354606722:2(1-18)Online publication date: 23-Mar-2023
    • (2023)SEGRESS: Software Engineering Guidelines for REporting Secondary StudiesIEEE Transactions on Software Engineering10.1109/TSE.2022.317409249:3(1273-1298)Online publication date: 1-Mar-2023
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media