DevOps and Software Quality - A Systematic Mapping - ScienceDirect
DevOps and Software Quality - A Systematic Mapping - ScienceDirect
Review article
Show more
https://doi.org/10.1016/j.cosrev.2020.100308
Get rights and content
Abstract
Quality pressure is one of the factors affecting processes for software development in its
various stages. DevOps is one of the proposed solutions to such pressure. The primary
focus of DevOps is to increase the deployment speed, frequency and quality. DevOps is a
mixture of different developments and operations to its multitudinous ramifications in
software development industries, DevOps have attracted the interest of many
researchers. There are considerable literature surveys on this critical innovation in
software development, yet, little attention has been given to DevOps impact on software
quality. This research is aimed at analyzing the implications of DevOps features on
software quality. DevOps can also be referred to a change in organization cultures aimed
at removal of gaps between the development and operations of an organization. The
adoption of DevOps in an organization provides many benefits including quality but also
brings challenges to an organization. This study presents systematic mapping of the
impact of DevOps on software quality. The results of this study provide a better
understanding of DevOps on software quality for both professionals and researchers
working in this area. The study shows research was mainly focused in automation,
culture, continuous delivery, fast feedback of DevOps. There is need of further research in
many areas of DevOps (for instance: measurement, development of metrics of different
stages to assess its performance, culture, practices toward ensuring quality assurance,
and quality factors such as usability, efficiency, software maintainability and portability).
Previous Next
Keywords
DevOps; Development; Operations; Software; Software quality; Automation;
Measurement; Systematic mapping
1. Introduction
We are in an era where almost every company uses software in running its business
operations. Software has become prevalent in companies and daily human activities. This
has shown the need to have software dependent products and services that are reliable,
useful and secure every time during operations. In the present days, the capability of
companies to recurrently and continuously provide new application features that are not
only innovative and suitable to use but are also high quality products has become a
critical factor in the software development industry. When provided with enough time,
any software development organization can be able to provide great software
applications and services. In this sense, speed for developing a product (from the stance
of faster time a given product is launched to the market) and software quality are the key
to success in the software industry. With the speed, developers will have an opportunity
to provide quick response to consumers’ needs and be able to get a quick feedback
regarding the software that is released to the market. Customer feedback is very
important as it provides the information that is significant in making an informed
decision concerning the software development efforts to stakeholders. A recently
developed model, called DevOps (development and operations), aims at producing fast
delivery to customers by bringing the development and operation team to work together.
The use of the term DevOps began in 2008 when Patrick Debois, at the Agile 2008
Conference, mentioned the need for an agile infrastructure and interaction between the
development and operations teams [1]. In 2009, the term DevOps became popular with
the beginning of events called DevOpsDays [2]. DevOps is now becoming an essential
part of software industry over the last few years focusing on developers and operations
to communicate well and deliver reliable and high-quality software services [3]. DevOps
is a set of methods in which developers and operations communicate and collaborate to
deliver software and services rapidly, reliably and with higher quality. DevOps is sharing
of tasks and responsibilities within a team empowered with full accountability of their
service and its underlying technology stack; from development, to deployment and
support [3].
Softwares have constantly become bigger, more complex, and require high quality.
DevOps is the new software process that extends the agility practices within the
collaborative culture to enhance the process of software development and delivery.
DevOps is concerned with improving the collaboration between the development and
operation teams to achieve fast high-quality releases [4]. However, establishing DevOps
culture (e.g., shared responsibility) and implementing its practices such as Continuous
Delivery and Deployment (CD) require new organizational capabilities and innovative
techniques and tools for some, if not all, Software Engineering (SE) activities [3], [5], [6].
Furthermore, in the DevOps transformation, the development side is more emphasized
than the operations side [7]. This could be mainly justified by the fact that most of the
business values come from the development side (e.g., adding more features).
DevOps increases both deployment frequency and the pace by which companies can
serve their customers without compromising the quality of deliveries [8]. DevOps is not
only culture aspects it is also a set of engineering practices influenced by cultural aspects
and supported by technological enablers [9]. DevOps capabilities are Continuous
planning, Continuous integration and testing, Continuous release and deployment,
Continuous infrastructure monitoring and optimization, Collaborative and continuous
development, Continuous user behavior monitoring and feedback [9], [10]. Cheriyan
et al. [11] proposed an approach for SQA professional that needs to have deeper
understanding of the technical areas of continuous delivery, inspection/static quality
assurance, and other areas related to DevOps. This will facilitate in finding the product
quality-related issues in systematic manner using this model and may aid to automate
the quality assurance parameters and bring predictability in the product quality. Agile
team uses continuous delivery approach where as soon as the code is checked in, and the
build runs in deployment pipeline (divided into stages) in order to give quick feedback
about the quality of the check-in. The quality checkpoints are built into the deployment
pipeline. DevOps is also a relevant practice where the development and operations team
work together closely to reduce the time between committing a change to a system and
the change being placed into normal production, while ensuring high quality [11].
It is further reported that attaining the required software quality within a short duration
of time is a challenge to many organizations. Research shows that almost a half of
organizations have difficulty in determining the right quality coverage in the DevOps
process [17]. When an organization fails to overcome this challenge, it translates that the
company either accept high risk of their products failure which would lead to
considerable impacts to not only the organization’s image, but also to its business
operations or the organization has accepted the lower speed in implementing the
current technology, this shows that the company risk to loose in the current competitive
industry. In this sense, study by Ebert et al. [18] seeks to provide a systematic analysis on
the impacts of DevOps in software development that such kinds of organizations can
benefit from. Though, little is known about the impact of this approach on software
product quality. Céspedes et al. [19] study aims to analyze the influence of the application
of DevOps on software product quality; therefore, a systematic literature review was
conducted. However, their systematic review is aligned to model proposed in the ISO/IEC
25010 standard, and with three research questions only. Although DevOps is in use now
for several years, but it is still in its infancy period as well as empirical studies that
document the experience of its implementation worldwide. Accordingly, more research
and empirical work is vitally needed to practice and validate the proposed DevOps
maturity models as observed by Zarour et al. [4]. Jabbari et al. [20] also supported that few
systematic studies have been conducted so far and there is need of further studies.
Therefore, this study further advances in this direction which is based on DevOps
features contribution towards quality. The rest of the paper is structured as follows:
Section 3 describes research methodology along with research questions. Section 4
illustrate results of systematic mapping. A discussion is provided in Section 5. Section 6
outline threats to validity. Paper concludes with future research directions in Section 7.
3. Research methodology
This study seeks to provide answers to the below stated questions to explore further
insight in this area. In the process of answering the questions, the research seeks to
answer the main research question: How does DevOps approach impact software
quality?
The research question will be answered in Discussion section while motivation of each is
as given in Table 1 and Fig. 1 shows the systematic mapping process.
RQ1: What are DevOps objectives (features) Determine the features of DevOps that impact on
which helps towards ensuring software software quality attributes.
quality?
RQ2: Will the inclusion of automation in Assess the extent of automation in DevOps process
DevOps contribute to software quality? and analyze the effects of automation on software
quality.
Research questions Main motivation
RQ3: Can measurement in the DevOps lead to Identify the methods of measurement applied in
increased software quality? DevOps aimed to increased software quality.
Assessment towards improved software quality as a
result of measurements in DevOps.
RQ4: Can sharing in DevOps impact the Examine how sharing impacts on software quality.
software quality?
RQ5: Does DevOps culture has an impact on Analyze the DevOps cultures impact on different
software quality? attributes of software quality.
RQ6: Does DevOps enable fast feedback helps Identify how often DevOps gives feedback and
in software quality? whether it helps in software quality.
RQ7: Does DevOps practice bridge Describe how DevOps practice bridge between
development of software and software quality software development and software quality
assurance? assurance.
RQ8: How Software architecture contributes Identify the software architecture role towards
in DevOps success and quality software quality in DevOps practice
RQ9: Does continuous delivery in DevOps Discuss how the continuous delivery in DevOps
helps in ensuring completion on time along helps in ensuring software quality.
with quality?
RQ10: How does DevOps impacts Usability, Describe the ways in which DevOps impacts
Efficiency, Maintainability and Portability in usability, efficiency and many other impacts on
software? software development.
Google Scholar 72 19 10
Web of Science 42 16 3
IEEE Xplore 57 9 4
Scopus 65 55 16
ACM 24 11 2
• Q2: Are the scope and experimental design of the study defined clearly?
• Q3: Are the variables in the study likely to be valid and reliable?
• Q6: To what extent has the research explained the wider view of DevOps?
• Q7: How well was the analysis approach and formulated?
• Q8: Are the data sources and contexts described appropriately for future
reference?
• Q10: Do the conclusions relate to the aim of the purpose of the study?
After the report was evaluated, the obtained data was synthesized basing on the source
of the data. The sources were categorized into groups; one is those that are relevant in
development of DevOps (inclusion) and those that are not relevant (exclusion). Content
analysis was used in categorizing these sources and the categories are tabulated below in
Table 3 while stages and selection criteria is illustrated in Table 4.
Source Studies that illustrate how DevOps and quality in software products relate to Relevant
3 one another.
Source Studies that describe various context and case studies relating to DevOps. Relevant
4
Source Studies that do not focus on the quality of software products Irrelevant
5
Source Studies that are not firsthand i.e. secondary sources Irrelevant
7
A spreadsheet was developed for the data extraction according to the criteria of Table 3
and Table 4. There were exactly 72 journal, conference papers and other newsletters. It is
simpler to note that most papers are in journals and conferences. The final selection used
in the paper amounted to thirty five. Therefore, they appear to be the most significant
references for impacts of DevOps on software quality. There is no individual article with
greater publications in this field.
The ACM digital library contributed the lowest number of databases about impacts of
DevOps on software quality. This shows that there was a minimal number of authors
who concentrated on DevOps on software quality. Among these results only the final 35
results had the objectives of the study. By this, a number of academic journals that are
relevant to the subject of study were reviewed in order to build a theoretical framework
of the study. In this rationale, two key terms were used in the research, the terms include
“DevOps”, and “Software quality”. Google Scholar, Web of Science, IEEE Xplore, and ACM
library were used for this process. Only peer reviewed articles including journals,
conferences, and periodicals were included that were coherent to the subject of study.
Fig. 2 shows relationships between DevOps features and software quality attributes.
Perera DevOps is described as different ways whereby developers Fast deployment and
et al. [3] and operations discuss and share so as to produce software quality
and give services faster, timely and with increased quality.
Download: Download high-res image (327KB)
Download: Download full-size image
DevOps objectives These are the first steps towards quality [78], [79], [87],
(features) towards quality [100], [102]
Measurement in DevOps Checking performance metrics show consistent [91], [101], [108]
results thus helps in ensuring quality.
Sharing in DevOps Embracing collaboration in process, tools, goals in [74], [85], [90],
operation and development improves [97], [104]
communication which enhances the efficiency lead
to quality
Fast feedback in DevOps Capturing end-user feedback is improved by [84], [88], [91],
deployment of operations or DevOps which ensure [96], [107]
software quality with less effort.
DevOps practice towards DevOps is linked to quality assurance and enables [75], [95], [97],
quality assurance the production of a flawless software. [104]
Software architecture in Software Architecture (SA) is foundation for moving [77], [81], [82],
DevOps towards the highest level of DevOps success [94], [99], [104],
[105]
Continuous delivery in Continuous delivery (CD) enables to deliver high [77], [78], [92],
DevOps quality in a more efficient way at a reduced time [93], [102], [105],
[106]
DevOps impact on Continuous delivery and test automation helps in [74], [76], [79],
Usability, Efficiency, ensuring reliability, maintainability, safety, [91], [104]
Maintainability and reliability(availability), maintainability (testability
Portability and modifiability)
Perera et al. [16], evaluates the impacts of DevOps on software quality in an organization.
They accomplish this through quantitative analysis where they used online
questionnaires which were distributed to more than 300 software professionals in the
organization of which 62% of the respondents had two to three years’ experience, 24%
had less than one year and 14% were software professionals who have used DevOps for
more than three years. The analysis demonstrates that implementing DevOps in an
organization has considerable positive impacts on the software quality or value. The
practice of DevOps increases the value of the software. Along with that, the research also
revealed that there is a considerable relationship between DevOps and automation. They
suggested that DevOps encourages automation thus enhancing the quality of the
application.
Zarour et al. [4] observed that maturity models help to assess effectiveness of an
organizational processes and assist in identifying capabilities required to improve their
performance to move towards higher maturity levels. In their study Bou Ghantous and
Gill [27], present clarification of a software which is reliable. Prates et al. [28] identified
metrics which can use to measure the effectiveness of DevSecOps methodology
implementation inside organizations. Perera [13] and Perera, et al. [16] have examined
some of the goals of DevOps including improving deployment frequency, lower rates of
failure and faster mean time to recover on the off chance that a new release crush. In
another study it was noticed that the deployment frequency is one of the major metrics
where the organizations implementing DevOps shine by deploying at a considerably
higher frequency of more than 40 times compared to the non-performers of DevOps [3].
DevOps is described here with the three principles along with their accompanied loops.
According to the Erich et al. [35], the principle of flow enables a fast feedback loop
throughout a software development process to the production stage. The process is by
establishment of automated deployment strategies along with the tests that examines
the production fitness by use of trunk-base development strategy. Combined with
automation, this strategy provides the best means for achieving software quality
throughout the software development process to the stage of production [36]. The trunk-
based development drives down batches proportions and ensure that all changes are in
the right order. It also enables transformation of testing workflows as work is done in a
shared space, this helps in avoiding potential development conflicts (Jones, 2018).
Obtaining fast feedback reduces the need for separate tests as well as stabilization phases
hence agility. When automation is enabled in testing, the software development team
can divert their attention to identify and improve other quality aspects earlier in the
software development phases as noted by Kroll et al. [36].
5. Discussions
DevOps brings many benefits however there are challenges associated with it for
instance: cultural and organizational aspects, adoption challenges, new concepts like
automation in processes and tools, in general separation between developers and
operations team, lack of explicit control on reusability poses challenges to practicing
Continuous Delivery and Deployment (CD), automatic deployment activity, performance
challenges in providing fast feedback, etc. [9], [20], [44], [45].
RQ1: What are DevOps features which helps towards ensuring software quality?
The definitions show that DevOps is a software quality-oriented approach. It has also
been found that culture, collaboration, automation, measurements and monitoring are
the key enablers of DevOps for software quality. In DevOps the development and
operations team work together closely to reduce the time between committing a change
to a system and it is moved into normal production, while assuring high quality [11].
DevOps is intended to increase the frequency, quality and speed of deploying software
from development into production by means of new organizational structures and
processes with a high degree of automation [15].
According to Céspedes et al. [19] main practices associated with DevOps that influence
the software product quality are: deployment automation, test automation, cloud
computing and team cooperation. They further argued that using tests, automatic or not,
combined with the deployment automation increases significantly the product quality
although deployment automation and cloud computing should be taken a greater care
with security. Céspedes et al. [19] further argued that there is an influence on product
quality by the use of DevOps, mainly related on reliability and maintainability; and to a
minor extent functional suitability, security and performance efficiency. With the
DevOps team setup, we could align team efforts into one direction with the common
objective of high-value delivery on-time with quality and in meeting the project
milestones and version increments [46]. Perez-Palacin et al. [47] reported an experience
on the usage of a software quality evaluation tool during a DevOps-oriented software
development.
DevOps environment implies an automation in process and tools as shown in the results
of an interview performed to 18 case organizations from various software domains, in
which it is mentioned that commodity tools such as version control, continuous
integration, UI testing, performance, are used in almost every organizations, which have
implemented a DevOps environment [50]. The DevOps paradigm focuses mainly on
making cultural changes in the organization, depending on ways such as Continuous
Delivery, which is directed at the automation and optimization of the delivery
process [19] and showed in their review study strong relationship exists between
deployment automation with reliability and maintainability which are significant
attributes of software quality. This is also supported in qualitative study by Jabbari
et al. [20] that automation is the key contributor to business proliferation and automation
improve accuracy, reliability and agility. Thus, it contributes to software quality.
Myrbakken and Colomo-Palacios [51] observed that implementing security that can
sustain with DevOps is a challenge, but it can attain immense benefits if done properly.
Prates et al. [28] identified metrics which can use to measure the effectiveness of
DevSecOps methodology implementation inside organizations. DevSecOps is an
emerging paradigm which includes security practices to the Software Development Cycle
(SDL). Security practices in SDL are significant to avert data breaches, guarantee
compliance with the law and is an obligation to protect customers data.
DevOps provides a cultural change in organizations that uses: (1) a set of practices to get
a visible workflow, which can be performed by the whole team; (2) the automation of
processes, which cause a continuous feedback during the project and; (3) the
improvement of learning through that experimentation [10]. Culture is another
significant factor because it changes the manner in which teams work together and share
the responsibility for the end users of their application. It is crucial to initiate mutual
exchange with Dev and Ops to break down the barrier between teams and both teams
will learn from each other [3].
According to Muñoz, and Negrete [54] it is important to highlight that the generic
DevOps process has 4 phases, 8 activities and 40 tasks, which have to be followed in
order to perform a software development process with DevOps culture. Colomo-Palacios
et al. [25] observed that DevOps culture has an impact on software quality. It determines
the employee’s operation which in turn improve interoperability of an application.
Today, DevOps is an understood set of practices and cultural values that has been proven
to help organizations of all sizes, improve their software release cycles, software quality,
security, and ability to get rapid feedback on product development [34]. DevOps practices
can help drive quality assurance by improving communication and feedback loops as
noticed by Ibrahim et al. [42]. Nowadays customers are expecting faster feedback and
changes related to issues or feature requests but contributing a result to this need,
therefore organizations such as IBM, Facebook and Firefox are implementing DevOps
practices [54]. Muñoz, and Negrete [54] further argued that feedback demonstrates how
to get continuous augment feedback to keep the quality from the source avert the
rework.
Presently users and customers of applications expect fast feedback to issues and feature
requests [49]. DevOps facilitates provision of fast feedback loops. It is also observed that
the feedback loops enable the achievement of software quality. This improves software
efficiency. According to Muñoz, and Negrete [54] DevOps process could be improved with
ISO/IEC 29110 series as reinforced DevOps which includes 4 phases: Inception,
Construction, Transition, and Feedback.
RQ7: Does DevOps practices bridge development of software and software quality
assurance?
The findings by Bou Ghantous, and Gill [27], indicate that DevOps practices link software
development with quality assurance. Quality assurance improves the reliability of an
application. Perara et al. [3] using multiple regression analysis has demonstrated culture,
automation, measurement and sharing (CAMS) are significant factors to consider to
improve quality of the software and proposed following model:
Software Architecture (SA) is slated to be the foundation for reaching the highest level of
DevOps success [6], [55]. Most of the noted research related to SA and DevOps carried on
in the context of CD as a key practice of DevOps [7], [56], [57]. Shahin et al. [7] have
conducted a mixed-methods study to explore how SA is being impacted by or is
impacting CD. They present a conceptual framework to support (re-) architecting for CD.
Shahin et al. [7] also observed that a lack of explicit control on reusability poses
challenges to practicing CD. Shahin and Babar [39] suggested that DevOps success is best
associated with modular architectures and needs to prioritize deployability, testability,
supportability, and modifiability over other quality attributes. They further argued that
the successful architectural decisions made by the teams to support DevOps will be
valuable for other organizations.
Daneva and Blosher [40] studied and found that (a) 17 software architecture
characteristics are beneficial for CD and DevOps adoption, (b) micro-services are a
dominant architectural style in this context, and (c) large-scale organizational contexts
are the most studied, and (d) qualitative approaches (case study based) are the most
applied research method. Pérez et al. [58] introduced a tool to fill the gap between
development and operations in DevOps. Their tool was designed to identify architecture
and user requirements and capable of providing feedback to the developer on the
performance, reliability, and in general quality characteristics of the application at
runtime. Chen [41] argue that a set of quality attributes such as deployability, security,
modifiability, and monitorability, require more attention when designing architectures in
the context of CD. Di Nitto et al. [59] delineates architecturally significant stakeholders
(e.g., infrastructure provider) and their concerns (e.g., monitoring) in DevOps scenarios
and proposed a framework called SQUID towards supporting the documentation of
DevOps-driven software architectures and their quality properties.
RQ9: Does Continuous Delivery and Deployment (CD) in DevOps helps in ensuring
completion on time along with quality?
The ultimate difference between DevOps and Continuous Delivery is that the first one
focuses on the synergy between the development and operations areas, seeking the
optimization of the product, in addition the continuous improvement of it [10].
Continuous delivery (CD) enables companies to deliver high quality software in a more
efficient manner at a reduced time. Continuous Integration (CI) and CD has emerged as
an aid for software development and release management practices to bring the
capability to release quality artifacts continuously to customers in an integrated feedback
as observed by Soni [63]. Team culture is the foundation for effective continuous delivery.
There should be strong cross-cutting collaboration between development, test, security,
operations, and related roles. Knowledge can be cross-pollinated through knowledge
management practices. Team members can be trained on continuous delivery mode of
requirement development and analysis, system architecture CI architecture build
pipeline, coding, testing, build scripting and related practices [11]. According to Céspedes
et al. [19] test automation is related to the continuous delivery process and a relationship
with reliability, maintainability and safety was observed.
In State of DevOps 2017 report, Forsgren et al. [34] found there is strong evidence that
DevOps practices lead to higher IT performance based on more than 27,000 DevOps
survey responses in past six years. According to Céspedes et al. [19] test automation is
related to the continuous delivery process and thus helps in ensuring reliability,
maintainability, and safety attributes of software quality. They further argued that
reliability (availability) and maintainability (testability and modifiability) are the most
referenced characteristics related to DevOps. It is shown by Bezemer et al. [69] that
DevOps enables usability. Additionally, automation in the development operation is an
enabler of efficiency.
Shahin and Babar (2020) reported that achieving DevOps-driven software architecture
requires loosely coupled architectures and prioritizing deployability, testability,
supportability, and modifiability over other quality attributes (i.e., confirming and
extending) [7], [57]. In DevOps, Céspedes et al. [19] noticed performance efficiency with
cloud computing as it improves resources utilization and its modifiability is enhanced
due to scalable on demand. Maintainability, on the other hand provide a standardized
environment that ensures software quality. It has been observed that the flexibility in
DevOps is an enabler of portability thus ensuring software quality. Kim et al. [70] also
studied the aspects to include functionality, security, maintainability and reliability of
DevOps systems. Waseem et al. [62] observed that only a few problems were reported
regarding QAs (i.e., performance, scalability, security) of MSA based systems and could
not find problems and solutions related to other QAs (e.g., availability, reusability,
reliability, maintainability, modularity, portability), for instance, problems and solutions
related to improving reusability of existing microservices for new microservices in MSA
based systems.
6. Threats to validity
As much as this systematic analysis would be important, like every other study, the
analysis is accompanied by a few threats to its validity which are discussed in this
section. The first threat is generalization. It involves viewing contexts from a general
perspective. There is a limitation on the academic search engines represent the academic
DevOps search. This study has focused on a limited number of peer-reviewed studies
available in selected electronic databases. However, the research on DevOps impact on
software quality is not static and continues to evolve over time. The use of English-only
papers might mean that works in other languages is left out. It is important to note that
the categorization was also put under review by another researcher in order to reduce
the risks of doing the work in the wrong way [72]. This systematic analysis is based on a
limited number of literature and the definitions and features of DevOps may be evolving
with time, this emerges one of the threats to this study. The second threat is biases.
There are high chances that biases occurred in the selection of the literature. However, to
deal with the biases data were randomly selected during the study. To ensure the
significance of the outcomes, the initial findings were made available for discussion to
the other researchers before writing this paper. Few meetings and a workshop program
with other researchers were also involved to get feedback from the researchers working
in this area. However, there was limited time to allow for the collection of data due to the
larger volume of sources of data [24]. Threats to conclusion validity are concerned with
issues that affect to come to correct conclusions and these risks were mitigated by
applying Kitchenham & Charters [22] guidelines and Petersen et al. [73].
The validity from the external environment and the generalization of the research results
is threatened by the small number of interviews and our overreliance on Google scholar
and the Scopus for our data sources. Another threat to the validity of DevOps in
impacting to quality software is creation of a DevOps department in an organization. This
is because it will involve tedious work that is time consuming and eventually increase
the gap between the development and operations of quality software. This will in turn
affect the organization negatively.
7. Conclusion
Presently DevOps adoption has been increased in software development around the
globe. In summary, we have analyzed the impacts of DevOps on the quality of software.
In this process, we have examined various literature on the subject by use of various
reference applications including Google scholar, IEEE Xplore among others. The analysis
has also revealed automation, sharing and measurement characteristics (features) of
DevOps have strong relationship with the quality and success in software development.
It has also been found that DevOps is a fast feedback loop enabler which is essential in
achieving software quality. The analysis has also revealed a connection between DevOps
software architecture and quality assurance. Therefore, it can be concluded that DevOps
contributes positive impacts towards ensuring software quality. Based on our analysis
this study shows research was mainly focused in automation, culture, continuous
delivery, fast feedback of DevOps. Also, this study found that DevOps in software quality
is not just in theory but can also be identified in practice towards ensuring quality
software. There is still limited primary studies related to the topic, though it is growing
and there is need for empirical research along with survey based qualitative research to
compare different contexts in various organizations and countries.
There is need of further research in many areas of DevOps (for instance: measurement,
development of metrics of different stages to assess its performance, culture, practices
toward ensuring quality assurance, and quality factors such as usability, efficiency,
software maintainability and portability). Further, different survey questionnaires
categorized by role may be developed to be answered by DevOps professionals.
Acknowledgment
We would like to thanks Timo Peder Brøyn, Director Library and Documentation of
Molde University College - Special University in Logistics, for facilitating support towards
open access publication as part of pilot agreement of Elsevier with the Norwegian
institutions (Unit consortium).
Recommended articles
References
[1] Debois P.
Agile infrastructure and operations: how infragile are you?
Agile 2008 Conference, IEEE (2008), pp. 202-207
Crossref View in Scopus Google Scholar
[2] Rapaport R.
A short history of DevOps
(2014)
(Accessed 28 December 2017)
Google Scholar
[10] M. Virmani, Understanding DevOps & bridging the gap from continuous
integration to continuous delivery, in: 5th International Conference on Innovative
Computing Technology, INTECH 2015, 2015, pp. 78–82.
Google Scholar
[12] ISO/IEC
Software Engineering—Software Product Quality. Part 1: Quality Model,
ISO/IEC 9126-1, Geneva, Switzerland
International Organization for Standardization (2001)
Google Scholar
[13] Perera N.A.P.O.
An Analysis on Implementing DevOps in Software Companies in Sri Lanka
(Doctoral dissertation)
(2016)
Available at http://dl.lib.mrt.ac.lk/handle/123/12372
Google Scholar
[17] Casale G., Chesta C., Deussen P., Di Nitto E., Gouvas P., Koussouris S., et al.
Current and future challenges of software engineering for services and
applications
Cloud Forward, 97 (2016), pp. 34-42
View PDF View article View in Scopus Google Scholar
[23] Kitchenham B., Brereton O.P., Budgen D., Turner M., Bailey J., Linkman S.
Systematic literature reviews in software engineering–a systematic
literature review
Inf. Softw. Technol., 51 (1) (2009), pp. 7-15
View PDF View article View in Scopus Google Scholar
[31] C. Jones, A proposal for integrating devops into software engineering curricula, in:
International Workshop on Software Engineering Aspects of Continuous
Development and New Paradigms of Software Production and Deployment, 2018,
March, pp. 33-47.
Google Scholar
[34] Forsgren N., Kim G., Humble J., Brown A., Kersten N.
State of DevOps Report. Puppet and DevOps Research & Assessment
(2017)
Retrieved June, 10, 2017
Google Scholar
[35] Erich F., Amrit C., Daneva M.
A mapping study on cooperation between information system
development and operations
International Conference on Product-Focused Software Process Improvement, Springer,
Cham (2014), pp. 277-280
Crossref View in Scopus Google Scholar
[37] Laigner R., Kalinowski M., Lifschitz S., Monteiro R.S., de Oliveira D.
A systematic mapping of software engineering approaches to develop big
data systems
2018 44th Euromicro Conference on Software Engineering and Advanced Applications,
SEAA, IEEE (2018), pp. 446-453
Crossref View in Scopus Google Scholar
[38] M.Z. Toh, S. Sahibuddin, M.N.R. Mahrin, Adoption issues in devops from the
perspective of continuous delivery pipeline, in: Proceedings of the 2019 8th
International Conference on Software and Computer Applications, 2019, February,
pp. 173–177.
Google Scholar
[42] M.M.A. Ibrahim, S.M. Syed-Mohamad, M.H. Husin, Managing quality assurance
challenges of devops through analytics, in: Proceedings of the 2019 8th
International Conference on Software and Computer Applications, 2019, February,
pp. 194–198.
Google Scholar
[44] S. Jones, J. Noppen, F. Lettice, Management challenges for DevOps adoption within
UK SMEs, in: Proceedings of the 2nd International Workshop on quality-aware
devops, 2016, July, pp. 7–11.
Google Scholar
[45] Lwakatare L.E., Kilamo T., Karvonen T., Sauvola T., Heikkilä V., Itkonen J., et al.
DevOps in practice: A multiple case study of five companies
Inf. Softw. Technol., 114 (2019), pp. 217-230
View PDF View article View in Scopus Google Scholar
[57] Chen L.
Towards architecting for continuous delivery
2015 12th Working IEEE/IFIP Conference on Software Architecture, IEEE (2015), pp. 131-134
View in Scopus Google Scholar
[58] J.F. Pérez, W. Wang, G. Casale, Towards a DevOps approach for software quality
engineering, in: Proceedings of the 2015 Workshop on Challenges in Performance
Methods for Software Development, 2015, January, pp. 5–10.
Google Scholar
[60] Thönes J.
Microservices
IEEE Softw., 32 (1) (2015), p. 116
Google Scholar
[64] Leppänen M., Mäkinen S., Pagels M., Eloranta V.P., Itkonen J., Mäntylä .M.V., Männistö T.
The highways and country roads to continuous deployment
IEEE Softw., 32 (2) (2015), pp. 64-72
View in Scopus Google Scholar
[65] Parnin C., Helms E., Atlee C., Boughton H., Ghattas M., Glover A., et al.
The top 10 adages in continuous deployment
IEEE Softw., 34 (3) (2017), pp. 86-95
View in Scopus Google Scholar
[66] XebiaLabs
Exploring microservices: 14 questions answered by experts
(2020)
Available at https://blog.xebialabs.com/wp-
content/uploads/2015/04/Microservices-Whitepaper.pdf
Google Scholar
[67] Schmidt M.
Devops and continuous delivery: Not the same
Mediaops, LLC, 8 (04) (2016)
https://bit.ly/2vEme4H
Google Scholar
[76] Chen L.
Towards architecting for continuous delivery
2015 12th Working IEEE/IFIP Conference on Software Architecture, IEEE (2015), pp. 131-134
View in Scopus Google Scholar
[77] Chen L.
Continuous delivery: Overcoming adoption challenges
J. Syst. Softw., 128 (2017), pp. 72-86
View PDF View article View in Scopus Google Scholar
[78] Cheriyan A., Gondkar R.R., Babu S.S.
Quality assurance practices and techniques used by QA professional in
continuous delivery
Information and Communication Technology for Sustainable Development, Springer,
Singapore (2020), pp. 83-92
Crossref View in Scopus Google Scholar
[84] Forsgren N., Kim G., Humble J., Brown A., Kersten N.
State of DevOps Report. Puppet and DevOps Research & Assessment
(2017)
Retrieved June, 10, 2017
Google Scholar
[85] Gill A.Q., Loumish A., Riyat I., Han S.
DevOps for information management systems
VINE J. Inf. Knowl. Manage. Syst. (2018)
Google Scholar
[88] M.M.A. Ibrahim, S.M. Syed-Mohamad, M.H. Husin, Managing quality assurance
challenges of DevOps through analytics, in: Proceedings of the 2019 8th
International Conference on Software and Computer Applications, 2019, February,
pp. 194–198.
Google Scholar
[93] Leppänen M., Mäkinen S., Pagels M., Eloranta V.P., Itkonen J., Mäntylä .M.V., Männistö T.
The highways and country roads to continuous deployment
IEEE Softw., 32 (2) (2015), pp. 64-72
View in Scopus Google Scholar
[94] Leite L., Rocha C., Kon F., Milojicic D., Meirelles P.
A survey of DevOps concepts and challenges
ACM Comput. Surv., 52 (6) (2019), pp. 1-35
Google Scholar
[106] M. Virmani, Understanding DevOps & bridging the gap from continuous
integration to continuous delivery, in: 5th International Conference on Innovative
Computing Technology, INTECH 2015, 2015, pp. 78–82.
Google Scholar
[107] J. Wettinger, U. Breitenbücher, O. Kopp, F. Leymann, Streamlining DevOps
automation for cloud applications using TOSCA as standardized metamodel 56
(2016) 317–332.
Google Scholar
Cited by (88)
All content on this site: Copyright © 2025 or its licensors and contributors. All rights are reserved, including those for text and data mining, AI training,
and similar technologies. For all open access content, the relevant licensing terms apply.