Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices

@article{Shahin2017ContinuousID,
  title={Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices},
  author={Mojtaba Shahin and Muhammad Ali Babar and Liming Zhu},
  journal={IEEE Access},
  year={2017},
  volume={5},
  pages={3909-3943}
}
Continuous practices, i.e., continuous integration, delivery, and deployment, are the software development industry practices that enable organizations to frequently and reliably release new features and products. [] Key Method We used the systematic literature review method for reviewing the peer-reviewed papers on continuous practices published between 2004 and June 1, 2016. We applied the thematic analysis method for analyzing the data extracted from reviewing 69 papers selected using predefined criteria…
Uncovering the Benefits and Challenges of Continuous Integration Practices
TLDR
It is shown that how CI is implemented varies, and thus studying CI (for example, using data mining) requires understanding these differences as important context for research studies.
Problems and Solutions of Continuous Deployment: A Systematic Review
TLDR
This paper is a systematic literature review of the problems and the solutions found when implementing the continuous deployment practice inside an organization and presents which solution can be applied to which problem.
An empirical study of architecting for continuous delivery and deployment
TLDR
A conceptual framework to support the process of (re-) architecting for CD is presented and evidence-based insights about practicing CD within monolithic systems are provided and the principle of “small and independent deployment units” is characterized as an alternative to the monoliths.
The effects of continuous integration on software development: a systematic literature review
TLDR
Empirical research in CI has been increasing over recent years, and it is found that much of the existing research reveals that CI brings positive effects to software development, however, CI may also bring technical challenges toSoftware development teams.
Beyond Continuous Delivery: An Empirical Investigation of Continuous Deployment Challenges
TLDR
This study reveals 11 confounding factors that limit or demotivate software organizations to push changes automatically and continuously to production.
Towards a Framework for Continuous Software Engineering
TLDR
This paper introduces a CSE framework that represents CSE processes, points out some research questions and discusses proposals to address them.
A study on Effectiveness in using Continuous Integration and Deployment for software development
TLDR
The review is limited in Software development but provides avenues for future research in difference sector such as industries that required automation in their work, and even with the growth of technology some organisation still depends to the traditional method.
A review on Continuous Integration, Delivery and Deployment using Jenkins
TLDR
A review on the standard practices, approaches, challenges faced while using the continuous integration/delivery in the software development, methods of solving them and using Jenkins for the implantation of continuous integration /delivery is done.
Analyzing Continuous Integration Bad Practices in Closed-Source Projects: An Initial Study
TLDR
The findings indicate that the most common CI bad practices are related to improper management of the CI repository, and defective builds usually take a long time to fix.
Developer Confidence in Continuous Integration
TLDR
Various features in CI tool and environmental aspects are identified that can potentially support developer’s confidence in the context of continuous integration and can help organizations in overcoming adoption challenges to continuous integration by supporting developer's confidence.
...
...

References

SHOWING 1-10 OF 104 REFERENCES
Synthesizing Continuous Deployment Practices Used in Software Development
TLDR
It is observed that continuous deployment necessitates the consistent use of sound software engineering practices such as automated testing, automated deployment, and code review, which are used by software companies.
Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
TLDR
This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users, and introduces state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization.
A systematic review of knowledge sharing challenges and practices in global software development
Integrating Early V&V Support to a GSE Tool Integration Platform
TLDR
This paper discusses how a tool integration framework was extended to support early V&V activities via continuous integrations and finds that integrating early V & V supporting tools is feasible and useful, and makes a tool Integration framework even more beneficial.
Modern Release Engineering in a Nutshell -- Why Researchers Should Care
  • B. Adams, Shane McIntosh
  • Business, Engineering
    2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)
  • 2016
TLDR
This paper argues that the involvement of researchers is essential, by providing a brief introduction to the six major phases of the release engineering pipeline, a roadmap of future research, and a checklist of three major ways that the release Engineering process of a system under study can invalidate the findings of software engineering studies.
Modeling continuous integration practice differences in industry software development
Identifying relevant studies in software engineering
...
...