The Role of Ethnographic Studies in Empirical Software Engineering

Helen Sharp, Yvonne Dittrich, Cleidson R. B. de Souza

Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review


Ethnography is a qualitative research method used to study people and cultures. It is largely adopted in disciplines outside software engineering, including different areas of computer science. Ethnography can provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice, i.e., it can help to uncover not only what practitioners do, but also why they do it. Despite its potential, ethnography has not been widely adopted by empirical software engineering researchers, and receives little attention in the related literature. The main goal of this paper is to explain how empirical software engineering researchers would benefit from adopting ethnography. This is achieved by explicating four roles that ethnography can play in furthering the goals of empirical software engineering: to strengthen investigations into the social and human aspects of software engineering; to inform the design of software engineering tools; to improve method and process development; and to inform research programmes. This article introduces ethnography, explains its origin, context, strengths and weaknesses, and presents a set of dimensions that position ethnography as a useful and usable approach to empirical software engineering research. Throughout the paper, relevant examples of ethnographic studies of software practice are used to illustrate the points being made.
Original languageEnglish
JournalI E E E Transactions on Software Engineering
Issue number8
Pages (from-to)786-804
Number of pages19
Publication statusPublished - 2016


Dive into the research topics of 'The Role of Ethnographic Studies in Empirical Software Engineering'. Together they form a unique fingerprint.

Cite this