Articulo2 - DevOps Enabled Agile Combining Agile and DevOps Methodologies For Software Development

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

(IJACSA) International Journal of Advanced Computer Science and Applications,

Vol. 13, No. 11, 2022

DevOps Enabled Agile: Combining Agile and


DevOps Methodologies for Software Development
Shah Murtaza Rashid Al Masud, Md. Masnun, Mst. Afia Sultana
Anamika Sultana, Fahad Ahmed, Nasima Begum
Department of Computer Science and Engineering
University of Asia Pacific, Dhaka, Bangladesh

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

Course 7 Course Selection feature


3
Selection 8 Course Viewing feature
9 Payment Status feature
4 Payment Fig. 3. Development Burndown Chart (Agile).
10 Make Payment feature

In the first iteration, we used Agile methodology by


assigning the team members to work separately on the
development, testing and delivery sectors over a five-day
period. We have catalogued the observed data on performance
and progression in the form of a series of Burndown Charts
plotting actual remaining story points and estimated remaining
story points against the number of days passed. The Burndown
Charts of this iteration have tracked the performance of the
development, testing and delivery sectors using Agile
methodology.
For the next iteration we switched to DevOps Enabled
Agile methodology with cross-functional team members
working together over a five-day period. This led to Fig. 4. Testing Burndown Chart (Agile).
continuous collaboration and cooperation among the team
members, allowing for the development, testing and delivery
sectors to become coordinated without having to fulfill the
high skill requirements of fully transitioning to DevOps. We
have observed the performance of this methodology by
generating another series of Burndown Charts tracking the
performance of the development, testing and delivery sectors
using DevOps Enabled Agile methodology.
Thus, the implementation of our pilot project has been
completed using both Agile methodology and DevOps
Enabled Agile methodology with the Burndown Charts
generated for both iterations allowing for in-depth
comparisons of their performances to determine that DevOps
Enabled Agile is the superior methodology in terms of project
progression. The findings and discussion of our methodology Fig. 5. Delivery Burndown Chart (Agile).
have been presented and further discussed in the next section
of our study. In the first chart of this iteration shown in Fig. 3, we can
see that the number of actual remaining story points
V. FINDINGS AND DISCUSSION
consistently stayed below the number of estimated remaining
The results of our pilot project have been observed and story points throughout the project and development reached
catalogued in the form of two separate series of Burndown completion before the estimated deadline on day five,
Charts that denote the performance of Agile methodology and meaning that the development sector performed better than
DevOps Enabled Agile methodology for the development and estimated, progressing faster and finishing earlier than
planned.

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

ACKNOWLEDGMENT [10] A. Hemon, B. Lyonnet, F. Rowe and B. Fitzgerald, “From Agile to


DevOps: Smart Skills and Collaborations”, Information Systems
We appreciate the financial support provided by the Frontiers, Volume 22, 2020.
Institute of Energy, Environment, Research, and Development [11] F. K. Kagai, “Adapting Agile DevOps for Strategic Information Systems
(IEERD, UAP) and the University of Asia Pacific. Development”, TechRxiv Preprint Server, Version 2, 2019.
[12] T. Cardoso, R. Chanin, A. R. Santos and A. Sales, “Combining Agile
REFERENCES and DevOps to Improve Students’ Tech and Non-tech Skills”, CSEDU,
[1] K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, 2021. pp. 299-306.
M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, Jon Kern, [13] N. Govil, M. Saurakhia, P. Agnihotri, S. Shukla and S. Agarwal,
Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff “Analyzing the Behaviour of Applying Agile Methodologies & DevOps
Sutherland and Dave Thomas, “Manifesto for Agile Software Culture in e-Commerce Web Application”, 2020 4th International
Development”, Agile Alliance, 2001. Conference on Trends in Electronics and Informatics, 2020. pp. 899-
[2] M. K. Alqudah, R. Razali and M. K. Alqudah, “Agile Methods Selection 902.
Model: A Grounded Theory Study” International Journal of Advanced [14] B. Snyder and B. Curtis, “Using Analytics to Guide Improvement during
Computer Science and Applications (IJACSA), Volume 10, No. 7, 2019. an Agile–DevOps Transformation”, 2017.
[3] Muhammad Asaad Subih, Babur Hayat Malik, Imran Mazhar, Izaz-ul- [15] G. Y. Koi-Akrofi, J. Koi-Akrofi and H. A. Matey, “Understanding the
Hassan, Usman Sabir, Tamoor Wakeel, Wajid Ali, Amina Yousaf, Bilal- Characteristics, Benefits and Challenges of Agile it Project
bin-Ijaz, Hadiqa Nawaz and Muhammad Suleman, “Comparison of Management: A Literature Based Perspective”, arXiv e-Print Archive,
Agile Method and Scrum Method with Software Quality Affecting Volume 10, 2019. pp. 25-44.
Factors” International Journal of Advanced Computer Science and
Applications(IJACSA), Volume 10, No. 5, 2019. [16] A. B. Farid, Y. M. Helmy and M/ M/ Bahloul, “Enhancing Lean
Software Development by using Devops Practices” International Journal
[4] R. Shankarmani, R. Pawar, S. S. Mantha and V. Babu, “Agile of Advanced Computer Science and Applications (IJACSA), Volume 8,
Methodology Adoption: Benefits and Constraints”, International Journal No. 7, 2017.
of Computer Applications, Volume 58, 2012.
[17] L. Banica, M. Radulescu, D. Rosca and A. Hagiu, “Is DevOps another
[5] M. A. Bjørni and S. Haugen, “Challenges with Agile in a System Project Management Methodology?”, Informatica Economica, Volume
Development Department: A Case Study”, IEEE Software, Volume 35, 21, 2017. pp. 39-51.
Issue 1, 2019. pp. 78 – 83.
[18] A. Wiedemann, M. Wiesche, H. Gewald and H. Krcmar,
[6] F. Erich, C. Amrit, and M. Daneva, “A Mapping Study on Cooperation “Understanding How DevOps Aligns Development and Operations: A
between Information System Development and Operations”, Tripartite Model of Intra-IT Alignment”, European Journal of
International Conference on Product-Focused Software Process Information Systems, 2020. pp. 1-16.
Improvement, 2014. pp. 277–280.
[19] K. Kuusinen, V. Balakumar, S. C. Jepsen, S. H. Larsen, T. A. Lemqvist,
[7] C. Ebert, G. Gallardo, J. Hernantes, and N. Serrano, “DevOps”, IEEE A. Muric, A. Ø. Nielsen, and O. Vestergaard, “A Large Agile
Software, Volume 33, Issue 3, 2016. pp. 94 – 100. Organization on its Journey towards DevOps”, 2018 44th Euromicro
[8] A. Hemon, B. Lyonnet, F. Rowe and B. Fitzgerald, “Conceptualizing the Conference on Software Engineering and Advanced Applications
Transition from Agile to DevOps: A Maturity Model for a Smarter IS (SEAA), 2018. pp. 60-63.
Function”, IFIP International Federation for Information Processing, [20] S. M. Mohammad, “DevOps automation and Agile Methodology”,
2019. pp. 209–223. International Journal of Creative Research Thoughts (IJCRT), Volume
[9] R. T. Yarlagadda, “How Public Sectors Can Adopt the DevOps 5, Issue 3, 2017. pp. 946-949.
Practices to Enhance the System”, International Journal of Emerging
Technologies and Innovative Research, ISSN, 2018. pp. 82-91.

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.

You might also like