The Effects of Continuous Integration on Software Development: a Systematic Literature Review

by   Eliezio Soares, et al.

Context: Continuous integration (CI) is a software engineering technique that proclaims a set of frequent activities to assure the health of the software product. Researchers and practitioners mention several benefits related to CI. However, no systematic study surveys state of the art regarding such benefits or cons. Objective: This study aims to identify and interpret empirical evidence regarding how CI impacts software development. Method: Through a Systematic Literature Review, we search for studies in six digital libraries. Starting from 479 studies, we select 101 empirical studies that evaluate CI for any software development activity (e.g., testing). We thoroughly read and extract information regarding (i) CI environment, (ii) findings related to effects of CI, and (iii) the employed methodology. We apply a thematic synthesis to group and summarize the findings. Results: Existing research has explored the positive effects of CI, such as better cooperation, or negative effects, such as adding technical and process challenges. From our thematic synthesis, we identify six themes: development activities, software process, quality assurance, integration patterns, issues defects, and build patterns. Conclusions: Empirical research in CI has been increasing over recent years. We found that much of the existing research reveals that CI brings positive effects to the software development phenomena. However, CI may also bring technical challenges to software development teams. Despite the overall positive outlook regarding CI, we still find room for improvements in the existing empirical research that evaluates the effects of CI.



page 8

page 23

page 28


Backsourcing of Software Development – A Systematic Literature Review

Context: Backsourcing is the process of insourcing previously outsourced...

Open Source Software Development Process: A Systematic Review

Open Source Software (OSS) has been recognized by the software developme...

The impact of Use Cases in real-world software development projects: A systematic mapping study

Objective: To identify and classify the positive and negative impacts of...

How does Object-Oriented Code Refactoring Influence Software Quality? Research Landscape and Challenges

Context: Software refactoring aims to improve software quality and devel...

A Procedure for Extracting Software Development Process Patterns

Process patterns represent well-structured and successful recurring acti...

Measurement of Interpersonal Trust in Global Software Development: SLR Protocol

The purpose of this protocol is to be useful to identify, evaluate and s...

Identification and Measurement of Technical Debt Requirements in Software Development: a Systematic Literature Review

Context: Technical Debt requirements are related to the distance between...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.