“…The definition of DevOps proposed by [13] incorporates the later as it emphasises on speeding up the delivery of quality software that is achieved by employing a set of engineering practices from the time a software developer commits code to mainline up until when the code is deployed in production. Clearly as noted by [32] there is a need to make additional inquiries from practitioners¢¢ understanding of DevOps if we are improve the definition but research needs to go beyond that to investigate its actual behaviour (methods, practices and tools) and consequences [35]. This research makes an explicit inquiry of these aspects.…”
Context: DevOps is considered important in the ability to frequently and reliably update a system in operational state. DevOps presumes cross-functional collaboration and automation between software development and operations. DevOps adoption and implementation in companies is non-trivial due to required changes in technical, organisational and cultural aspects. Objectives: This exploratory study presents detailed descriptions of how DevOps is implemented in practice. The context of our empirical investigation is web application and service development in small and medium sized companies. Method: A multiple-case study was conducted in five different development contexts with successful DevOps implementations since its benefits, such as quick releases and minimum deployment errors, were achieved. Data was mainly collected through interviews with 26 practitioners and observations made at the companies. Data was analysed by first coding each case individually using a set of predefined themes and thereafter perform a cross-case synthesis. Results: Our analysis yielded some of the following results: (i) software development team attaining ownership and responsibility to deploy software changes in production is crucial in DevOps. (ii) toolchain usage and support in deployment pipeline activities accelerates the delivery of software changes, bug fixes and handling of production incidents. (ii) the delivery speed to production is affected by context factors, such as manual approvals by the product owner (iii) steep learning curve for new skills is experienced by both software developers and operations staff, who also have to cope with working under pressure. Conclusion:Our findings contributes to the overall understanding of DevOps concept, practices and its perceived impacts, particularly in small and medium sized companies. We discuss two practical implications of the results.
“…The definition of DevOps proposed by [13] incorporates the later as it emphasises on speeding up the delivery of quality software that is achieved by employing a set of engineering practices from the time a software developer commits code to mainline up until when the code is deployed in production. Clearly as noted by [32] there is a need to make additional inquiries from practitioners¢¢ understanding of DevOps if we are improve the definition but research needs to go beyond that to investigate its actual behaviour (methods, practices and tools) and consequences [35]. This research makes an explicit inquiry of these aspects.…”
Context: DevOps is considered important in the ability to frequently and reliably update a system in operational state. DevOps presumes cross-functional collaboration and automation between software development and operations. DevOps adoption and implementation in companies is non-trivial due to required changes in technical, organisational and cultural aspects. Objectives: This exploratory study presents detailed descriptions of how DevOps is implemented in practice. The context of our empirical investigation is web application and service development in small and medium sized companies. Method: A multiple-case study was conducted in five different development contexts with successful DevOps implementations since its benefits, such as quick releases and minimum deployment errors, were achieved. Data was mainly collected through interviews with 26 practitioners and observations made at the companies. Data was analysed by first coding each case individually using a set of predefined themes and thereafter perform a cross-case synthesis. Results: Our analysis yielded some of the following results: (i) software development team attaining ownership and responsibility to deploy software changes in production is crucial in DevOps. (ii) toolchain usage and support in deployment pipeline activities accelerates the delivery of software changes, bug fixes and handling of production incidents. (ii) the delivery speed to production is affected by context factors, such as manual approvals by the product owner (iii) steep learning curve for new skills is experienced by both software developers and operations staff, who also have to cope with working under pressure. Conclusion:Our findings contributes to the overall understanding of DevOps concept, practices and its perceived impacts, particularly in small and medium sized companies. We discuss two practical implications of the results.
Development and operations (DevOps) practices significantly accelerate and automate the continuous delivery and deployment of software systems. However, adopting DevOps concepts is not a straightforward job. Most organizations are not able to keep pace with the rhythm of continuous delivery and deployment, which are key DevOps attributes. Despite the significance of DevOps programs, it is still unknown why software development firms are demotivated or unable to adopt them. We tried to fill this gap by investigating, prioritizing, and developing the taxonomy of the key factors that could impact the adaptation and implementation of DevOps practices. We extracted a total of 16 factors from the available literature and empirically assessed them using the survey approach. The identified factors are further classified into three core categories of the software process improvement (SPI) manifesto. The analytical hierarchy process (AHP) approach was used to calculate the prioritization weight for each factor and present it as a taxonomy. The developed taxonomy provides a roadmap to tackle the key challenges to implementing DevOps and offers suggestions for streamlining DevOps practices.
“…In subsequent work we have investigated this further and analyzed usage of the terms in published literature. Based on this investigation we then propose less ambiguous definitions of a set of related terms [13]. Relevant in this context, we argue that continuous integration is a "developer practice where developers integrate their work frequently, usually each person integrates at least daily, leading to multiple integrations per day" and that continuous delivery is a "development practice where every change is treated as a potential release candidate to be frequently and rapidly evaluated through one's continuous delivery pipeline, and that one is always able to deploy and/or release the latest working version, but may decide not to, e.g.…”
This extended abstract summarizes an article, which has been published in Information and Software Technology and was selected for the Journal-First presentations at the International Conference on Software and System Process (ICSSP 2018).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.