Knowledge Management in Software Engineering: A Systematic Review of Studied Concepts and Research Methods Used

By June 20, 2015

In this article, we report on a systematic review of empirical studies of knowledge management in software engineering. Our goal is to provide an overview of empirical studies within this field, what kinds of concepts have been explored, and what research methods are used.

Software engineering is a knowledge-intensive activity. For software organisations, the main assets are not manufacturing plants, buildings, and machines, but the knowledge of the employees. Software engineering has long recognized the need for managing knowledge and the community could learn much from the knowledge-management community, which bases its theories on well-established disciplines such as cognitive science, ergonomics, and management.

As the field of software engineering matures, there is an increased demand for empirically-validated results and not just the testing of technology, which seems to have dominated the field so far. A recent trend in software engineering is an increased focus on evidence-based software engineering, EBSE [37, 59]. Since the volume of research in the field is expanding constantly, it is becoming more and more difficult to evaluate critically and to synthesise the material in any given area. This has lead to an increased interest in systematic reviews (SR) [58] within the field of software engineering.

The purpose of this paper is (1) to perform a systematic review of empirical studies of knowledge management in software engineering, (2) to present the major concepts that has been investigated and the research methods used, and (3) to point out potential research gaps in the field that require further investigation.

Our target readership is three groups that we think will be interested in an overview of empirical research on knowledge management in software engineering: (1) researchers from software engineering who would also be interested in what concepts have been researched, and how these concepts have been researched; (2) researchers on knowledge management in general, who would be interested in comparing work in the software engineering field to other knowledge-intensive fields; and (3) reflective practitioners in software engineering, who will know what knowledge management initiatives have been made in software companies.

The remainder of this article is structured as follows. Section 2 presents the background and general theories on knowledge management. Section 3 describes the research method that we used to select and review the data material for our research, and presents our chosen framework for analysis. Section 4 presents the results of the systematic review according to our chosen framework. In Section 5, we discuss the implications of our findings. Section 6 concludes.