Situated Software Development: Work Practice and Infrastructure Are Mutually Constitutive

Software developers' work is much more interesting and multifarious in practice than formal definitions of software development processes imply. Rational models of work are often representations of processes defined as they should be performed, rather than portrayals of what people actually do in practice. These models offer a simplified picture of the phenomena involved, and are frequently confused with how the work is carried out in reality, or they are advocated as the ideal way to accomplish the work. A longitudinal ethnographic study (45 days of fieldwork over 20 months) of a group of professional software developers revealed the importance of including their observed practice, and the "infrastructure" that supports and shapes this practice, in an authentic account of their work. Moreover, this research revealed that software development work practice and the infrastructure used to produce software are inextricably entwined and mutually constitutive over time.

[1]  Lucy Suchman,et al.  Supporting Articulation Work , 1995, Computerization and Controversy, 2nd Ed..

[2]  Richard Bentley,et al.  Integrating ethnography into the requirements engineering process , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[3]  Lucy A. Suchman,et al.  Office procedure as practical action: models of work and system design , 1983, TOIS.

[4]  Ian Sommerville,et al.  Making ethnography accessible , 2004 .

[5]  Helen Sharp,et al.  XP culture: why the twelve practices both are and are not the most significant thing , 2003, Proceedings of the Agile Development Conference, 2003. ADC 2003.

[6]  Donald A. Schön The reflective practitioner : how professionals think in action , 1986 .

[7]  Venkataraman Ramesh,et al.  Research in software engineering: an analysis of the literature , 2002, Inf. Softw. Technol..

[8]  Toni Robertson,et al.  Programming Infrastructure and Code Production: An Ethnographic Study , 2006 .

[9]  Richard Harper,et al.  The Organisation in Ethnography –A Discussion of Ethnographic Fieldwork Programs in CSCW , 2000, Computer Supported Cooperative Work (CSCW).

[10]  Richard Bentley,et al.  Ethnographically-informed systems design for air traffic control , 1992, CSCW '92.

[11]  David B. Martin,et al.  'Good' Organisational Reasons for 'Bad' Software Testing: An Ethnographic Study of Testing in a Small Software Company , 2007, 29th International Conference on Software Engineering (ICSE'07).

[12]  Helen Sharp,et al.  An Ethnographic Study of XP Practice , 2004, Empirical Software Engineering.

[13]  Rebecca E. Grinter Supporting articulation work using software configuration management systems , 1996, Computer Supported Cooperative Work (CSCW).

[14]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

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

[16]  JaatunMartin Gilje,et al.  Agile Software Development , 2002, Comput. Sci. Educ..

[17]  J. Orr,et al.  Talking About Machines: An Ethnography of a Modern Job. , 1997 .

[18]  Les Gasser,et al.  The integration of computing and routine work , 1986, TOIS.

[19]  Etienne Wenger,et al.  Communities of Practice: Learning, Meaning, and Identity , 1998 .

[20]  J. Brown,et al.  Organizational Learning and Communities-of-Practice: Toward a Unified View of Working, Learning, and Innovation , 1991 .

[21]  Ian Sommerville,et al.  Ethnographically informed analysis for software engineers , 2000, Int. J. Hum. Comput. Stud..