scispace - formally typeset
Open AccessJournal ArticleDOI

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

TLDR
The state of the art of continuous practices is reviewed to classify approaches and tools, identify challenges and practices in this regard, and identify the gaps for future research, revealing that continuous practices have been successfully applied to both greenfield and maintenance projects.
Abstract
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. With the increasing interest in the literature on continuous practices, it is important to systematically review and synthesize the approaches, tools, challenges, and practices reported for adopting and implementing continuous practices. This paper aimed at systematically reviewing the state of the art of continuous practices to classify approaches and tools, identify challenges and practices in this regard, and identify the gaps for future research. 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. We have identified 30 approaches and associated tools, which facilitate the implementation of continuous practices in the following ways: 1) reducing build and test time in continuous integration (CI); 2) increasing visibility and awareness on build and test results in CI; 3) supporting (semi-) automated continuous testing; 4) detecting violations, flaws, and faults in CI; 5) addressing security and scalability issues in deployment pipeline; and 6) improving dependability and reliability of deployment process. We have also determined a list of critical factors, such as testing (effort and time), team awareness and transparency, good design principles, customer, highly skilled and motivated team, application domain, and appropriate infrastructure that should be carefully considered when introducing continuous practices in a given organization. The majority of the reviewed papers were validation (34.7%) and evaluation (36.2%) research types. This paper also reveals that continuous practices have been successfully applied to both greenfield and maintenance projects. Continuous practices have become an important area of software engineering research and practice. While the reported approaches, tools, and practices are addressing a wide range of challenges, there are several challenges and gaps, which require future research work for improving the capturing and reporting of contextual information in the studies reporting different aspects of continuous practices; gaining a deep understanding of how software-intensive systems should be (re-) architected to support continuous practices; and addressing the lack of knowledge and tools for engineering processes of designing and running secure deployment pipelines.

read more

Citations
More filters
Journal ArticleDOI

A Survey on Industrial Information Integration 2016–2019

TL;DR: Industrial information integration engineering is a set of foundational concepts and techniques that facilitate the industrial information integration process and in recent years, many applicat...
Journal ArticleDOI

DevOps and software quality: A systematic mapping

TL;DR: This study presents systematic mapping of the impact of DevOps on software quality, and shows research was mainly focused in automation, culture, continuous delivery, fast feedback of Dev Ops.
Journal ArticleDOI

We're doing it live: A multi-method empirical study on continuous experimentation

TL;DR: The findings show that more principled and structured approaches for release decision making are needed, striving for highly automated, systematic, and data- and hypothesis-driven deployment and experimentation.
Proceedings ArticleDOI

Beyond continuous delivery: an empirical investigation of continuous deployment challenges

TL;DR: This study reveals 11 confounding factors that limit or demotivate software organizations to push changes automatically and continuously to production.
Journal ArticleDOI

An Empirical Study of Investigating Mobile Applications Development Challenges

TL;DR: The challenges of native, web, and hybrid mobile applications, which can undermine the successful development of such applications, are identified and organizations should try to address the identified challenges when developing mobile applications to increase the probability of mobile application success.
References
More filters
Journal ArticleDOI

Using thematic analysis in psychology

TL;DR: Thematic analysis is a poorly demarcated, rarely acknowledged, yet widely used qualitative analytic method within psychology as mentioned in this paper, and it offers an accessible and theoretically flexible approach to analysing qualitative data.
Proceedings ArticleDOI

Performing systematic literature reviews in software engineering

TL;DR: This tutorial is designed to provide an introduction to the role, form and processes involved in performing Systematic Literature Reviews, and to gain the knowledge needed to conduct systematic reviews of their own.
Book

Behavior in Organizations

Abstract: The primary objective of Behavior in Organizations is to introduce students to the day-to-day world of managers, as well as the theories, concepts and principles that managers use to accomplish their goals. It is fair to describe Behavior in Organizations as a “survey” course because it will cover a broad array of topics and we will cover them rather quickly. It is important that you stay on pace with the topics and the assignments.
Book

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation

Jez Humble, +1 more
TL;DR: 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.
Book

Behavior in Organizations

TL;DR: Behavior in Organizations as discussed by the authors is a popular course for one-semester, undergraduate and graduate level courses in Organizational Behavior, focusing on the everyday processes and phenomena of organizational behavior.