Articulo2 - DevOps Enabled Agile Combining Agile and DevOps Methodologies For Software Development
Articulo2 - DevOps Enabled Agile Combining Agile and DevOps Methodologies For Software Development
Articulo2 - DevOps Enabled Agile Combining Agile and DevOps Methodologies For Software Development
Abstract—The Agile and DevOps software development The remaining parts of this paper are organized in the
methodologies have made revolutionary advancements in following ways; Section II presents an in-depth comparative
software engineering. These methodologies vastly improve analysis of Agile and DevOps methodologies and provides
software quality and also speed up the process of developing justification for combining these methodologies into DevOps
software products. However, several limitations have been Enabled Agile methodology. Section III contains the
discovered in the practical implementation of Agile and DevOps, background and related works of our study in the form of a
including the lack of collaboration between the development, systematic literature review. Section IV describes the
testing and delivery sectors of different software projects and proposed methodology used in this study to test and verify the
high skill requirements. This paper presents a solution to bridge
effectiveness of DevOps Enabled Agile for an experimental
the existing gaps between Agile and DevOps methodologies by
integrating DevOps principles into Agile to devise a hybrid
pilot project. This is followed by Section V which contains the
DevOps Enabled Agile for software development. This study results from the experimental pilot project and a discussion of
includes the development of a small-scale, experimental pilot the findings that justify the implementation of DevOps
project to demonstrate how software development teams can Enabled Agile. Lastly, in Section VI, the study is concluded
combine the advantages of Agile and DevOps methodologies to with a brief analysis of the scope for future research.
fulfill the gaps and provide further improvements to the speed
and quality of software development process while maintaining II. ANALYSIS OF AGILE AND DEVOPS
feasible skill requirements. Agile methodology is a highly efficient and effective
software development methodology which is focused on four
Keywords—Agile; DevOps; gaps; collaboration; skill; DevOps core principles [1]. These principles emphasize the importance
Enabled Agile; software development of individuals and interactions over processes and tools,
working software over comprehensive documentation,
I. INTRODUCTION
customer collaboration over contract negotiation, and
The field of software development is evolving responding to change over following a plan.
continuously with new methodologies and techniques
constantly being devised to bridge the gaps of previous ones. There are many methods and techniques to implement
Our motivation is to propose and verify the DevOps Enabled Agile methodology depending on project scope, knowledge
Agile methodology, a methodology that will combine Agile domain and other factors including DAD, SAFe, XP, Scrum
with DevOps to fulfill the gaps of both methodologies in order etc. [2] Scrum in particular is an agile framework designed for
to further advance the field of software development. small teams which is relatively simple to use and highly
adaptable to changes [3].
This study includes an in-depth analysis of Agile and
DevOps methodologies, describing and comparing the Agile methodology provides many different benefits over
different practices, requirements, challenges etc. and traditional software development methodologies [4]. The main
concluding that both methodologies have disadvantages and benefits include lower documentation requirements, strong
drawbacks that can reduce the effectiveness of individually collaboration with customers, rapid delivery and continuous
implementing them for software development projects. On the alignment with business needs and goals.
basis of this analysis, the implementation of DevOps Enabled However, we have discovered that Agile methodology has
Agile has been justified as the solution to this problem. a number of major gaps including the separation of the
For practical application of implementing DevOps Enabled development, testing and delivery sectors and lack of cross-
Agile methodology, we propose combining standard Agile functionality [5]. Agile methodology does not support
methods with the cross-functionality and collaboration continuous integration of feedback during development, thus
principles of DevOps. We have developed an experimental limiting the speed and efficiency of software development.
pilot project using this procedure and conducted an in-depth Additionally, the lack of cross-functionality within developer
comparison of the results gained by observing the teams may result in disconnected and uncoordinated
performance of both Agile and DevOps Enabled Agile development, testing and delivery sectors which may lead to
methodologies in order to demonstrate the benefits of DevOps project completion and progression not aligning with planned
Enabled Agile methodology. estimates.
278 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 13, No. 11, 2022
However, DevOps (Development-Operations) is an However, this study has not considered work estimation
extension of Agile methodology which can harmonize the during research, leaving this factor as a research gap [5].
development and operation processes/sectors and provide
cross-functionality within teams. Thus, DevOps can mitigate Koi-Akrofi et al. have also conducted a study on Agile
some of the drawbacks of Agile methodology. methodology based on literature review. They have pointed
out the notable advantages of Agile over traditional
DevOps is a software development methodology focused methodologies, which include adaptability towards changing
on the collaboration of developers and operators, but it lacks customer requirements, simple method of updating, priority
concrete definition and is referred to as a skillset, a set of assessment, feedback integration, continuous testing and
practices and even as a job description [6]. DevOps focuses on motivation for developers. They have also pointed out the
cross-functionality between different sectors of development, notable challenges of Agile methodology which are the
operations and quality assurance which would result in highly unpredictability of development, requirement of high
coordinated development, testing and delivery which would dedication, time and effort, greater customer demands, lack of
lead towards smoother project progression [7]. documentation and projects going off-track. However, this
study is purely a literature review and does not use any
But, pure DevOps certainly cannot focus on fulfilling additional method of research, thus showing that fully
continuously changing user requirements by receiving and transitioning to DevOps also has major difficulties and
incorporating feedback in incremental cycles. Additionally, drawbacks [15].
pure DevOps has high skill requirements that cannot be
fulfilled by software engineers who lack extensive training Farid et al. have conducted a study on combining DevOps
and experience on DevOps culture and practices. Thus fully with Lean Software Development. This study has presented
incorporating DevOps into public sectors such as mid and low Lean Software Development as a software development
level software development projects would result in methodology focusing on waste reduction and continuous
difficulties and drawbacks that would be unacceptable for improvement while presenting DevOps as a set of practices
efficient and effective software development process [8] [9] targeted towards improvement of the overall development life
[10]. cycle by integrating development and operations together in
cross-functional teams. The research method involves
Hence, to mitigate the existing problems, we propose implementing DevOps practices to bridge discovered gaps in
combining Agile and DevOps methodologies into the hybrid Lean Software Development. This method was able to utilize
DevOps Enabled Agile methodology for software DevOps practices to overcome issues of Lean Software
development. Our research and analysis have revealed that Development in a number of different areas including Delays,
DevOps and Agile methodologies can be combined together to Defects, Extra Features, Task Switching etc. The limitation of
produce the best results and mitigate the existing problems of this work is that the application of DevOps principles to
both methodologies. Our method will follow the examples set overcome existing issues has only been tested with Lean
by related works that have suggested combining Agile with Software Development and the exploration of similar cases of
DevOps to utilize the benefits of both methodologies [11] [12] applying DevOps principles for Scrum, XP and other methods
[13] [14]. have been left as prospects for future research [16].
Our proposed methodology, DevOps Enabled Agile has Banica et al. presented DevOps as a Project Management
been designed to combine the collaborative and cross- methodology for software development projects. It utilizes a
functional aspects of DevOps with the simplicity and low skill pilot project as the method of research, incorporating DevOps
requirements of Agile to bridge the gaps of both facilities into the development process of a website using
methodologies, thus ensuring rapid progression and maximum VersionOne tool which is highly suitable for project
effectiveness of the development, testing and delivery sectors management systems supporting DevOps methodology. The
of software development projects. Therefore, this analysis results of this project show that DevOps speeds up and
justifies the implementation of DevOps Enabled Agile for improves the development process. However, due to the
software development. inexperienced teams used, some problems were faced during
III. RELATED WORK development, including delays and missing certain
development goals, which classifies as the limitation of this
Our study includes a systematic literature review of research [17].
different related works. We have screened ten existing papers
in particular as the basis of our research and analyzed the Wiedemann et al. provides an in-depth analysis on the
problem statement, research method and limitations of these application of DevOps methodology for IT projects. A
papers as presented below in order to conduct the literature qualitative multiple case study was conducted in eight
review. different industries that utilize DevOps to achieve intra-IT
alignment, justifying the use of DevOps in IT project
Marius Andersen Bjørni and Simen Haugen have management in order to orchestrate development and
conducted interviews and observations to discover the major operations within IT functions. However, this study only
challenges of Agile methodology which consist of high sprint proposes using DevOps methodology for this purpose,
workloads, lack of testing in sprints before release, poor PBI neglecting the potential of combining it with Agile
descriptions, lack of business agility, lack of documentation, methodology to gain further advantages and overcome
inadequate PBI grooming, lack of team improvement, existing disadvantages, thus leaving a gap in the research [18].
inefficient release process and not holding sprint reviews.
279 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 13, No. 11, 2022
Kuusinen et al. observed and analyzed the progression of 1) The first phase consists of the identification of
two groups of students working on software projects customer requirements before converting them into a sprint
transitioning from Agile to DevOps methodology. This backlog.
research discovered several challenges and problems in the 2) The second phase consists of developing the
transition process, including legacy systems, issue of rights
components of the project and testing them to resolve any
and slow testing. Applying continuous testing and the
collaboration of cross-functional teams have been suggested issues.
as solutions to solve these problems. However, a more 3) The third phase consists of delivering each component
complete solution involving the utilization of Agile to the customer and gaining feedback to keep the project on
methodology in coordination with DevOps methodology track and ensure fulfillment of requirements.
instead of fully transitioning to DevOps methodology has been We have selected a simple web application for the students
left unexplored, which is a limitation to be addressed by future of a university to perform course selection and manage
research [19]. payments as our pilot project. In the initialization process, we
Sikender Mohsienuddin Mohammad briefly compares have formed a team consisting of three members, the
Agile and DevOps Methodologies by analyzing their developer, the tester and the customer representative.
similarities and differences. The similarities of Agile and A use case diagram illustrating the team members, their
DevOps are that both are focused on quick and efficient contributions to the pilot project and the information flow
iterative feedback-based development of software. They can between them is given in Fig. 1:
be used together in a coordinated way to speed up and
improve the software development process. On the other hand,
there are also some major differences between the two
methodologies. These differences include Agile only taking
feedback from customers while DevOps additionally takes
feedback from internal team and Agile minimizing the gap
between developers and customers while DevOps minimizes
the gap between developers, testers and operators. However,
this paper neglects to mention the challenges of DevOps
methodology, leaving it as a gap in the research [20].
Hemon et al. have proposed a maturity model for
transitioning from Agile to DevOps, utilizing three stages of
progression; Agile, Continuous Integration and Continuous
Delivery. This model focuses on the alignment of Fig. 1. Use Case Diagram of the Pilot Project.
development and operations while aiming to achieve greater
smartness in IS function. However, the scope of this research The customer representative provided a list of
does not extend towards the field of software development requirements for the project, illustrated in Fig. 2:
despite Agile and DevOps having a high degree of application
in this field. Thus, it can be considered as a research gap [8].
Hemon et al. conducted an additional study on the subject
of Agile to DevOps transition, focusing on individual roles,
collaboration and skills. The research method applied data
collected from a case study in an organization with years of
experience in DevOps to form the basis of the research. The
results of the research conclude that DevOps allows for
balanced collaboration between individuals but also requires
skilled developers and operators to be used efficiently.
However, the extent of more diverse collaboration has not
been fully demonstrated in this study, which could be explored
in future research [10].
IV. PROPOSED METHODOLOGY
Our study has utilized the development of a small scale,
experimental pilot project using Agile and DevOps Enabled
Agile methodologies followed by a systematic comparison of
the results in order to justify and validate our proposed
methodology for software development. Fig. 2. Requirements Diagram of the Pilot Project.
The development process consists of a three-phase method We have analyzed these requirements describing the
followed by the developer teams: structure of the project and converted the results into a sprint
backlog consisting of four sprints for each module of the web
280 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 13, No. 11, 2022
application with two to three story points denoting module delivery of a simple pilot project by a small team of
features adding up to a total of 10 story points, as shown in inexperienced developers.
Table I.
The Burndown Charts for the first iteration (Agile) are
TABLE I. SPRINT BACKLOG given below:
Story
Sprint Sprint
Point Story Point Description
No. Description
No.
1 Structure of front end system
1 Front End 2 Design of front end system
3 Navigation through front end system
4 Registration feature
Authenticatio
2 5 Login feature
n
6 Log out feature
281 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 13, No. 11, 2022
In the second and third charts of this iteration shown in In the first chart of this iteration shown in Fig. 6, we can
Fig. 4 and Fig. 5 respectively, we can see that the actual see that the development sector performed better than
remaining story points for testing and delivery have not estimated similar to the previous iteration, showing faster
decreased at all until the last day. This means that testing and progression throughout the project and reaching completion
delivery sectors were unable to make any progress before the before the estimated deadline.
completion of the development sector on day four, which
shows that the observed performance is not up to estimated In the second and third charts of this iteration which are
standards. shown in Fig. 7 and Fig. 8 respectively, we can see that the
actual remaining story points for testing and delivery have
Therefore, Agile methodology has not performed as well mostly remained below the estimated remaining story points
as estimated due to the lack of consistent progression in the and reached completion earlier than planned. This means that
testing and delivery sectors. Our proposed reasoning behind the testing and delivery sectors have performed better than
this is that the lack of cross-functionality or collaboration planned estimates, leading to consistent and efficient
between team members lead to the testing and delivery sectors progression of project goals and the completion of the testing
heavily depending on the completion of the development and delivery sectors before the estimated deadline.
sector, resulting in overall project progression lagging behind
planned estimates until the end of the project timeline. By comparing this data with the data gained from testing
Agile methodology in the previous iteration, we can conclude
The Burndown Charts for the next iteration of the project that our proposed methodology, DevOps Enabled Agile
using DevOps Enabled Agile are illustrated below: methodology has performed far better in terms of consistent
project progression and completion of project goals. DevOps
Enabled Agile methodology utilized the cross-functionality
aspect of DevOps to ensure that all three sectors would
progress in a coordinated way leading to all three sectors
gaining significant progress throughout the project timeline as
opposed to Agile where testing and delivery could not
progress until development reached completion. Therefore,
DevOps Enabled Agile has been validated as a superior
software development methodology when compared to Agile.
VI. CONCLUSION AND FUTURE WORK
Our research has been focused on discovering the different
Fig. 6. Development Burndown Chart (DevOps Enabled Agile). gaps of the existing DevOps and Agile Methodologies and
combining them to devise a new hybrid methodology, DevOps
Enabled Agile, designed to bridge these gaps. From our
findings, we have verified the effectiveness and integrity of
DevOps Enabled Agile methodology in fulfilling the gaps of
Agile methodology while also avoiding the drawbacks of fully
transitioning to DevOps methodology and thus we have
validated the accomplishment of our research objectives.
The limitation of our research is that we have only tested
our proposed DevOps Enabled Agile methodology on a small
scale, experimental project. Thus, its effectiveness has not
been verified for large scale industrial software development
projects. Additionally, our methodology is more focused on
the cross-functionality and collaboration principles of DevOps
Fig. 7. Testing Burndown Chart (DevOps Enabled Agile). methodology without utilizing any advanced DevOps tools.
Application of DevOps Enabled Agile using DevOps tools has
been left unexplored as a prospect for future research.
In the near future, we are planning on further optimizing
and enhancing DevOps Enabled Agile methodology to make it
suitable to be used universally for software development in
both small and large scale projects. Additionally, we plan to
test the application of DevOps Enabled Agile using different
tools and techniques that have not been used in our experiment
in order to verify whether this methodology is able to
effectively adapt to them. This concludes our current study
with a brief description of our future plans for further
research.
Fig. 8. Delivery Burndown Chart (DevOps Enabled Agile).
282 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 13, No. 11, 2022
283 | P a g e
www.ijacsa.thesai.org
© 2022. This work is licensed under
https://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding
the ProQuest Terms and Conditions, you may use this content in accordance
with the terms of the License.