Unit 5
Unit 5
UNIT IV
In the literature, we can essentially find studies on DevOps that explore ways to align
development teams with operations, the benefits that this methodology can bring to
organizations,
and the challenges that are posed. However, there is a research gap in the characterization of the
simultaneous adoption of Agile and DevOps in organizations. In this dimension, the number of
available scientific studies is limited and they mostly present individual views of their
implementation, which does not allow for a sufficiently comprehensive characterization of the
benefits of their combined adoption. We acknowledge the study conducted by Hemon, which
characterizes the different phases of Agile to DevOps transition (e.g., Agile, ongoing integration,
and constant delivery), while Melgar et explore the benefits of the combined SCRUM-DevOps
approach in terms of increasing speed during the deployment process and increasing the quality
of software processes. In both studies, there is just one empirical case study, which makes it
difficult to generalize the findings. In this sense, this study seeks to bridge this research gap and
presents an analysis of the benefits that can be found by the combined approach of DevOps and
Agile considering a comprehensive set of twelve case studies that are representative of practices
of simultaneous adoption of both methodologies. This approach supported by multiple case
studies avoids the individual limits of each company’s vision and reduces the risk of bias, and
allows comparing, grouping, and systematizing the main benefits of the combined adoption of
both methodologies.
The rest of this manuscript is organized as follows: Initially, a theoretical contextualization
of the DevOps model is performed and the similarities between DevOps and Agile are explored.
Next, the methodology and associated methods adopted in the study are described. This is
followed by the presentation of the results and discussion of their relevance to the perception of
the benefits of the combined adoption of DevOps and Agile. Finally, the conclusions are
enumerated. It is also in this last phase of the manuscript that the limitations of the study are
addressed and some suggestions for future work are provided.
Fig. Testing in Agile and DevOps Environments
Culture
Cultural change focusing on collaboration and integration between developers’ team and
operations’ team.
Automation
A high level of automation to achieve continuous delivery running each code change
through automated tests.
Lean
The application of lean principles to increase efficiency and reduce complexity.
Measurement
Keeping key performance indicators for measuring performance and identifying where
improvements can be achieved
Sharing
Knowledge and best practice should be shared in the organization and across organizational
boundaries.
Security issues concerning DevOps led to the spread of another term: DevSecOps. It adds
“Security” to “Development” and “Operations”, which were already part of the DevOps term.
According to Rajapakse et al, security is often treated as a non-functional requirement, handled
at a later stage of the software development life cycle. Under DevSecOps, security should be
built into every part of the DevOps life cycle. The purpose of the DevSecOps philosophy is to
align the speed of code delivery with building secure code, merged into one streamlined process.
The application of DevOps still must deal with some problems and concerns that can limit
its use (e.g., resistance to change, organizational vision, legacy systems). Misuse of the term,
lack of clear guidelines and, as already mentioned, the lack of a clear definition creates some
ambiguity about how to use DevOps principles. Those principles presuppose that, before
DevOps, development teams and operations teams were working independently with almost no
knowledge about each other’s work. This lack of knowledge across teams is not, in general, as
deep as DevOps assume. The whole software development process is improved with better
collaboration between teams, as DevOps advocates, but it does not mean that DevOps teams did
not previously cooperate. Another concern around DevOps is that its adoption rate is still low.
There is a close relation between DevOps and Agile methods in software development.
According to Leite et al., DevOps is an evolution of the Agile movement since software
development under Agile favors small release iterations with customer reviews.
Automation Tool
It is essential to select and invest in the right automation tool by validating the tool
capabilities. It is necessary to ensure whether the selected automation tool meets the expected
features or criteria for successful test automation under an agile environment.