skip to main content
article
Free Access

A field study of the software design process for large systems

Published:01 November 1988Publication History
Skip Abstract Section

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. 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.Google ScholarGoogle Scholar
  2. 2 Adelson, B., and Soloway, E. The role of domain experience in software design. IEEE Trans. Softw. Eng. 11, 11 (Nov. 1985), 1351- 1360. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Allen, T.J. Communication networks in R&D laboratories. R&D Manage. 1, 1 (Jan. 197o), 14-21.Google ScholarGoogle Scholar
  4. 4 Allen, T.J. Organizational structure, information technology, and R&D productivity. IEEE Trans. Eng. Manage. 33, 4 (Apr. 1986), 212- 217.Google ScholarGoogle Scholar
  5. 5 Barker, R.G. Ecological Psychology: Concepts and Methods for Studying the Environment of Human Behavior. Stanford Univ. Press, Pale Alto, Calif., 1986.Google ScholarGoogle Scholar
  6. 6 Barstow, D.R. Domain-specific automatic programming. IEEE Trans. Softw. Eng. 11, 11 (Nov. 1985), 1321-1336. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Belady, L.A. The Japanese and software: Is it a good match? IEEE Comput. 19, 6 {June 1986), 57-61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Boehm, B.W. Software Engineering Economics. Prentice-Hall, Englewood Cliffs, N.J., 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Boehm, B.W. Improving software productivity. IEEE Comput. 20, 9 (Sept. 1987), 43-57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Boehm, B.W. A spiral model of software development and maintenance. IEEE Comput. 2/, 5 (May 1988}, 61-72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Bouchard, T.J. Field research methods. In Handb. Ind. Organ. Psychol., Ed. M.D. Dunnette. Rand-McNally, Chicago, (1976): pp. 363-413.Google ScholarGoogle Scholar
  13. 13 Brenner, M., Brown, J., and Canter, D. The Research Interview: Uses and Approaches. Academic Press, London, 1985.Google ScholarGoogle Scholar
  14. 14 Brooks, F.P. The Mythical Man-Month. Addison-Wesley, Reading, Mass., 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Brooks, F.P. No silver bullet. IEEE Comput. 20, 4 (Apr. 1987), 10-19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Christiansen, D. On good designers. IEEE Spectrum 24, 5 (May 1987), 25.Google ScholarGoogle Scholar
  18. 18 Curtis, B. Measurement and experimentation in software engineering. Prec. IEEE 68, 9 (Sept. 1980), 1144-1157.Google ScholarGoogle ScholarCross RefCross Ref
  19. 19 Curtis, B. Substantiating programmer variability. Prec. IEEE 69, 7 (July 1981), 846.Google ScholarGoogle ScholarCross RefCross Ref
  20. 20 Curtis, B. Human Factors in Software Development. 2d ed. IEEE Computer Society, Wash., D.C., 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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.Google ScholarGoogle ScholarCross RefCross Ref
  23. 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.Google ScholarGoogle Scholar
  24. 24 DeMarco, T., and Lister, T.A. Peopleware. Dorset, New York, 1987.Google ScholarGoogle Scholar
  25. 25 Fenlason, A.F,, Ferguson, G.B., and Abrahamson, A.C. Essentials in Interviewing. Harper & Row, New York, 1962.Google ScholarGoogle Scholar
  26. 26 Fischer, B.A. Small Group Decision-Making. 2d ed. McGraw-Hill, New York, 1980.Google ScholarGoogle Scholar
  27. 27 Fox, ).M. Software and Its Development. Prentice-Hall, Englewood Cliffs, N.J., 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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.Google ScholarGoogle Scholar
  29. 29 Gould, J.D., and Lewis, C. Designing for usability: Key principles and what designers think. Commun. ACM 28, 3 (Mar. 1985), 300-311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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.Google ScholarGoogle Scholar
  31. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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.Google ScholarGoogle Scholar
  34. 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.Google ScholarGoogle Scholar
  35. 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.Google ScholarGoogle Scholar
  36. 36 Kant, E., and Newell, A. Problem solving techniques for the design of algorithms, lnfo. Process. Manage. 28, 1 (Jan. 1984), 97-118.Google ScholarGoogle Scholar
  37. 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.Google ScholarGoogle Scholar
  38. 38 Kincaid, H.V., and Bright, M. The tandem interview: A trial of the two-interviewer team. Public Opin. Q. 21, {1957), 304-312.Google ScholarGoogle Scholar
  39. 39 Klatzky, R.L. Human Memory: Structures and Processes. San Francisco, W.H. Freeman, 1975.Google ScholarGoogle Scholar
  40. 40 Kling, R. The web of computing: Computer technology as social organization. Vol. 21, Adv. Comput. Addison-Wesley, Reading, Mass., 1982, pp. 1-90.Google ScholarGoogle Scholar
  41. 41 Magnusson, D. Toward a Psychology of Situations: An lnteractionist Perspective. Erlbaum, Hillsdale, N.J., 1981.Google ScholarGoogle Scholar
  42. 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.Google ScholarGoogle ScholarCross RefCross Ref
  43. 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.Google ScholarGoogle Scholar
  44. 44 Mills, J.A. A pragmatic view of the system architect. Commun. ACM 28, 7 (July 1985), 708-717. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 45 Moos, R.H., and Insel, P.M. Issues in Social Ecology: Human Milieus. National Press Books, Pale Alto, Calif., 1974.Google ScholarGoogle Scholar
  46. 46 Myers, W. MCC: Planning the revolution in software. IEEE Softw. 2, 6 (Nov. 1985), 68-73.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 47 Newell, A. Heuristic programming: Ill structured problems. Vol. 3, In Prog. Oper. Res., Ed. J. Aronofsky. Wiley, New York, 1969, pp. 360- 414.Google ScholarGoogle Scholar
  48. 48 Rich, C., and Waters, R.C. Automatic programming: Myths and prospects. IEEE Comput. 21, 8 (Aug. 1988), 40-51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. 49 Rittel, H.W.J., and Webber, M.M. Dilemmas in a general theory of planning. Policy Sci. 4, 1973, 155-169.Google ScholarGoogle ScholarCross RefCross Ref
  50. 50 Rogers, E.M., and Kincaid, D.L. Communication Networks: Toward a New Paradigm for Research. Free Press, New York, 1981.Google ScholarGoogle Scholar
  51. 51 Scacchi, W. Managing software engineering projects: A social analysis. IEEE Trans, Softw. Eng. 10, I (Jan. 1984), 49-59.Google ScholarGoogle Scholar
  52. 52 Sells, S.B. An interactionist looks at the environment. Am. Psychol. 18, 11 (Nov. 1963), 696-702.Google ScholarGoogle ScholarCross RefCross Ref
  53. 53 Sells, S.B. Ecology and the science of psychology. Multivariate Behav. Res. 1, 2 (Feb. 1966), 131-144.Google ScholarGoogle ScholarCross RefCross Ref
  54. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. 55 Thamhain, H.J., and Wilemon, D.L. Building high performance engineering project teams. IEEE Trans. Eng. Manage. 34, 3 (Mar. 1987), 130-137.Google ScholarGoogle Scholar
  56. 56 Tushman, M.L. Special boundary roles in the innovation process. Adrn. Sci. Q. 22, 4 (Winter 1977), 587-605.Google ScholarGoogle ScholarCross RefCross Ref
  57. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. 58 Walston, C.E., and Felix, C.P. A method of programming measurement and estimation. IBM Syst. J. 16, 1 (Jan. 1977), 54-73.Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. 60 Warwick, D.P., and Lininger, C.A. The Sample Survey: Theory and Practice. McGraw-Hill, New York, 1975.Google ScholarGoogle Scholar
  61. 61 Weinberg, G.M. The Psychology of Computer Programming. Van Nostrand Reinhold, New York, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. 62 Whyte, W.F. Interviewing in field research. In Human Organization Research, Eds. R.N. Adams and J.J. Priess. 1960.Google ScholarGoogle Scholar
  63. 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.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A field study of the software design process for large systems

            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

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • 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

              Copyright © 1988 ACM

              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: 1 November 1988

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader