Systematic Review Guidelines in Software Engineering
Systematic Review Guidelines in Software Engineering
net/publication/336548222
CITATIONS READS
19 330
2 authors, including:
Mahmood Niazi
King Fahd University of Petroleum and Minerals
149 PUBLICATIONS 7,999 CITATIONS
SEE PROFILE
All content following this page was uploaded by Mahmood Niazi on 07 July 2020.
Mahmood Niazi
National ICT Australia
Australian Technology Park
Garden Street, Eveleigh, NSW 1430 Australia
and
School of Computing and Mathematics
Keele University
Staffs ST5 5BG United Kingdom
[Link]@[Link]
A systematic review is a defined and methodical way to identify, assess and analyse published primary
studies in order to investigate a specific research question. Kitchenham has recently published
guidelines for software engineering researchers performing systematic reviews. The objective of our
paper is to critique Kitchenham’s guidelines and to comment on systematic review generally with
respect to our experiences conducting our first systematic review. Our perspective as neophytes may
be particularly illuminating for other software engineering researchers who are also considering
conducting their first systematic review. Overall we can recommend Kitchenham’s guidelines to other
researchers considering systematic reviews. We caution researchers to clearly and narrowly define the
research questions they will investigate by systematic review, to reduce the overall effort and to
improve the quality of the selection of papers and extraction of data. In particular we recommend
defining complementary research questions that are not within the scope of the systematic review in
order to clarify the boundaries of the specific research question of interest. An instance of this
recommendation is that researchers should clearly define the unit of study for the systematic review.
1. INTRODUCTION
A systematic review is a defined and methodical way of identifying, assessing, and analysing published primary
studies in order to investigate a specific research question. A systematic review can also discover the structure and
patterns of existing research, and so identify gaps that can be filled by future research. [6] Systematic reviews differ
from ordinary literature surveys in being formally planned and methodically executed. A good systematic review
should be independently replicable and so will have much greater scientific value than an ordinary literature survey.
However, systematic reviews require much more effort than ordinary literature surveys.
The following features differentiate a systematic review from a conventional literature review [6]:
• Definition and documentation of a systematic review protocol in advance of conducting the review, to specify
the research questions and the procedures to be used to perform the review.
• Definition and documentation a search strategy as part of the protocol, to find as much of the relevant
literature as possible.
• Description of the explicit inclusion and exclusion criteria as part of the protocol, to be used to assess each
potential study.
• Description of quality assessment mechanisms as part of the protocol, to evaluate each study.
• Description of review and cross-checking processes as part of the protocol, and involving multiple
independent researchers, in order to control researcher bias.
Kitchenham [6] has recently published guidelines for software engineering researchers performing systematic
reviews. Although procedures and systems for systematic reviews are well established in other disciplines
(particularly in medicine), software engineering researchers have yet to come to a well understood consensus
about the conduct and value of systematic reviews.
The objective of this paper is to comment on Kitchenham’s guidelines and comment on systematic review generally
with respect to our experiences conducting a systematic review [8] informed by Kitchenham’s guidelines. This
systematic review was the first that we have conducted, and so our critique is from the perspective of neophytes
and may be particularly illuminating for other researchers who are also considering conducting their first systematic
review.
This paper is organised as follows. Section 2 sketches an overview of the systematic review process as described
by Kitchenham [6]. Section 3 describes our experiences performing our first systematic review. In Section 4 we
critique Kitchenham’s systematic review guidelines in light of our experiences and discuss some the lessons we
have learned. Section 5 concludes and discusses a few suggested improvements to the systematic review
approach for software engineering research.
Kitchenham discusses research questions at some length, detailing various types of research questions
appropriate for systematic review, broader justification for research questions, and the detailed structure
(population, intervention, outcomes) of research questions. Kitchenham here also discusses the issue of admitting
studies with different types of experimental designs. In particular she discusses whether studies based on expert
opinion should be admitted for systematic reviews on software engineering.
Kitchenham recommends in several places that aspects of the protocol should be piloted during its development.
In particular, the search terms, selection criteria, and data extraction procedures should all be trialled before
finalising the protocol.
A formal search strategy (described in the protocol) is used to find the entire population of publications relevant to
the research questions. Explicit description of the search strategy helps to make the study replicable and open to
external review. Kitchenham notes that the search strategy should attempt to address publication bias by trying to
find publications that report “negative” results. The search terms and results should be documented and archived.
These questions seemed prima facie to be amenable to investigation by systematic review, by aggregating
information from surveys and experience reports. We would also attempt to extract data about organisation size
and industry and treat them as auxiliary variables in our study.
As suggested in Kitchenham’s guidelines, we did identify a previous systematic review related to CMM [4].
However, that study did not address our research question, and relied on a private database of CMM assessment
results. So it did not make a useful contribution to the development of our systematic review protocol.
Our research questions were similar to one of the general kinds of question suitable for investigation by systematic
review listed by Kitchenham: “assessing the frequency or rate of a project development factor such as the adoption
of a technology…” We were trying to discover the frequency of (de-)motivations for the adoption of CMM or CMM-
based SPI. Again as suggested by Kitchenham we considered our research questions to have broader justification
because they could help us understand factors affecting the adoption of SPI, which could lead to practical
improvements in either SPI approaches or in their dissemination, and might reveal discrepancies between beliefs
and reality about adoption of CMM or CMM-based SPI.
Kitchenham describes a general structure for research questions based on the population, intervention, and
outcomes of interest. The structure of our research question did not fit entirely comfortably with all of these
viewpoints as suggested by Kitchenham. If we were to force our question into this structure, the “populations” are
organisations who have made a decision about adopting CMM or CMM-based SPI, and the “intervention” is best
seen as the organisation’s motivation or key driver for our “outcome”: adopting CMM or CMM-based SPI.
We decided to admit surveys, case studies, and self-reported experience reports, but decided to exclude expert
opinions. We felt that there would be enough data without resorting to expert opinion, and we were concerned
about the possibility that “received opinion” within the SPI community may not reflect reality, especially as
experienced by SMEs.
The definition of our search strategy was unexpectedly difficult. We used an initial list of resources, and an initial
uniform search term. The initial search term was intended to be logically similar to: (“CMM” OR “CMMI”) AND
(“motivation” OR “reason”). During an initial trial period we tried to communicate the search instructions by email to
each other and replicate each other’s search results. We discovered that each of our searchable resources had
different search syntaxes and form interfaces. Moreover, some resources would return different results for the
“same” term depending on whether their “Basic” or “Advanced” search form was used.
We found our initial search term was too restrictive, and realised that we could not invent a search term that
restricted results to only those that discussed the organisational motivation for SPI. We broadened our search term
to be logically similar to:
“CMM” OR “CMMI”
However, the resources we searched covered a different variety of fields, each using different terminology. In
some resources the search term above would return papers in other fields using the acronym “CMM” (e.g.
“cutaneous malignant melanoma”). So for those resources we used a more specific search term:
We broadened our list of resources from journal and conference databases to also include the SEI website, and
recorded the specific search string that we used for each resource.
Following Kitchenham’s guidelines, and because we had such broad search terms, we planned to have a two-
stage selection process: first to exclude any obviously irrelevant publications, and second to include only those
publications that contained data relevant to our research question. That is, we only ultimately selected those
publications that gave direct evidence about actual organisations’ explicitly stated reasons for adopting or not
adopting CMM-based or CMMI-based SPI initiatives. This evidence could include publications that described why
organisations had chosen one SPI approach over another.
The selection process was initially planned to be performed by one researcher as opposed to two [6], in order to
reduce the major effort associated with this task. We initially planned that a second researcher would
independently select publications from a random sample of the archived search results, and perform an inter-rater
reliability test to confirm the accuracy of the selection process.
Kitchenham’s guidelines suggest performing a quality assessment of each selected publication. We did not feel it
would be possible for us (or perhaps any other individuals) to assess the extent to which other authors were able to
identify and actually control threats to the validity of their studies. So, instead of trying to gauge the actual quality
of publications, we only extracted a “YES” or “NO” for attributes for each of publication bias, internal validity, and
external validity solely on the basis of whether the publication mentioned methodological issues related to these
threats. That is, we did not make any judgements about the publications’ effective treatment of these threats, but
rather only if the publication discussed the possibility of these threats. Kitchenham’s guidelines suggest performing
the quality assessment in a separate phase immediately prior to data extraction. However, we treated our
publication quality attributes like another piece of data, to be extracted at the same time as data extraction.
In order to extract data, we constructed a data model to suit our systematic review, as shown below in Figure 1.
A publication has attributes describing its publication details, and can contain a number of studies (e.g. a single
paper might report both a survey and a case study each addressing a single research question). We recognised
that “multiple case study” can be seen as a distinct methodology in its own right [10]. However for our purposes,
where a publication contained multiple case studies we treated them each as separate studies. Each study within a
publication has attributes that would be determined during the data extraction phase. The reasons for adopting
CMM-based SPI were to be recorded using quoted text from the publications.
One researcher was to initially extract information from all selected publications. A second researcher was to
independently extract information from a random sample of all selected publications, and the results were to be
compared in an inter-rater reliability check.
In order to have a more abstract view of the data, we planned in the data synthesis phase to group together similar
reasons into categories. We planned to start with no pre-defined categories and to aggregate reasons into
categories incrementally. A second researcher was to independently perform this analysis, and the results were to
be compared with an inter-rater reliability check. Then the results of the systematic review would be determined
using a frequency analysis of these categories and a statistical analysis of their relationship to the attributes of
organizations.
Our protocol went through many review and short trial iterations, principally to improve search terms and our plans
for inter-rater reliability checking between researchers. Eventually we declared that we had a “final” protocol,
despite being unsure about when “enough was enough” in our review process. At this stage there were still
unresolved issues related to inter-rater reliability checking. For example, when checking publication selection on
random sample, what action would we take if we did not get good agreement? Could we fix those problems, and
any systematic errors those problems revealed, and then take another random sample to check again? If so,
would we throw the already checked papers back into the random sampling?
Our search terms identified 591 publications. The results of the searches were archived to a local computer in a
tabular word processing document using a format shown in Table 1. The electronic versions of publications were
also stored in a filesystem directory for easy access during the systematic review.
ScienceDirect
Search Term = (CMM OR CMMI) AND ‘capability maturity’
ID Publication Initial selection decision Final selection decision
1 Title
Journal Title, Volume X, Issue Y1, Date, Pages N-M
Authors
In the end, the two researchers independently selected from among all the search results. In our first attempt at
the two phases, we did not achieve a result indicating reliable agreement in either the initial or final selection. We
took the union of our initially-selected shortlists and from this combined list of 73 publications each independently
re-performed the final selection. Again, we did not achieve a result indicating reliable agreement. We resolved this
by discussing selection criteria, and by again performing an independent selection on the newly combined list of 62
publications, this time by physically highlighting quotes within each paper to justify its inclusion. In a joint meeting
we considered each point of difference in turn and came to agreement about its selection. This resulted in a list of
46 publications. An illustration of the selection process is shown in Figure 2.
During the selection of primary studies, we became aware of possible problems of interpretation with our selection
criteria. We found several studies discussing individual practioners motivations for SPI. Should these studies be
included to investigate organisational motivations for SPI? (After all, these practioners were part of organisations
involved with SPI.) We decided initially to select these studies only to include in a sensitivity analysis.
During data extraction it also became clear that the individual motivators for SPI were different in kind from the
organisational motivators for SPI. Although we had thought to include the studies of individual motivators for SPI
only in a sensitivity analysis, we finally decided to exclude them from our study altogether. We also found some
papers that listed problems faced by an organization, and then listed the fact of the organization’s adopting of
CMM-based SPI, but did not claim that the organization’s adoption of CMM-based SPI was intended to address
those problems. This was a subtle but important distinction – we decided that such papers should not be included
in our systematic review, as we wanted to investigate (explicitly listed) reasons for adoption, as opposed to
investigating the problems that are faced by organizations that adopt CMM-based SPI.
We also discovered after data extraction that we did not have a significant number of publications that provided
reasons why organisations did not choose to adopt CMM or CMM-based SPI. We dropped this research question
from our systematic review. Kitchenham notes that one of the possible uses for systematic review is to identify
gaps in existing research, but we had not initially intended to use systematic review for this purpose!
As planned in the protocol, two researchers independently classified and grouped these motivations. Each
researcher invented a different list of categories, but a common list of categories was agreed upon. The
independent classification of quotes into categories was repeated and checked with an inter-rater reliability check.
This did not indicate good agreement, and differences in opinion were discussed and agreed largely between the
two researchers, but in some cases with a third researcher arbitrating.
suggested, we have provided the full report as an institutional technical report [8], and are preparing a separate
journal paper that will include an overview of the methodology and results of the systematic review.
4. DISCUSSION
This section contains a critique of Kitchenham’s guidelines in light of our experiences as described in the previous
section and discussed a few of the lessons we have learned.
4.1. Overall
In general we feel that the systematic review is an effective methodology capable of revealing new information
about a research area. Overall, we can say that Kitchenham’s guidelines provide a good framework for a process
to identify, assess and analyse all available research relevant to a specific research question. The systematic
review process is general enough to be applied to many research areas within software engineering research.
Case studies are a very common methodology within software engineering research, and systematic review can
discover and synthesise new results that are not readily apparent in any single case study. The two researchers
who used the systematic review process were satisfied with the results and overall performance of the process,
and would be willing to use the systematic review process again in the future. Our overall support for the
methodology and guidelines agrees with others’ experiences [2].
Kitchenham identifies formal planning as critical for systematic review in order to mitigate risks of researcher bias.
We agree, but also found planning to be critical in supporting the practical conduct of a systematic review.
As seen above, an instance of our recommendation to define complementary research questions is to clearly
identify the unit of analysis for the research question, i.e. to be explicitly clear whether you are studying
organisations, teams, or individuals. We restricted our attention to organisational motivations for SPI rather than
also considering individual practioners motivations for SPI. Kitchenham’s systematic review guidelines do not
explicitly mention the importance of defining the unit of analysis for the research question. Kitchenham et al. [7]
mention that in empirical research in software engineering more generally it is important to define the experimental
unit, but justify this as mitigation against incorrectly inflating the sample size by multiple-counting organisations
containing multiple individuals participating in the study. This for us was a second-order concern, as we found the
main problem was that organisational and individual motivations for adopting CMM-based SPI were entirely
different in character, and could not be easily translated or compared. Yin [10] discusses this reason for clearly
defining the unit of analysis for case study research, and we find that it is true also for systematic review research.
In light of all these changes, one might ask if there was any point to initially creating a protocol. We are reminded
of Parnas and Clements’ thoughts on why and how to fake a rational design process [9]. In particular, our original
protocol provided useful guidance for us during the execution of the systematic review, our activity is closer to the
original protocol than would have been if we did not have it, and the “standard procedure” of the protocol template
improved our ability to perform our first systematic review and increased the quality of our work.
However, this poses a question for reporting – should the final report show the final (“fake”) protocol design, or the
full gory details of the initial protocol and the story and nature of all of subsequent changes? The nature and
reason of the changes may reveal significant researcher bias, and so it is important to understand them.
Kitchenham’s guidelines partly address this question by suggesting that the course of the study selection be
reported as a flow diagram to reveal how selection criteria changed throughout the course of the systematic review.
We support that idea, but also suggest that in the full reporting of a systematic review only the final (“fake”) protocol
design be shown together with footnotes or other supplementary commentary that discuss the nature and reason of
any changes made to the initial protocol during the course of the systematic review.
What is the potential for advanced automated assistance for systematic review? The prospects seem very dim for
the development of an “all singing, all dancing” repository or index to support all phases of a systematic review.
The fundamental problem is that the research questions that could be addressed by systematic reviews in software
engineering are conceptually complex, and are expressed in terms of ever-evolving theoretical models. It would be
a “hard AI problem” to create a system to support automated selection or data extraction. Nonetheless, a
generalised scientific ontology such as suggested by Hars [5] may be a step towards addressing this hard problem,
and may provide a basis for improved interactive support tools for search and data extraction.
Targeted automation might bring many more immediate benefits to specific stages in the systematic review
process. We experienced many problems consistently and reliably searching for publications, and could
significantly benefit from tools that unified disparate resources and provided a uniform search syntax interface. Our
problems with search have also been experienced by other researchers [2]. Although our basic file and data
management was adequate for our individual study, we believe that file and data management mechanisms
targeted to support systematic review might provide large benefits for replicating or analysing others’ systematic
review studies. Targeted collaborative tools may allow problems with inter-rater reliability checks for selection or
data extraction to be detected early during the execution of these stages, and so allow any systematic errors to be
resolved earlier. Such tools may also reduce the duration required for systematic review by allowing joint reviews
to proceed asynchronously.
5. CONCLUSIONS
In light of our experiences we would join with others [2] to commend Kitchenham’s guidelines [6] to other
researchers considering conducting a systematic review. The main lessons that we have learned are: to limit the
scope (and hence effort) of the systematic review by choosing clear and narrow research questions; to define
complementary research questions that are not being investigated by the systematic review; to clearly define the
unit of analysis for the systematic review; and when writing the full report for the systematic review, to show the
final protocol but also include full notes about changes that have been made since the initial protocol. We would
appreciate more guidance about piloting protocols during their development. We do not understand how valid and
reliable assessments of the quality of others’ studies can be made in the context of a systematic review as
suggested by the guidelines, and have used a much weaker form of quality assessment. Finally, we would also
appreciate more (and more accessible) guidance on inter-rater reliability checks for systematic reviews – in
particular on how to sample a significant number of items for partial checks, and on how to avoid repeatedly failing
checks.
We support the publication of replications of existing systematic reviews. A published successful replication will
serve two purposes: it will strengthen the claims made by the original review, and it will build confidence within the
software engineering research community about the validity of systematic review methodology. Any published
unsuccessful replications of systematic reviews will highlight fundamental misunderstandings within the software
engineering community or contribute to methodological improvements for systematic reviews.
Finally, we support the creation and maintenance of a central index of systematic reviews for software engineering.
This would (like the Cochrane Collaboration for systematic reviews in medicine [3]) enable researchers to more
easily discover systematic reviews related to their research questions, and also to provide a nexus for the
improvement of systematic review methodology and automation. Although we became aware of the recent work by
Biolchini et al. [1] too late for it to impact our study, we believe that their approach could contribute to the operation
of success of a central index of systematic reviews for software engineering.
6. ACKNOWLEDGEMENTS
Mark Staples is employed by National ICT Australia, and Mahmood Niazi was employed by National ICT Australia
while conducting the work reported in this paper. National ICT Australia is funded through the Australian
Government's Backing Australia's Ability initiative, in part through the Australian Research Council.
REFERENCES.
[1] Biolchini, J., Mian, P. G., Natali, A. C. C. and Travassos, G. H. (2005) Systematic Review in Software
Engineering. Technical Report RT-ES679/05. Universidade Federal do Rio de Janeiro Program de Engenharia de
Sistemas e Computaçào.
[2] Brereton, P., Kitchenham, B., Budgen, D., Turner, D. and Khalil, M. (2005) Employing Systematic Literature
Review: An Experience Report. Unpublished draft.
[3] Cochrane-Collaboration. (2003) Cochrane reviews' handbook. Version 4.2.1.
[4] Goldenson, D. R. and Herbsleb, J. D. (1995) After the appraisal: A systematic survey of Process
Improvement, Its benefits, And Factors That Influence Success. Technical Report CMU/SEI-95-TR-009. Carnegie
Mellon University Software Engineering Institute.
[5] Hars, A. (2001) Designing Scientific Knowledge Infrastructures: The Contribution of Epistemology.
Information Systems Frontiers, 3(1), 63-73.
[6] Kitchenham, B. (2004) Procedures for Performing Systematic Reviews. Technical Report TR/SE0401, Keele
University, and Technical Report 0400011T.1, National ICT Australia.
[7] Kitchenham, B. A., Pfleeger, S. L., Pickard, L. M., Jones, P. W. Hoaglin, D. C., El Emam, K. and Rosenberg,
J. (2002) Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software
Engineering 28(8), 721-734.
[8] Niazi, M. and Staples, M. (2006) Systematic Review of Organizational Motivations for Adopting CMM-based
SPI. National ICT Australia Technical Report PA005957, February 2006.
[9] Parnas, D. L. and Clements, P. C. (1986) A Rational Design Process: How and Why to Fake It. IEEE
Transactions on Software Engineering, SE-12(2), 251-257.
[10] Yin, R. K. (2002) Case Study Research: Design and Methods, Sage Publications.