Using ethnographic methods in software engineering research

This tutorial provides an overview of the role of ethnography in Software Engineering research. It describes the use of ethnographic methods as a means to provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice. The knowledge gained can be used to improve processes, methods and tools as well as develop observed industrial practices. The tutorial begins with a brief historical account of ethnography in the fields of Software Engineering, CSCW, Information Systems and other related areas. This sets the stage for a more in-depth discussion of methods for data collection and analysis used in ethnographic studies. It then describes how these methods can be and have been used by software engineering researchers to understand developers' work practices, to inform the development of processes, methods and tools and to evaluate the applicability of current processes, methods and tools. Finally, some practical issues concerning the selection and use of ethnographic methods by software engineers are discussed. Throughout the tutorial, examples from the presenters' experience illustrate the points made.

[1]  David F. Redmiles,et al.  An empirical study of software developers' management of dependencies and changes , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[2]  David F. Redmiles,et al.  On The Roles of APIs in the Coordination of Collaborative Software Development , 2009, Computer Supported Cooperative Work (CSCW).

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

[4]  Yvonne Dittrich,et al.  How use-oriented development can take place , 2004, Inf. Softw. Technol..

[5]  Helen Sharp,et al.  Ethnographically-informed empirical studies of software practice , 2007, Inf. Softw. Technol..

[6]  Helen Sharp,et al.  Collaboration and co-ordination in mature eXtreme programming teams , 2008, Int. J. Hum. Comput. Stud..

[7]  Yvonne Dittrich,et al.  Doing Empirical Research on Software Development: Finding a Path between Understanding, Intervention, and Method Development , 2002, Social Thinking - Software Practice.

[8]  Yvonne Rogers,et al.  Interaction Design: Beyond Human-Computer Interaction , 2002 .

[9]  Li-Te Cheng,et al.  How a good software practice thwarts collaboration: the multiple roles of APIs in software development , 2004, SIGSOFT '04/FSE-12.

[10]  Maarten Sierhuis,et al.  Management of interdependencies in collaborative software development , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[11]  SharpHelen,et al.  Ethnographically-informed empirical studies of software practice , 2007 .

[12]  Yvonne Dittrich,et al.  Cooperative method development , 2008, Empirical Software Engineering.

[13]  Helen Sharp,et al.  Software Engineering: Community and Culture , 2000, IEEE Softw..