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.
Proceedings of the 32nd Acm/ieee International Conference on Software Engineering - Volume 2, 2010