The Psychology of Programming in the Large: Team and Organizational Behaviour

Publisher Summary This chapter focuses on the psychology of programming in relation to team and organizational behavior. Software development must be studied at several behavioural levels. Organizing programmers into teams superimposes a layer of social behavior on the cognitive requirements of programming tasks. Two structures have been proposed for programming teams based on the centralized versus decentralized team organizations often studied in group dynamics research. A hybrid approach to structuring programming teams might be taken on large projects that have characteristics favourable to different types of programming teams. Programming team activities offer many opportunities for peer review activities that may be formal or informal components of the development process. On the other hand, team methodologies must focus on coordinating the tasks and product concept. The structure of programming teams should reflect the nature of the task rather than the organization, allow members to speak as if with one mind, and determine the tasks the team can effectively handle.

[1]  T. J. Allen,et al.  Organizational structure, information technology, and R&D productivity , 2018, IEEE Transactions on Engineering Management.

[2]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[3]  Joseph M. Fox,et al.  Software and Its Development , 1982 .

[4]  Ananth Srinivasan,et al.  Relationships between selected organizational factors and systems development , 1987, CACM.

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

[6]  Bill Curtis,et al.  Five Paradigms in the Psychology of Programming , 1988 .

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

[8]  J. A. kernaghan,et al.  The contribution of the group process to successful project planning in R&D settings , 1986, IEEE Transactions on Engineering Management.

[9]  Barry W. Boehm,et al.  Improving Software Productivity , 1987, Computer.

[10]  Everett M. Rogers,et al.  Communication Networks: Toward a New Paradigm for Research , 1980 .

[11]  Capers Jones,et al.  Programming Productivity , 1986 .

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

[13]  M. Tushman Special Boundary Roles in the Innovation Process. , 1977 .

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

[15]  S. B. Sells AN INTERACTIONIST LOOKS AT THE ENVIRONMENT , 1963 .

[16]  Cynthia Mathis Beath,et al.  The use of case study data in software management research , 1988, J. Syst. Softw..

[17]  Philip Kraft,et al.  Programmers and Managers: The Routinization of Computer Programming in the United States , 1977 .

[18]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[19]  Bill Curtis,et al.  Productivity factors and programming environments , 1984, ICSE '84.

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

[21]  Izak Benbasat,et al.  The Case Research Strategy in Studies of Information Systems , 1987, MIS Q..

[22]  Hans J. Thamhain,et al.  Building high performing engineering project teams , 1987, IEEE Transactions on Engineering Management.

[23]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

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

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

[26]  Victor R. Basili,et al.  A Controlled Experiment Quantitatively Comparing Software Development Approaches , 1981, IEEE Transactions on Software Engineering.

[27]  John B. Black,et al.  Software psychology: The need for an interdisciplinary program , 1986, Proceedings of the IEEE.

[28]  Claude E. Walston,et al.  A Method of Programming Measurement and Estimation , 1977, IBM Syst. J..

[29]  Tracy Kidder,et al.  Soul of a New Machine , 1981 .

[30]  S. B. Sells Ecology And The Science Of Psychology. , 1966, Multivariate behavioral research.

[31]  Walt Scacchi,et al.  Managing Software Engineering Projects: A Social Analysis , 1984, IEEE Transactions on Software Engineering.

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

[33]  Ronald S. Lemos An implementation of structured walk-throughs in teaching Cobol programming , 1979, CACM.

[34]  Robert C. Daley,et al.  The Role of Team and Task Characteristics in R&D Team Collaborative Problem Solving and Productivity , 1978 .

[35]  Henry C. Lucas,et al.  Organizational power and the information services department , 1984, CACM.

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

[37]  Richard C. Waters,et al.  Automatic programming: myths and prospects , 1988, Computer.

[38]  Glenford J. Myers,et al.  A controlled experiment in program testing and code walkthroughs/inspections , 1978, CACM.

[39]  Thomas J. Allen,et al.  Communication networks in R & D Laboratories , 1970 .

[40]  Bill Curtis,et al.  Experimental evaluation of software documentation formats , 1989, J. Syst. Softw..