Anthropological Foundations

Software development cultures have culture. In fact, most organizations have cultures and styles they can call their own. Yet we can talk about software cultures that map onto technologies or industry segments and which cross organizational, corporate and national boundaries, and we dare even speak of a "software development culture" at the highest level. 

Too often, computer people use their own tools--processes, tasks, functions--to describe the structure and practices of their organizations. Since we followed cultural leadings in writing this book, we thought it would be good to build on insights and foundations from anthropology, the formal world of the study of culture. 

There is certainly much more work that can be done in this area, and some anthropologists are pursuing study of such organizations (for example, [BibRef-Brajkovich1994]). There are broad cultural findings that might be turned into relevant insights. For example, we find that most of the patterns we have discovered have a strong element of polychronic culture in them: cultures that value personal relationships over objects, and which value broad social networks over punctuality. That seems paradoxical in a world of introverted engineers working toward deadlines and schedules; the contrast is striking. Anthropological tools can highlight and perhaps explain these contrasts in ways that prior models cannot, and should not. 

We look at a few interesting aspects of culture and anthropological foundations in the next few sections. We also look at closely related patterns in other contemporary pattern languages. These sections are supplementary to understanding and applying the patterns, but they offer interesting historical context.