Gathering Organizational Data

This work draws on data gathered as part of the Pasteur process research program at AT&T Bell Laboratories. In the Pasteur program, we studied software development organizations in many companies worldwide, covering a wide spectrum of development cultures. The Pasteur analysis techniques are based in part on organizational visualization. Many of the patterns in this pattern language have visual analogues in the Pasteur analyses. We sometimes use visualizations to illustrate a pattern.

There are two kinds of pictures used in the Pasteur studies. The first is a social network diagram, also called an adjacency diagram. Each diagram is a network of roles and the communication paths between them. The roles are placed according to their coupling relationships: closely coupling roles are close together, and de-coupled roles are far apart. Roles at the center of these pictures tend to be the most active roles in these organizations, while those nearer the edges have a more distant relationship with the organization as a whole.

The second kind of picture is an interaction grid. The interaction grid is a communication matrix for the organization, structured in a way that makes it easier to find clusters of communication, of engaged and disengaged roles, and of other patterns in the communication network. We present an overview of these tools in ReadingThePatterns , and describe them in more detail in the section SocialNetworkAnalysis .

The pattern texts in this book often make reference to documents or projects that typify the pattern, particularly in the Design Rationale section of the patterns. One of our most important case studies was a 1993 evaluation of Borland's QuattroPro for Windows development, also called "QPW" in the text. This research is further discussed in the proceedings of BIC/94 [BibRef-Coplien1994 ], in a column by Richard Gabriel [BibRef-Gabriel1994 ], and in an article in Dr. Dobb's Journal [BibRef-Coplien1994b ]. The case study appears in this book as BorlandQuattroProForWindows .