Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Agile Software Development Methodologies in Cloud Computing

ACity-IEEE- SMART--CRACC-ICTU-Foundations Series/Requirement Engineering Edited Book Chapter, 2022
In the software sector, agile development approaches have a lot of promise. Agile development methodologies are highly realistic in their awareness of the fact that business requirements change all the time. By executing software releases iteratively and collecting user feedback more often, agile development approaches maximize the benefits of cloud computing. This study is a cloud computing and Agile Methods analysis. This article examines Agile management and development approaches, as well as their benefits when used in conjunction with cloud computing. By executing software releases iteratively and obtaining user feedback very often, agile development practices maximize the benefits of cloud computing. The basic proposition of this study is that Small and medium enterprises should use a framework that guides their migration to cloud computing to reduce all the issues that come with cloud computing infrastructures...Read more
ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters 67 BOOK CHAPTER Requirement Enginering in the Cloud dx.doi.org/10.22624/AIMS/REBK2022-P7 Agile Software Development Methodologies in Cloud Computing Justin Onyarin Ogala & Mughele Ese Sophia Department of Computer Science Faculty of Computing, University of Delta, Agbor, Nigeria E-mails: justin.ogala@unidel.edu.com; s.mughele@unidel.edu.ng ABSTRACT In the software sector, agile development approaches have a lot of promise. Agile development methodologies are highly realistic in their awareness of the fact that business requirements change all the time. By executing software releases iteratively and collecting user feedback more often, agile development approaches maximize the benefits of cloud computing. This study is a cloud computing and Agile Methods analysis. This article examines Agile management and development approaches, as well as their benefits when used in conjunction with cloud computing. By executing software releases iteratively and obtaining user feedback very often, agile development practices maximize the benefits of cloud computing. The basic proposition of this study is that Small and medium enterprises should use a framework that guides their migration to cloud computing to reduce all the issues that come with cloud computing infrastructures Keywords: Agile Methodologies, Cloud Computing, Software Development, Integration
ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters 68 Introduction Agile methodology is a project management approach that is commonly used in software development. It uses incremental, iterative work cadences known as sprints to help teams respond to the unpredictability of software development. Agile approaches were developed in response to older methods' incapacity to embrace change in a fast-paced corporate environment that requires software to satisfy its requirements rapidly [2]. Agile approaches are software strategies that are low in weight. The agile development technique aims to give several chances to evaluate a project's direction throughout its development lifespan. Agile development methodologies are being used in businesses by highly creative people who have recognized the flaws in traditional software management procedures [1]. Many firms all around the globe are experimenting with the many agile development methodologies that are available.objective of improving the teaching and learning process and enhancing the quality of education. (www.google.com). It focuses on the implementation of tools and media that enhance communication of knowledge, its development and knowledge exchange. It produces unique effect in the educational sector by creating a student- centered learning environment. Agile Development with Cloud Computing: Agile development approaches and cloud computing are quite complementary. Cloud Services are proud of their ability to quickly respond to customer needs, offering applications whenever and to whatever degree they are required. In the identification of requirements, agile methodologies place a high value on user collaboration. The agile software development methodology tries to break down project requirements into small, manageable chunks. This method ensures that users are provided with feedback on all project tasks. Individual segments may be designed, created, and tested to ensure high-quality standards and few bottlenecks. Every component's development becomes a single "iteration" procedure as a result.
ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters BOOK CHAPTER │ Requirement Enginering in the Cloud dx.doi.org/10.22624/AIMS/REBK2022-P7 Agile Software Development Methodologies in Cloud Computing Justin Onyarin Ogala & Mughele Ese Sophia Department of Computer Science Faculty of Computing, University of Delta, Agbor, Nigeria E-mails: justin.ogala@unidel.edu.com; s.mughele@unidel.edu.ng ABSTRACT In the software sector, agile development approaches have a lot of promise. Agile development methodologies are highly realistic in their awareness of the fact that business requirements change all the time. By executing software releases iteratively and collecting user feedback more often, agile development approaches maximize the benefits of cloud computing. This study is a cloud computing and Agile Methods analysis. This article examines Agile management and development approaches, as well as their benefits when used in conjunction with cloud computing. By executing software releases iteratively and obtaining user feedback very often, agile development practices maximize the benefits of cloud computing. The basic proposition of this study is that Small and medium enterprises should use a framework that guides their migration to cloud computing to reduce all the issues that come with cloud computing infrastructures Keywords: Agile Methodologies, Cloud Computing, Software Development, Integration 67 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Introduction Agile methodology is a project management approach that is commonly used in software development. It uses incremental, iterative work cadences known as sprints to help teams respond to the unpredictability of software development. Agile approaches were developed in response to older methods' incapacity to embrace change in a fast-paced corporate environment that requires software to satisfy its requirements rapidly [2]. Agile approaches are software strategies that are low in weight. The agile development technique aims to give several chances to evaluate a project's direction throughout its development lifespan. Agile development methodologies are being used in businesses by highly creative people who have recognized the flaws in traditional software management procedures [1]. Many firms all around the globe are experimenting with the many agile development methodologies that are available.objective of improving the teaching and learning process and enhancing the quality of education. (www.google.com). It focuses on the implementation of tools and media that enhance communication of knowledge, its development and knowledge exchange. It produces unique effect in the educational sector by creating a student- centered learning environment. Agile Development with Cloud Computing: Agile development approaches and cloud computing are quite complementary. Cloud Services are proud of their ability to quickly respond to customer needs, offering applications whenever and to whatever degree they are required. In the identification of requirements, agile methodologies place a high value on user collaboration. The agile software development methodology tries to break down project requirements into small, manageable chunks. This method ensures that users are provided with feedback on all project tasks. Individual segments may be designed, created, and tested to ensure high-quality standards and few bottlenecks. Every component's development becomes a single "iteration" procedure as a result. 68 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Furthermore, the development of a collaborative relationship between application developers and end-users is emphasized heavily in lean agile software methods [2, 4]. The end-user can see the entire development process. At all phases of development, feedback is solicited, and modifications are made as a result. A highly dynamic and collaborative environment is created by combining lean agile development and cloud computing. When developers finish a product, they may publish it as a cloud service, allowing users to evaluate it immediately and provide useful feedback. As a result, a lengthy feedback loop can be avoided, lowering the chances of requirements being misstated or misinterpreted [4]. This saves the software development company a lot of time and works while also enhancing enduser satisfaction. End-user demands are merged more coherently and efficiently with software delivery, thanks to the agile methodology of demand-driven production (as a cloud service). In cloud computing, this strategy encourages more innovation as well as requirement discovery and validation. Cap Gemini, in collaboration with HP, researched in 2010 to assess industry trends linked to the use of agile methodologies using cloud computing deployment model technologies. Around 30,000 cloud professionals, IT managers, engineers, and quality assurance managers from top companies spanning Asia, Europe, and North America were polled for the study [4]. As cloud services grow more ubiquitous, organizations are focusing on implementing lean-agile approaches to streamline operations, according to the survey. Around 60% of the companies that participated in the survey expect to employ lean agile methodologies as part of their operations for prospective cloud projects and services [4]. This technique will also help firms produce timely user input and check quality standards at each stage of development. As a result, deploying lean agile software development in conjunction with the cloud computing paradigm has several major advantages, including the ability to improve an organization's IT portfolio for better service delivery while cutting costs. 69 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Technical Overview The development approach chosen is dependent on the project's and client's accuracy. This can range from traditional 'waterfall' approaches (in-depth definition phase, build phase, testing phase, and then delivery) to more agile strategies that include frequent releases, continuous integration, continuous delivery, ongoing client involvement, iterative functional deliveries, and regular requirement reviews. A. Why Agile Development? During the development lifecycle, the agile development technique tries to give several opportunities to analyze the course of a project. This is accomplished by teams presenting a shippable piece of work after regular work cadences known as sprints or iterations. The agile approach may be described as "iterative" and "incremental" since it focuses on the repetition of smaller work cycles as well as the functional output they produce. Development teams only have one shot to get each part of a project right in the waterfall. Every element of requirements, development, design, and so on is examined repeatedly throughout the lifecycle under an agile paradigm [5]. Figure 1: Agile Development Methodology Lifecycle 70 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters B. Agile Methodologies Fundamental Values a) Individuals are more essential over processes and tools, b) It's more vital to have working software than it is to have extensive documentation. c) Collaboration with customers is more vital than contract negotiations [4]. d) It's more vital to respond to change than to stick to a plan. These fundamental values are referred to as the Agile Manifesto [6] and are made up of four core ideals and supporting principles that guide the Agile software development process. The four principles are used differently in each agile approach, but they all rely on them to drive the creation and delivery of highquality, functioning software. There is no one-size-fits-all approach to agile development. Crystal Methods; SCRUM; Dynamic Systems Development Method (DSDM); Extreme Programming (XP); Feature Driven Development (FDD); and Adaptive Software Development (ASD) are a few examples of agile methodologies that share many of these key concepts (Highsmith 2001, Sutherland 2001) [6]. Benefits of Cloud Computing in Business Cloud computing, often known as the "public cloud" paradigm, is the process of executing workloads remotely via the internet in a commercial provider's data center. Amazon Web Services (AWS), Salesforce's CRM system, and Microsoft Azure are all examples of popular public cloud products. Cloud computing is the use of a computer network to provide computational resources on demand. It allows duties to be delegated to software and service arrangements through a network. The cloud is a collection of servers. C. 71 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Figure 2: Cloud Computing Architecture Cloud computing is a new type of IT infrastructure that allows companies to execute their programs on a shared data center. Unlike conventionally licensed software, cloud technology improves efficiency by eliminating inefficient software development, testing, deployment, and outage processes [7]. 72 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters The following are some of the major advantages of cloud computing: a) It allows you to save a lot of money because it doesn't require any actual hardware. b) With cloud computing, you can instantly launch your service with fewer clicks. c) It is easy to achieve backup and recovery with automatic software integration. d) The cloud provides nearly infinite storage space. e) There is low-cost software as well as full internet security. f) It allows for a pay-per-use model to be implemented. g) Provides Resilient Computing Services Cloud computing has progressively become a fad among businesses all over the world as a result of these benefits. Gartner predicts that by 2015, cloud computing will be the dominant method of application delivery. As a result, the majority of CIOs are preparing their IT infrastructure to support the cloud. Integrating Cloud Computing With Agile Development Cloud computing provides the ideal environment for agile projects. It enables you to swiftly deliver valuable functionality to your consumers, collect real-time feedback, and make quick adjustments in response to that input. 73 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Figure 3: Agile development process at salesforce.com. [15] Because of the high cost of distribution, this quick development cycle, which is an intrinsic feature of cloud computing, is hard to accomplish in a traditional development approach. If the experience of salesforce.com has taught us anything, it's that cloud computing is the best setting for agile development. It enables you to swiftly deliver valuable functionality to your clients, gathers immediate feedback, and make rapid modifications in response to that input. Because of the high cost of distribution, these rapid development cycles, which are an inherent advantage of cloud computing, are hard to accomplish in the traditional development paradigm. 74 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters The team recognized critical aspects for success and identified adjustments that would have made the transition easier while integrating agile development to salesforce.com: Salesforce.com will continue to expand its use to every team inside the firm with agile development in place. Beyond its four walls, salesforce.com's message is one of synergy: the Force.com platform and agile development work together to create something more than the sum of its parts. D. Benefits of Cloud Computing with Agile Development: a) 75 percent reduction in development cycle time. b) Workloads are more consistent. c) Increased workload utilization d) Implementing large-scale software systems with a set number of developers. e) Higher quality as a result of earlier consumer feedback. f) Management and development strategies are more adaptable to change. g) Reduce the cost of transferring data between users. h) Physically bring people closer together. i) Reduce the amount of time that passes between making a decision and witnessing the results of that decision. j) Replace paperwork with face-to-face conversations and whiteboards. How Cloud Computing with Agile Development secures your business Cloud vendors update security measures regularly to prevent consumers from cyber-attacks. As a result, one of the most significant benefits of cloud computing is security. E. Consider the cloud to be a bank. Your money is safer in a bank account than in your kitchen cookie jar. Similarly, data stored on a cloud service provider is safer than data stored on an insecure network at home or work. Because of the security benefits, several of the world's top corporations have transferred their operations to the cloud using after thoroughly testing its performance and security. 75 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters F. Issues in Adopting Cloud Computing for Agile Application Cloud technology adoption and migration must be managed with development tools. Agile methodologies can be handled using certain open source tools, regardless of whether cloud deployment is adopted (public, private, or hybrid). By implementing software releases iteratively and gathering user feedback, agile development activities use the potential offered by cloud computing, making it easier for businesses to review the quality segment of the improvement[16]. Table 1 summarizes how cloud computing improves the productivity of agile software development considering the issues in adoption. 76 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Table 1: How Cloud Computing Improves The Productivity Of Agile Software Development Cloud computing and Agile The agile method's goal is to eliminate latency in developments are both software development phases. However, cloud going on at the same time. computing automates multiple activities by allowing software development teams to be more effectively utilized. Cloud Computing research The team can generate faster products with manual leads to innovation. testing and develops models for innovation by integrating agile software development and cloud computing. In cloud computing, The testing phase of the software development iterative development with cycle is an iterative process in which the team must continuous integration is fix any bugs discovered during testing. The agile the way to go. team has a large number of virtual machines, which helps to reduce cycle times. As a result, the virtualization of the cloud optimizes integration over time. Using Cloud Computing to Many cloud-based Software as a Service (SaaS) increase continuous options are available, and Agile development may delivery platforms in agile make use of these services in conjunction with development virtualization. Facilitating code branching Development takes longer than a release in agile with Cloud computing approaches. The usage of code refactoring will be I expanded and deployed in production. The cost of renting servers for such uses may be minimized using Cloud computing. Using Cloud Computing to The software development teams in an agile environment can leverage cloud computing provide the essential virtualization to access an unlimited number of servers for agile servers. The use of cloud computing services development. decreases reliance on physical servers. Teams will be limited to only one server per development if they do not use the cloud's 77 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters Recommendation For Future Work Software applications are now distributed using cloud computing to increase processing and improve the production of cloud services. By executing software releases iteratively and gathering user feedback more regularly, agile development approaches maximize the perspective of cloud computing in software development. When formulating a cloud computing strategy, software development companies must take into account the lean agile development approach. A conceptual framework is presented in this research; however, it must be empirically demonstrated through future inquiry. The basic proposition of this study is that Small and medium enterprises should use a framework that guides their migration to cloud computing to reduce all the issues that come with cloud computing infrastructures. Conclusion Agile methodologies are software approaches that are light in weight. Cloud computing makes a significant difference in this aspect. Cloud computing eliminates the time-consuming distribution constraints that hamper agile development in many cases. There are no fixes to install, and there are no reinstallations required. New releases are deployed on hosted servers and made available to users immediately with cloud services. Agile development methodologies are being used in businesses by highly creative people who have recognized the flaws in traditional software management procedures. Many firms all around the globe are experimenting with the many agile development methodologies that are available. By executing software releases iteratively and obtaining user feedback very often, agile development practices maximize the benefits of cloud computing. 78 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters References [1] Agile Alliance. (2001, February). History: The Agile Manifesto. Retrieved Sept 22, 2004, from the World Wide Web: http://agilemanifesto.org/history.html [2] Amber, Scott. (2002). When and when aren‟t you Agile Modeling? Retrieved Sept 22, 2004, from the World Wide Web: http://www.agilemodeling.com/essays/whenAreYouAgileModeling.html [3] Aoyama, Mikio. (1998, November). IEEE Software: Web-based Agile Software Development. Retrieved Sept 22, 2004, from the World Wide Web: http://rockfishcs.cs.unc.edu/COMP290-S02/Aoyama-98.pdf [4] Lean-Agile Methodologies Accentuate Benefits of Cloud Computing. Web: www.thetechnologygurus.com/.../LACC_white_paper_ed_v5. 320180428. [5] Chromatic. (2001, May). O‟Reilly Open Source Convention: An Introduction to Extreme Programming. Retrieved Sept 22, 2004, from the World Wide Web: http://linux.oreilly.net.com/pub/a/linux/2001/05/04/xp_intro.h Html [6] Cockburn, Alisair., Highsmith, Jim. (2001, September). Agile Software Development: The People Factor. Retrieved Sept 22, 2004, from the WorldWideWeb: http://www.adaptivesd.com/Articles/IEEEArticle2Final.pdf [7] Cockburn, Alistair. (2001, October). Philosophy of crystal Methodologies. Retrieved Sept 22, 2004, from the World Wide Web: http://crystalmethodologies.org/philosophy.html [8] Control Chaos. (2001). SCRUM Software Development Process. Retrieved Sept 22, 2004, from the World Wide Web: http://www.controlchaos.com/scrumwp.htm [9] Control Chaos. (2002). What is Scrum? Retrieved Sept 22, 2004, from the WorldWideWeb:http://www.controlchaos.com/scrumo.htm [10] Disaster. (2001, July). Recipes for Disaster. Retrieved Sept 22, 2004, from the World Wide Web:http://www.cio.com/archive/070101/secret_sidebar_2_content.html [11] DSDM. (2001). Overview: Why is DSDM different. Retrieved Sept 22, 2004, from the World Wide Web:http://www.dsdm.org/en/about/overview.asp 79 ACity-IEEE- SMART--CRACC-ICTU-Foundations Series Requirement Engineering Edited Book Chapters [12] Fowler, M. (2000, December). Put your process on a diet software development. Retrieved Sept 22, 2004, from the World Wide Web:http://www.sdmagazine.com/articles/2000/0012/0012a/0012a.htm [13] "Agile Software Development, Principles, Patterns, and Practices," by Robert C. Martin, Prentice-Hall. [14] "Agile Software Development with SCRUM," Ken Schwaber, Mike Beedle, Prentice-Hall. [15] Salesforcecom. (2013). Agile Development Meets Cloud Computing for Extraordinary Results at salesforce com. Retrieved 3 February 2022, from http://www.developerforce.com/media/ForcedotcomBookLibrary/WP_Agile_ 112608.pdf [16] Jain, N., & Dubey, S. (2014). Agile Development Methodology with cloud computing (Vol. 3). International Journal of Engineering and Computer Science. 80
Keep reading this paper — and 50 million others — with a free Academia account
Used by leading Academics
Yoo Hwan Soo
Gacheon University
Christopher Crick
Oklahoma State University
Álvaro Figueira, PhD
Faculdade de Ciências da Universidade do Porto
Qusay F. Hassan