Fig 1 - uploaded by Lianping Chen
Content may be subject to copyright.
Source publication
Continuous Delivery (CD) is a relatively new software development approach. Companies that have adopted CD have reported significant benefits. Motivated by these benefits, many companies would like to adopt CD. However, adopting CD can be very challenging for a number of reasons, such as obtaining buy-in from a wide range of stakeholders whose goal...
Contexts in source publication
Context 1
... started gaining wide at- tention only in 2010, when Humble and Farley published the book titled "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation" ( Humble and Farley, 2010 ). However, the CD approach has become increasingly popu- lar, as shown by Google search trends ( Fig. 1 ). ...
Similar publications
Over the last decade, researchers have explored various technologies and methodologies to enhance worker safety at construction sites. The use of advanced sensing technologies mainly has focused on detecting and warning about safety issues by directly relying on the detection capabilities of these technologies. Until now, very little research has e...
As the success of deep models has led to their deployment in all areas of computer vision, it is increasingly important to understand how these representations work and what they are capturing. In this paper, we shed light on deep spatiotemporal representations by visualizing the internal representation of models that have been trained to recognize...
Citations
... To compete in a highly-volatile market and maintain a competitive advantage, software organizations must release products that are both effective and sustainable against competition [1,2]. Software companies need to deliver product features in short cycles [1], since for customers, it is important to have new features within an efficient time frame [3]. ...
... To compete in a highly-volatile market and maintain a competitive advantage, software organizations must release products that are both effective and sustainable against competition [1,2]. Software companies need to deliver product features in short cycles [1], since for customers, it is important to have new features within an efficient time frame [3]. For better software quality and faster delivery of new software features, software-intensive companies continue to work on improving their software development processes [4]. ...
... For software engineering, continuous delivery is an essential process [1]. According to Humble and Farley [18], continuous delivery is a set of principles and design practices that increases deployment frequency. ...
Highlights
• A systematic literature review was conducted to identify critical success factors.
• A total of 38 primary studies and nearly 100 different factors were identified.
• Results were categorized into 10 main critical success factors.
• A synthesized model of critical success factors in DevOps and their relationships is proposed.
Context:
DevOps is a set of software development and operation practices and a recent addition to a large family of different kinds of software process models. The model emerged out of the observation that information systems operations and developments should be closely integrated activities to ensure the success of any organization. Thus, DevOps methods are an additive tool for companies to improve overall performance in their software development processes and operations.
Objective:
This paper aims to identify the various critical success factors (CSFs) of DevOps projects that have been discussed in prior research. In addition, this study proposes a comprehensive framework for depicting how these CSFs impact or drive DevOps success.
Method:
This study consists of a systematic literature review to collect the primary articles for the analysis.
Results:
After searches in four major publication databases and snowballing, we selected 38 primary studies for the analysis. Nearly 100 different CSFs were identified, which were then categorized into Technical, Organizational, and Social & Cultural dimensions. Based on the results of the literature analysis, a comprehensive framework is proposed that depicts how the CSFs impact or drive DevOps success.
Conclusion:
This paper presents a DevOps framework with various CSFs based on prior literature. The proposed framework will provide collective knowledge of DevOps success factors, which will allow researchers and practitioners to enhance their understanding of CSFs and learn how to handle DevOps issues in organizations. In particular, the paper highlights a number of future research directions related to CSFs.
... The aforementioned SLRs included many publications on how CI/CD practices have been implemented in different environments in order to identify their potential benefits (Chen 2015;Ståhl and Bosch 2013;Hilton et al. 2016;Bernardo et al. 2018;Elazhary et al. 2022), challenges and shortcomings (Beller et al. 2017;Chen 2017;Rausch et al. 2017). This reflects the importance of CI/CD practices and their impact on software development practices. ...
Continuous integration, delivery and deployment (CI/CD) is used to support the collaborative software development process. CI/CD tools automate a wide range of activities in the development workflow such as testing, linting, updating dependencies, creating and deploying releases, and so on. Previous quantitative studies have revealed important changes in the landscape of CI/CD usage, with the increasing popularity of cloud-based services, and many software projects migrating to other CI/CD tools. In order to understand the reasons behind these changes in CI/CD usage, this paper presents a qualitative study based on in-depth interviews with 22 experienced software practitioners reporting on their usage, co-usage and migration of 31 different CI/CD tools. Following an inductive and deductive coding process, we analyse the interviews and found a high amount of competition between CI/CD tools. We observe multiple reasons for co-using different CI/CD tools within the same project, and we identify the main reasons and detractors for migrating to different alternatives. Among all reported migrations, we observe a clear trend of migrations away from Travis and migrations towards GitHub Actions and we identify the main reasons behind them.
... Keywords: autonomous complex system, 5G wireless network, continuous deployment, performance monitoring, change point detection, time series adopted the idea of software continuous integration (CI), and continuous delivery (CD) [11,12], developed for the computer systems [13,14]. Still, these proposals concentrate mainly on organizing the testbed out of the operating cellular network and for experimentation purposes. ...
FREE ACCESS https://authors.elsevier.com/c/1gRSm5aecSrWNT
... Their results show that there is a well-understood difference between practising continuous delivery and continuous deployment and the existence of a wide variety of factors, including manual quality checks, highly bureaucratic deployment process, lack of fully automated acceptance test and some others. Continuous delivery can be difficult to adopt, so some strategies have been defined, for instance, by Chen et al. 28 In terms of security, Rahman et al 29 developed a collection of experiences of nine representatives from organizations using DevOps to improve security. ...
DevOps has been identified by industry as one of the cornerstones of their development process. It is not just a set of tools but a set of principles and practices to build an efficient team improving the communication and collaboration. Its importance has greatly impacted even hiring processes being DevOps Engineer among the most recruited jobs according to LinkedIn. But it is not clear whether universities have noticed the magnitude this movement has attained in industry, despite the need of higher education and industry building up advances together. This led us to determine whether there is a gap between the training provided by higher education and the one expected from industry. For this aim, a questionnaire, defined after a careful review of the literature, has been run worldwide to answer the four research questions. The analysis arose several conclusions, such as higher prevalence of use than of training for most of the analyzed technological practices, except for those related to architecture, probably due to the migration cost these require. It was also found that the two practices with higher prevalence in industry, feedback and limit‐WIP, are scarcely trained in higher education. These conclusions provide interesting advice for future adaptations of computer science degrees. Global survey on prevalence of DevOps practices in Education and Industry. Some traditional agile practices are also found in plan‐driven management. Technological gaps have been found between industry and academia. Academic and Industry staff have an objective perception of DevOps maturity.
... This paradigm, known as DevOps [35], requires an infrastructure capable of rapidly scaling and adapting to changes as the market moves constantly. It also needs to accelerate the delivery of services and applications by automating tasks in phases such as testing and deployment, a practice known as Continuous Delivery [23]. ...
The DevOps paradigm is taking over software development systems, helping businesses increase efficiency, accelerate production, and adapt quickly to market changes. However, adopting these principles can be challenging. Practitioners often face an important issue known as vendor lock-in caused by the cost of tool replacement. In addition, automating the processes that involve these tools also requires investment. These issues could be addressed by standardizing service interfaces to facilitate their integration. Linked Data is an attractive choice for implementing such a standard without sacrificing versatility. An exciting and promising proposal in this direction is the OSLC standard specification. Its purpose is to build an environment where services can interoperate using standard Linked Data models. However, the current specification version still lacks standard definitions for concepts that are critical to automating the execution of actions in fast-changing environments. Therefore, this paper proposes a new specification to extend OSLC, based on the ECA model, for event-based interoperable automation, especially for DevOps environments, which are our motivational scenario. A simple DevOps architecture is built as a prototype to validate the proposed model. Using that architecture, the proposed model is validated in a real-world workflow to prove its contribution to the OSLC standard and the DevOps field.
... Continuous Delivery is largely used in software engineering and is defined as an approach in which teams produce functional software in short cycles while ensuring it can be reliably 31 released at any time. [59,60]. The Continuous Delivery Pipeline (CDP) is composed of three distinct yet related phases: Continuous Exploration (CE), Continuous Integration (CI), and Continuous Deployment (CD). ...
The recent digital transformation of the manufacturing world has resulted in numerous benefits, from higher quality products to enhanced productivity and shorter time to market. In this digital world, data has become a critical element in many critical decisions and processes within and across organizations. Data exchange is now a key process for the organizations' communication, collaboration, and efficiency. Industry 4.0 adoption of modern communication technologies has made this data available and shareable at a quicker rate than we can consume or track it. This speed brings significant challenges such as data interoperability and data traceability, two interdependent challenges that manufacturers face and must understand to adopt the best position to address them. On one hand, data interoperability challenges delay faster innovation and collaboration. The growing volume of data exchange is associated with an increased number of heterogeneous systems that need to communicate with and understand each other. Information standards are a proven solution, yet their long and complex development process impedes them from keeping up with the fast-paced environment they need to support and provide interoperability for, slowing down their adoption. This thesis proposes a transition from predictive to adaptive project management with the use of Agile methods to shorten the development iterations and increase the delivery velocity, increasing standards adoption. While adaptive environments have shown to be a viable solution to align standards with the fast pace of industry innovation, most project requirements management solutions have not evolved to accommodate this change. This thesis also introduces a model to support better requirement elicitation during standards development with increased traceability and visibility. On the other hand, data-driven decisions are exposed to the speed at which tampered data can propagate through organizations and corrupt these decisions. With the mean time to identify (MTTI) and mean time to contain (MTTC) such a threat already close to 300 days, the constant growth of data produced and exchanged will only push the MTTI and MTTC upwards. While digital signatures have already proven their use in identifying such corruption, there is still a need for formal data traceability framework to track data exchange across large and complex networks of organizations to identify and contain the propagation of corrupted data. This thesis analyses existing cybersecurity frameworks, their limitations, and introduces a new standard-based framework, in the form of an extended NIST CSF profile, to prepare against, mitigate, manage, and track data manipulation attacks. This framework is also accompanied with implementation guidance to facilitate its adoption and implementation by organizations of all sizes.
... A partir del análisis del estado del arte, se observó que: (i) DevOps trae grandes beneficios a las empresas en términos de esfuerzo, alcance, costo y tiempo (Erich et al., 2014;Chen, 2017;Jones et al., 2016;Lwakatare et al., 2019), sin embargo, (ii) no existe un consenso que permita identificar de manera clara qué es DevOps (Guerrero et al., 2020) además, (iii) existe heterogeneidad en la naturaleza de las soluciones propuestas para apoyar el uso de DevOps en empresas de software (Guerrero et al., 2020). Como resultado, se ha identificado una fuerte tendencia hacia la definición de soluciones que no están sustentadas en estándares o marcos de referencia que puedan ser adoptados de manera transversal por las empresas, resultando en soluciones parciales a través de elementos de proceso que no están claramente definidos, por lo cual, prácticas, actividades, tareas, y roles presentes en los estudios son descritos de manera incompleta, difusa y, en la mayoría de los casos, ambigua. ...
En este artículo se presenta un proceso para fomentar y apoyar la adopción de DevOps en pequeñas y medianas empresas de software. El proceso fue diseñado a través de la identificación de elementos sugeridos en la literatura por medio de un mapeo sistemático. Los elementos identificados fueron armonizados, comparados e integrados, dando como resultado un proceso claro, homogéneo y sin conflictos terminológicos compuesto por tres subprocesos, roles, actividades, artefactos, herramientas y flujos de proceso en BPMN como apoyo a la gestión de configuración, integración, despliegue y monitoreo continuo desde un enfoque fundamental y complementario de prácticas sugeridas. El proceso propuesto fue evaluado a través de un grupo focal conformado por expertos en DevOps, quienes consideraron que es pertinente, claro, completo y aplicable en pequeñas y medianas empresas de software. El proceso describe un total de 82 actividades, 16 artefactos, 9 roles y recomienda 13 herramientas tecnológicas para apoyar la automatización de cada una de las actividades relacionadas con cada subproceso, que permitirá guiar a los profesionales y las empresas para disminuir la subjetividad en la comprensión y adopción de DevOps.
... 3. Continuous deployment making the latest software features available for delivery to end-users (Zhu et al. 2016;Senapathi et al. 2018). 4. Continuous delivery refers to the ability to enable end-user access to the latest features, i.e. updating production software, at any time and with minimal delay (Dubey and Wagle 2007;Chen 2017;Mäkinen et al. 2016) 5. Continuous use & trust arising from less disruptive releases and improved value delivery (Gefen et al. 2003;Susarla et al. 2009). 6. Continuous feedback collecting customer feedback to support further product planning (Guzman et al. 2017;Lin 2018;Provost and Fawcett 2013;Fabijan et al. 2017) 7. Continuous improvement measures the performance of software delivery and finetuning the pipeline. ...
Context
Software companies must become better at delivering software to remain relevant in the market. Continuous integration and delivery practices promise to streamline software deliveries to end-users by implementing an automated software development and delivery pipeline. However, implementing or retrofitting an organization with such a pipeline is a substantial investment, while the reporting on benefits and their relevance in specific contexts/domains are vague.
Aim
In this study, we explore continuous software engineering practices from an investment-benefit perspective. We identify what benefits can be attained by adopting continuous practices, what the associated investments and risks are, and analyze what parameters determine their relevance.
Method
We perform a multiple case study to understand state-of-practice, organizational aims, and challenges in adopting continuous software engineering practices. We compare state-of-practice with state-of-the-art to validate the best practices and identify relevant gaps for further investigation.
Results
We found that companies start the CI/CD adoption by automating and streamlining the internal development process with clear and immediate benefits. However, upgrading customers to continuous deliveries is a major obstacle due to existing agreements and customer push-back. Renegotiating existing agreements comes with a risk of losing customers and disrupting the whole organization.
Conclusions
We conclude that the benefits of CI/CD are overstated in literature without considering the contextual and domain complexities rendering some benefits infeasible. We identify the need to understand the customer and organizational perspectives further and understand the contextual requirements towards the CI/CD.
... Moreover, the software development process needs to be highly automated to achieve a low friction continuous flow of evolution and delivery [12]. In this scenario, DevOps is a well-recognized concept that has attracted much interest from both academia and industry because of its focus on leveraging the continuous delivery of software products to end users, matching then the current industry needs [11]. ...
... Although continuous delivery has been widely explored in the industry [10][11][12], the current literature still lacks studies that explore research methodologies such as case studies that study a contemporary phenomenon in a real-life context. This study explores two research gaps: (1) absence of exploratory empirical studies that report empirical evidence on continuous delivery in the context of industry applications; and (2) lack of studies that comparatively explore the impact of continuous delivery on the source code and delivered product quality. ...
... Figure 1 shows the continuous delivery pipeline adopted in our study. It was adopted as previous studies [12,16] have reported the usefulness of this pipeline in real-world projects. Each step of the deployment pipeline is discussed as follows: ...
... A member of the infrastructure team had to manually create a series of scripts and understand what the specific configurations would be for a given deployment environment. Previous studies also highlight some benefits of complete automation at this stage [11,12,16,18]. Fitzgerald and Stol [11,19] also highlight the integration between software development and its operational deployment needs to be a continuous one. ...
Continuous delivery has been adopted by organizations to make software available to their users at any time. The transition from traditional software delivery methodologies to continuous delivery can impact on the results generated by organizations, e.g., the quality of source code and products. Although widely adopted, little is known about its effects. To account for this, this article reports a case study on the effects of continuous delivery on the quality of source code and products produced. Our case study was carried out for 12 months within a software development company in Brazil. Our findings indicate that the adoption of continuous delivery practices improved the quality of delivered products, mainly considering the number of defects reported by customers, the number of demands delivered per month, and user satisfaction. However, the adoption of continuous delivery did not favor the quality of source code, including the number of bugs, security vulnerabilities, code smells, duplicated code, and code complexity. Researchers and practitioners may benefit from our findings typically when delivering software products, designing and seeking to improve deployment pipeline practices. Finally, our study draws up some implications and shows the potential of adopting continuous delivery for developing enterprise applications that are constantly evolving.