Patterns of interaction in eXtreme Programming (XP)

These Wiki pages describe an analysis of the cooperative activities that characterise an instantiation of the agile software development methodology ExtremeProgramming (XP) in a small software production house, located in Manchester, UK. Aspects of the work arrangements and teamwork activities are described as, and related to the Patterns of Cooperative Interaction detailed in the POINTER project.

A primary source for these pages is the paper From cards to code: how Extreme Programming re-embodies programming as a collective practice,Mackenzie, A., Monk, S. & Lewis, P. (2002)

Patterns of Cooperative Interaction

The Patterns of Cooperative Interaction project at Lancaster seeks to specifically address how similar findings from different ethnographic field studies of work and technology can be extracted from those studies and compared and contrasted. As ethnographers of some years experience we are aware that we see similar phenomena and arrangements of work in different settings. Patterns are meant to be a way of making our knowledge of this more visible and accessible for a range of practitioners. Hopefully, this provides a new and more simple point of access to a range of studies and will serve to introduce the reader to some of the sensitivities we, as ethnographers, routinely consider. In the main POINTER website each pattern example has a front page which describes its essence, and why and how it may be of use in designing for dependability. From each front page two plus specific individual vignettes (instantiations) from different studies are accessible. Each vignette is described according to five perspectives: Cooperative Arrangement, Representation of Activity, Ecological Arrangement, Coordination Techniques and Community of Use. These capture various details about who and what is involved in the activity, how it is represented, where it takes place, how layout is related to the activity, and the activities by which workers coordinate.

In this related website we are interested to detail a series of patterns examples derived from an ethnographic study of software development using XP. As well as adding vignettes and possible new patterns to our collection we are interested in specifically describing a series of patterns from a specific workplace. Furthermore, we are using the patterns idea as a way of comparing the orchestrated cooperative focus of XP with the more modular, segmented and individualist way of working which often arises in more conventional software development. We consider there to be specific benefits of the XP way of working and are keen to describe how particular work arrangements benefit group collaboration, cohesion, intergration. In describing the patterns arising from XP we have collapsed the five perspectives (used for describing each vignette) into a single description but have specifically added a 'comparison with other methods' section.

As well as identifying some new examples (vignette instantiations) of patterns already listed under the POINTER project, this analysis has also yielded some new CandidatePatterns.

'New' Examples of Existing Patterns

Examples of Candidate Patterns

Contributions

The Pointer project is open to any suggestions for further candidate patterns that result from experience or studies in software methodologies. In particular, we are especially interested in any other studies that have been made on XP or other agile methodologies. If you have any suggestions for candidate patterns, then please feel free to add a new Wiki page for them. As you can see above, we already have a new candidate pattern contributed!