From Cards to Code: How Extreme Programming Re-Embodies Programming as a Collective Practice

This paper discusses Extreme Programming (XP), a relatively new and increasingly popular ‘user-centred’ software design approach. Extreme Programming proposes that collaborative software development should be centred on the practices of programming. That proposal contrasts strongly with more heavily instrumented, formalised and centrally managed software engineering methodologies. The paper maps the interactions of an Extreme Programming team involved in building a commercial organisational knowledge management system. Using ethnographic techniques, it analyses how this particular style of software development developed in a given locality, and how it uniquely hybridised documents, conversations, software tools and office layout in that locality. It examines some of the many artifices, devices, techniques and talk that come together as a complicated contemporary software system is produced. It argues that XP's emphasis on programming as the core activity and governing metaphor can only be understood in relation to competing overtly formal software engineering approaches and the organisational framing of software development. XP, it suggests, gains traction by re-embodying the habits of programming as a collective practice.

[1]  Ken Auer,et al.  Extreme Programming Applied: Playing to Win , 2001 .

[2]  Ian Sommerville,et al.  Software engineering (6th ed.) , 2001 .

[3]  Rebecca E. Grinter Doing Software Development: Occasions for Automation and Formalisation , 1997, ECSCW.

[4]  A. Parry Scientific Practice and Ordinary Action: Ethnomethodology and Social Studies of Science , 1996 .

[5]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

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

[7]  A. Clark Being There: Putting Brain, Body, and World Together Again , 1996 .

[8]  Harold Salzman Software by design , 1994 .

[9]  Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

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

[11]  William C. Wake,et al.  Extreme Programming Explored , 2001 .

[12]  Liam J. Bannon,et al.  Constructing Common Information Spaces , 1997, ECSCW.

[13]  Giancarlo Succi,et al.  Extreme Programming Examined , 2001 .

[14]  Michael Burawoy,et al.  Global Ethnography: Forces, Connections, and Imaginations in a Postmodern World , 2000 .

[15]  David Lorge Parnas,et al.  Software design , 2001 .

[16]  Bob Anderson,et al.  Can organisations afford knowledge? , 1992, Computer Supported Cooperative Work (CSCW).

[17]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[18]  L. Suchman,et al.  Understanding practice: Artificial intelligence as craftwork , 1993 .

[19]  Marc Berg,et al.  Accumulating and Coordinating: Occasions for Information Technologies in Medical Work , 1999, Computer Supported Cooperative Work (CSCW).

[20]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[21]  B. Latour Aramis, or the Love of Technology , 1993 .

[22]  Karen Ruhleder,et al.  Steps Toward an Ecology of Infrastructure: Design and Access for Large Information Spaces , 1996, Inf. Syst. Res..

[23]  Wes Sharrock,et al.  Project work: The organisation of collaborative design and development in software engineering , 1996, Computer Supported Cooperative Work (CSCW).