Work structures and shifts: an empirical analysis of software specification teamwork

The study and support of teamwork in upstream software development activities (e.g., specification, design) have been approached from a variety of perspectives. Those which address aspects of the division of labor typically focus on authority or communication structures. In this paper, we examine how teams of engineers develop software specifications, from a perspective emphasizing the division of labor in terms of the work structures themselves. We present a new typology of work structures and report on an empirical investigation of these work structures. We examine the teamwork process followed by each of five comparable teams of specification developers. The teams worked over a ten-day period with state-of-the- art specification resources to deliver functional specification documents meeting prescribed quality standards. Our data and analysis show the recurrence of various kinds of shifts in the teams' work structures. We discuss the resulting patterns of work structures and shifts and their implications. In particular, separative work structures were associated with improved specification teamwork efficiency, whereas integrative work structures were associated with improved specification product quality.

[1]  Victor R. Basili,et al.  Cleanroom Software Development: An Empirical Evaluation , 1987, IEEE Transactions on Software Engineering.

[2]  Walt Scacchi,et al.  On designing intelligent hypertext systems for information management in software engineering , 1987, Hypertext.

[3]  Les Gasser,et al.  The integration of computing and routine work , 1986, TOIS.

[4]  Walt Scacchi,et al.  The system factory approach to software engineering education , 1988 .

[5]  Marilyn Mantei,et al.  The effect of programming team structures on programming tasks , 1981, CACM.

[6]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[7]  E. Ramsden Group Process and Productivity , 1973 .

[8]  Atul Wad,et al.  Technology assessment , 1984 .

[9]  Bill Curtis,et al.  Communication breakdowns and boundary spanning activities on large programming projects , 1987 .

[10]  Marilyn M. Mantai The Effect of Programming Team Structures on Programming Tasks , 1981, Commun. ACM.

[11]  Dick B. Simmons,et al.  Predicting programming group productivity a communications model , 1975, IEEE Transactions on Software Engineering.

[12]  F. T. Baker,et al.  Chief Programmer Team Management of Production Programming , 1972, IBM Syst. J..

[13]  T. Dickinson,et al.  Task structure, work structure, and team performance. , 1969 .

[14]  Van Ark,et al.  Group Dynamics: The Psychology of Small Group Behavior , 1972 .

[15]  Martin S. Feather,et al.  Language support for the specification and development of composite systems , 1987, TOPL.

[16]  Robert C. Tausworthe The Work Breakdown Structure in Software Project Management , 1986 .

[17]  Brian Randell,et al.  Software Engineering: Concepts and Techniques , 1976 .

[18]  Richard E. Fairley,et al.  Software engineering concepts , 1985, McGraw-Hill series in software engineering and technology.

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

[20]  Alberto Cambrosio,et al.  Disaligning macro, meso and micro due process: a case study of office automation in Quebec colleges , 1988, COIS.

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

[22]  Walt Scacchi,et al.  A UNIX-based Gist specification processor: The system factory experience , 1986, 1986 IEEE Second International Conference on Data Engineering.

[23]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[24]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for team design deliberation , 1987, Hypertext.

[25]  A. Strauss Work and the Division of Labor , 1985 .

[26]  Barry W. Boehm,et al.  Prototyping Versus Specifying: A Multiproject Experiment , 1984, IEEE Transactions on Software Engineering.

[27]  Joan H. Fujimura,et al.  Constructing `Do-able' Problems in Cancer Research: Articulating Alignment , 1987 .

[28]  Walt Scacchi,et al.  Understanding software specification teamwork: an empirical analysis and model , 1991 .

[29]  Rob Kling,et al.  The Web of Computing: Computer Technology as Social Organization , 1982, Adv. Comput..

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

[31]  Walt Scacchi,et al.  Understanding Software Maintenance Work , 1987, IEEE Transactions on Software Engineering.

[32]  Terry Winograd,et al.  A language/action perspective on the design of cooperative work , 1986, CSCW '86.

[33]  Neil M. Goldman,et al.  Operational specification as the basis for rapid prototyping , 1982 .

[34]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[35]  Bill Curtis,et al.  On building software process models under the lamppost , 1987, ICSE '87.

[36]  Walt Scacchi,et al.  Understanding the production and consumption of software documentation: an empirical analysis and model , 1988 .

[37]  M. E. Shaw Group dynamics : the psychology of small group behavior , 1971 .