Software development is a predominantly social activity. Individuals in a software project fill various roles and communicate with other roles, forming a social network of communication that embodies many important characteristics of the organization. These social networks lend themselves to both quantitative and visual analysis. In an attempt to isolate important factors that contribute to software productivity, we have used both visual and quantitative data to uncover patterns of organization and process that are characteristic of highly productive software projects. These patterns, in turn, have enabled us to establish guiding principles for roles and for communication among roles. Several projects have begun to apply these patterns in a generative manner to reshape their organizations.
[1]
Kent Beck.
Kent Beck's Guide to Better Smalltalk: THINK LIKE AN OBJECT
,
1997
.
[2]
Philip K. Howard.
The Death of Common Sense: How Law Is Suffocating America
,
1994
.
[3]
James O. Coplien,et al.
A generative development-process pattern language
,
1995
.
[4]
Doug Kimelman,et al.
Visualizing the behavior of object-oriented systems
,
1993,
OOPSLA '93.
[5]
Stanley Wasserman,et al.
Social Network Analysis: Methods and Applications
,
1994
.
[6]
Kenneth Ward Church,et al.
Dotplot : a program for exploring self-similarity in millions of lines of text and code
,
1993
.
[7]
E. Lawler.
Pay and organization development
,
1971
.