Advertisement

Computer Supported Cooperative Work (CSCW)

, Volume 13, Issue 1, pp 91–117 | Cite as

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

  • Adrian MacKenzie
  • Simon Monk
Article

Abstract

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.

co-ordination work ethnography extreme programming software development techniques user-centred design 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, R. and Sharrock, Wes (1993): Can Organisations Afford Knowledge? Computer Supported Cooperative Work(CSCW), vol. 1, pp. 143–161.Google Scholar
  2. Auer, Ken and Roy Miller (2001): Extreme Programming Applied. Addison-Wesley Publishers Ltd.Google Scholar
  3. Bannon, Liam and Susanne Bodker(1997): Constructing Common Information Spaces. In J.A. Hughes, W. Prinz, T. Rodden and K. Schmidt (eds.): Proceedings of the Fifth European Conference on Computer Supported Cooperative Work. Dordrecht: Kluwer Academic Publishers.Google Scholar
  4. Beck, Kent (2000): Extreme Programming Explained. Embrace Change. Addison-Wesley Publishers Ltd.Google Scholar
  5. Berg, Marc (1999): Accumulating and Coordinating: Occasions for Information Technologies in Medical Work. Computer Supported Cooperative Work, vol. 8, pp. 373–401.CrossRefGoogle Scholar
  6. Brooks, Frederick P. (1975): The Mythical Man-Month. Essays on Software Engineering. Reading, MA: Addison-Wesley Publishing Company.Google Scholar
  7. Button, Graham and Wes Sharrock (1996): Project Work: The Organisation of Collaborative Design and Development in Software Engineering. Computer Supported Cooperative Work: The Journal of Collaborative Computing, vol. 5, pp. 369–386.CrossRefGoogle Scholar
  8. Clark, Andy (1997): Being There. Putting Brain, Body, and World Together Again. Cambridge, MA: MIT Press.Google Scholar
  9. Curtis, Bill, Herb Krasner and Neil Iscoe (1988): A Field Study of the Software Design Process for Large Systems. Communications of the ACM(November), vol. 31, no. 11, pp. 1268–1287.CrossRefGoogle Scholar
  10. Grint, Rebecca A. (1997): Doing Software Development: Occasions for Automation and Formalisation. In J.A. Hughes, W. Prinz, T. Rodden and K. Schmidt (eds.): ESCW97 Proceedings of the Fifth Conference on Computer Supported Cooperative Work. Dordrecht: Kluwer Academic Publishers.Google Scholar
  11. Latour, Bruno (1996): Aramis, or the Love of Technology, C. Porter (trans.). Cambridge, MA: Harvard University Press.Google Scholar
  12. Lynch, Michael (1993): Scientific Practice and Ordinary Action: Ethnomethodology and Social Studies of Science. Cambridge: Cambridge University Press.Google Scholar
  13. Ó Riain, Seán (2000): Working for a Living Irish Software Developers in the Global Workplace. In M. Burawoy (ed.): Global Ethnography Forces, Connections, and Imaginations in a Postmodern World. Berkeley and Los Angeles: University of California Press.Google Scholar
  14. Quintas, Paul (1996): Software by Design. In R. Mansell and R. Sliverstone (eds.): Communication by Design: the Politics of Information and Communication Technologies. Oxford: Oxford University Press, pp. 75–102.Google Scholar
  15. Sommerville, lan (2001): Software Engineering(6th edn.). Harlow: Pearson Education & Addison Wesley.Google Scholar
  16. Star, Susan Leigh and Karen Ruhleder (1996): Steps Toward an Ecology of Infrastructure: Design and Access for Large Information Spaces. Information Systems Research(March), vol. 7.1, pp. 111–134.Google Scholar
  17. Succi, Giancarlo and Michele Marchesi (2001): Extreme Programming Examined. Addison-Wesley Publishers Ltd.Google Scholar
  18. Suchman, Lucy A. and Randall H. Trigg (1996): Artificial Intelligence as Craftwork. In Understanding Practice: Perspectives on activity and context. Cambridge: Cambridge University Press.Google Scholar
  19. Wake, William C. (2001): Extreme Programming Explored. Addison-Wesley Publishers Ltd.Google Scholar

Copyright information

© Kluwer Academic Publishers 2004

Authors and Affiliations

  • Adrian MacKenzie
    • 1
  • Simon Monk
    • 2
  1. 1.Computing Department, Faculty of Applied SciencesLancaster UniversityLancasterUK
  2. 2.SabiliLtdManchesterUK

Personalised recommendations