0% found this document useful (0 votes)
96 views

Agile Software Development Using Cloud Computing: A Case Study

This document presents a case study evaluating a previously proposed framework for Agile Development in Cloud Computing (ADCC). The case study utilized Malaysia's MyRen cloud to implement the ADCC framework with software development teams. The results showed that the ADCC framework improved performance of agile methods by enabling a distributed agile development environment and enhancing local agile development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

Agile Software Development Using Cloud Computing: A Case Study

This document presents a case study evaluating a previously proposed framework for Agile Development in Cloud Computing (ADCC). The case study utilized Malaysia's MyRen cloud to implement the ADCC framework with software development teams. The results showed that the ADCC framework improved performance of agile methods by enabling a distributed agile development environment and enhancing local agile development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Received December 3, 2019, accepted December 18, 2019, date of publication December 25, 2019, date of current version

January 8, 2020.
Digital Object Identifier 10.1109/ACCESS.2019.2962257

Agile Software Development Using Cloud


Computing: A Case Study
MUHAMMAD YOUNAS 1,2 , DAYANG NORHAYATI ABANG JAWAWI 2 , AHMAD KAMIL
MAHMOOD 3 , MOHAMMAD NAZIR AHMAD 4 , MUHAMMAD UMER SARWAR 1 ,
AND MOHD YAZID IDRIS 2
1 Department of Computer Science, Government College University Faisalabad, Faisalabad 38000, Pakistan
2 Faculty of Engineering, School of Computing, Universiti Teknologi Malaysia, Johor Bahru 81310, Malaysia
3 High Performance Cloud Computing Center (HPC), Universiti Teknologi Petronas, Sri Iskandar 32610, Malaysia
4 Institute of Visual Informatics, Universiti Kebangsaan Malaysia, Bangi 43600, Malaysia

Corresponding author: Muhammad Younas (younas.76@gmail.com)


This work was supported in part by the Universiti Teknologi Malaysia (UTM) for Transactions disciplinary Research under Grant 06G23,
and in part by the Government College University Faisalabad (GCUF), Pakistan.

ABSTRACT Agile software development is successful due to self-organizing teams, adaptive planning,
a cooperative environment with respect to communication with clients and team members, small develop-
ment cycles, continuous design improvements, continuous delivery and feedback of clients. Cloud computing
helps to reduce cost, enables scalability and enhances communication through its services. A generic
framework with the conjunction of Agile Development and Cloud Computing (ADCC) proposed in an earlier
study is evaluated in this study. The Malaysia Research and education network (MyRen) cloud is utilized
to implement the framework. A case study is conducted to evaluate the framework. Before conducting the
case study, the participants are educated on the ADCC framework. The results of the case study show that
the performance of agile methods is improved with the usage of the ADCC framework. The improvement is
measured in terms of local and distributed agile development environments.

INDEX TERMS Agile development, case study, cloud-based agile tools, cloud computing.

I. INTRODUCTION principles are customer satisfaction, face to face communica-


Development method and environment plays a vital role in tion, close interaction with user, accommodation of changes
the success of software development. To meet the fast and in requirements, iterative improvement in design, sustaining
ever-changing needs of users and industry, software devel- simple and good design, frequent delivery of software, self-
opment processes have evolved with the passage of time. organizing teams and maintaining pace of development.
The adoption of new technologies (such as the advent of big Although agile principles elaborate the importance of
data, cloud computing and IOTs) is another reason for the agility in software development, however, the guidelines
evolution of software development processes. These stressing described in agile principles are not practiced widely, due to
factors divert software development towards parallel process- changing market demands and distributed development envi-
ing, iterative development cycles, prioritizing tasks [1]–[3], ronment. The challenges faced in agile development are scal-
accelerated productivity, increasing quality while lowering ability, transparency [1], face-to-face communication [11],
costs [4]–[6] and performing collaborative tasks to achieve availability of experts [3], smooth control of development,
a faster paced development [7], [8]. ability to build applications from distributed locations [8],
Agile software development teams work efficiently, think [9] and resource management [1], [7]. The changing demands
differently, learn from previous work and experienced fel- require an environment to test innovative ideas. The provision
lows. The aim of agile software development is encapsulated of resources for testing innovative ideas increases the devel-
into twelve agile principles [10]. The key features of agile opment cost.
Only agile models or processes alone are not sufficient
The associate editor coordinating the review of this manuscript and to solve these challenges. New helpers are explored such as
approving it for publication was Xiaobing Sun . cloud computing. Cloud computing has enough potential to

This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/
VOLUME 8, 2020 4475
M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

reduce the cost of software development by providing soft-


ware infrastructure (software and hardware) on a pay per use
basis [8], [15], [16]. Cloud computing reduces the overhead
of new installations, re-installations, and updating patches
[14]. The time delays in software development are reduced
due to provision of on demand test servers. The risks in agile
software development are reduced due to visualization and
transparency. On time provision of cloud services enable the
testing of new ideas produced in the marketplace with zero
delay [12], [13].
The unification of agile and cloud is beneficial in
distributed agile development by using visualization (creat-
ing virtual machines), data sharing, prioritizing task, trans-
parency and provision of infrastructure [1], [5], [8], [17].
Furthermore, cloud-based services help in project manage-
ment, issue management and improve build cycle by auto- FIGURE 1. Distribution of primary studies research contributions adopted
mated testing, continuous integration / delivery. It turns agile by a study [21].
development into true parallel activities. Cloud computing
honors the ecosystem of agile software development with
increasing prominence [3], [18], [19]. Ecosystem refers to Fig. 1 shows that the contributors in primary studies
a system or a group of interconnected elements such as are methodologies (7%), frameworks (12%), an application
a development environment, team inter connectivity and a developed (8%), tools (8%) and the model proposed (15%).
complete system working smoothly and quickly. Cloud com- The contribution of studies with respect to research type are
puting helps in agile requirement engineering [18], [34], [39], case study (12%), and survey paper (5%). The findings of the
development [13], [19], [35], testing [34] and deployment SLR show that there is no contribution to the field study. Field
of software [19], [34], [36], and reduces development time. experiment and applications are 8%. A few studies focus on
A study [17] predicts the variables which can affect the validation research and philosophical research. There is a
adoption of cloud computing in agile software development. need for evaluation research through real-world case studies
Another study [37] highlights the risk analysis and manage- and experience reports in this area.
ment for agile software development due to cloud computing The pace of development becomes very fast due to rapid
and iot. change in market behavior and business. In order to fulfill
Agile development is famous due to short development the market demand, there is a need for the helping tools for
cycles, accommodation of changes at any stage of develop- agile development [9]. Cloud computing services helps agile
ment, frequent delivery of software and strong user inter- development by facilitating a large range of tools for man-
action in the development cycle. In order to implement aging software development activities such as sprint man-
these features of agile development, cloud computing has an agement, velocity metrics, budgeting, analytics, time tracking
important role. Our previous study proposed a framework and reporting, resource management, Kanban board, and cus-
for Agile Development in Cloud Computing environment tomer feedback. The examples for such tools are AgileFant,
(ADCC) [20]. A systematic literature review in the domain of CloudForge, and Jira, which are used primarily for agile
agile development and cloud computing [21] highlights the project management. The source code repositories include
lack of evaluation studies in this area. Therefore, this study examples such as BitBucket [24], GitHub [11], [18], [19],
evaluates the ADCC framework through a case study. [25], CodeSpace, GoogleCode, SourceForge, and Unfuddle.
This paper is divided into the following sections. Section II Code repositories help in managing source codes and their
describes related studies. Section III explains the research versions. For testing of software and infrastructure, TestInfra
methodology and experimental setup. Section IV presents the tool is used for network infrastructure testing. Furthermore,
case study and the artifacts used in the case study. Section V JUnit for unit testing, Jmeter and Cassandra tool for perfor-
describes the results of the case study. In Section 6, the con- mance testing and lynis tool for security test [26].
clusion of case study is presented. Finally, Section 7 describes Communication among team members has an important
the threats to validity. role in agile software development. The requirements are
refined and firmed with customer collaboration. In distributed
II. RELATED WORK agile software development, the role of the communication
In order to highlight the problem background, a Systematic medium is increased. There are a number of new collabora-
Literature Review (SLR) study was conducted [21]. After a tion methods used for social interaction such as discussion
search on all known research resources, the primary studies forums, wikis and real-time reports [27]. Furthermore, Skype
were categorized according to Wieringa Maiden [22] classi- is used for scrum meetings [5], [6]. For other agile devel-
fication as shown in Fig.1. opment activities, AWS-EC2 instance provides databases for

4476 VOLUME 8, 2020


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

TABLE 1. Primary studies using existing tools for their solution adopted by [18].

sharing data [24], [28], Jenkins, XUnit, and Junit provide


testing environments and Puppet, Chef, Jclouds, and Whirr
provide platforms for software deployment [29]. The studies
using existing tools for agile development activities are listed
in Table 1.
The studies listed in Table 1 present the solutions based on
a concept of re-usability. The re-usability of tools enhances
agile software development; however, the development teams
face problems in adjusting to new and unfamiliar environ-
ments and sometimes configuration management between
different artifacts also becomes complicated.

III. RESEARCH METHODOLOGY AND EXPERIMENTAL


SETUP
FIGURE 2. Conceptual design of framework.
This Section explains the research methodology and exper-
imental setup for evaluating the ADCC framework, the set
of requirements used in the experiment, the overview of
the teams participating in the experiment and the evaluation The second component is the selection of cloud platforms
criteria. The research methodology explains the conceptual such as development, testing and deployment servers repre-
view of the ADCC framework and its execution steps. The sented by blue lines in Fig.2. The third part of the ADCC
execution of the ADCC framework generates a different set framework consists of communication and collaboration
of possible ADCC environments. One of these possible envi- medium such as email, Skype and Google drive, as repre-
ronments is evaluated in this study. Furthermore, the method- sented by green lines in Fig.2; and the fourth component
ology explains the pilot test project used for the evaluation of refers to code management tools such as GitHub. The exe-
the ADCC environment. The details are as follows: cution steps for the ADCC framework are explained below
in Fig 3.
A. EXECUTION OF THE ADCC FRAMEWORK In order to build an ADCC environment, the study adopts
The ADCC framework [20], [23] uses existing techniques the procedure defined in Fig.3, the details of which are as
and tools for establishing environments for agile development follows.
in cloud computing, which promote re-usability of exist- Fig 3 has four steps to implements the ADCC framework.
ing solutions. Fig.2 elaborates the conceptual design of the First step is the selection of agile tools, which is based on
ADCC framework. The cloud provider helps in cloud services agile methodology and features used by the development
for managing agile development activities. The workflow of team. The second step is the selection of the cloud computing
different roles such as developers, testers and users is depicted platform, which is based on the project budget, size, security
in Fig.2. The red, green and blue connecting lines represent and nature. For managing code and versioning in an agile
the role and scope of the developers, testers, project managers distributed environment, the code repository is selected in
and users. step three. In step 4, the selection of communication tools
In Fig.2, the first part of ADCC framework is agile is done. For selecting all these tools in four steps, there is
software project management as depicted by red lines. a need to check compatibility among the tools, which is

VOLUME 8, 2020 4477


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

FIGURE 3. Implementation procedure for conceptual design of framework.

performed in step five. The comparability table in Study [20]


helps in resolving the compatibility issues. In case of an
unsuccessful selection, steps one to four are repeated until
all the compatibility issues are resolved.
The details of finalized artifacts for the ADCC environ-
ment selected in the previous paragraph, and their configura-
tions, are described in Fig 4. CloudAgility tool, an enhanced
version of SAgile tool [31] is used for agile project manage-
ment in this case study. This tool is configured in MyRen
1 virtual machine as shown in Fig.4. Selenium IDE, which
is configured on Firefox browser, is used for testing the agile
project. It is a simple playback tool for testing without the
need to learn scripting language.
Malaysia Research and education network (MyRen) cloud
[32] is used for establishing the environment for agile
development. MyRen provides virtual machines to the soft-
ware engineers through cloud admins. The clones of vir-
tual machines can be created and when needed. The project
management tool CloudAgility is configured on separate
virtual machine. The test server and the development envi-
ronment is also configured on a separate machine as shown
in Fig.4.
In the case study, eclipse IDE is used as the development
environment. It is configured with GitHub to manage code FIGURE 4. Experimental setup for implementation of framework.
in a distributed environment. The same virtual machine is
used as the deployment server. and shared with the customers
B. OVERVIEW OF HOSPITAL MANAGEMENT SYSTEM
and other members. For sharing of code, design concepts and
views email, Skype and google drive are used. The ADCC The Hospital Management System (HMS) is designed to
environment is evaluated by developing a pilot project of replace an existing manual, paper-based system. The HMS
a hospital management system. The description of the pilot is used to manage
project in terms of requirement sentences is as follows: • administrative affairs
4478 VOLUME 8, 2020
M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

• patient information TABLE 2. HMS release plan and story points.


• patient administration
• room availability
• staff and operating room schedules
• patient invoices and billing
The HMS software must be flexible, reliable, and easy to
adapt. A significant part of the operation of HMS is acqui-
sition, management and timely retrieval of great volumes of
information. This information typically involves
• patient personal information and medical history
• staff information
• room and ward scheduling
• staff scheduling
• operation theater scheduling and waiting lists for various
facilities
The HMS system generates different reports to utilize
resources effectively while keeping the integrity of data. All
the information is managed in an efficient and cost effective
manner. HMS will automate the management of the hospital,
making it more efficient and error free. It aims at standard-
izing data, consolidating data, ensuring data integrity and
reducing inconsistencies.
is to balance the impact of participants. The average result of
C. TEAM’S OVERVIEW both case studies is compiled.
In this case study, four teams participate in four different In scenario 1, simple agile methodology is adopted by
scenarios. The scenarios are with respect to the selection of teams from GCUF and UTM working locally and indepen-
environment (such as simple agile or ADCC) and mode of dently. In scenario 2, both teams from GCUF and UTM use
environment (such as distributed or local) as shown in Fig- the ADCC environment to work locally for the case study.
ure 5. Two development teams consisting of four students of In scenario 3 and scenario 4, the mode is distributed environ-
a class of Bachelor of Computer Science who are attending ment, and each team comprises of two members from GCUF
the course Software Engineering II in the fourth year of the and two members from UTM. Scenario 3 uses simple agile
program at the computer science department in Government development and scenario 4 uses ADCC environment.
College University Faisalabad (GCUF), Pakistan participate
in the case study. Each team consists of one female and three D. DESCRIPTION OF PILOT TEST PROJECT USED IN CASE
male students having a CGPA greater than 3.0 out of 4.0. STUDY
The competency of each team for both scenarios is same. In this case study, a software ‘‘Hospital Management Sys-
All students can do the jobs of designing, coding and testing. tem’’ (HMS), is developed by the teams. Scrum methodology
The instructor of the class and his assistant performs the role is adopted for the completion of the HMS application. The
of product owner and end user. In this case study, there is a application is completed in 6 releases. The details of the user
role of product owner and end user. They help team mem- stories and work breakdown structure of the HMS project is
bers in understanding and clarification of the requirements given in Table 2. The project is distributed in user stories by
and minimize the ambiguities. The secondary purpose of the performing the agile activities such as defining vision, rank-
product owner and end user is to complete the agile develop- ing the backlog, having the release planning meeting and final
ment cycle. Furthermore, two development teams comprising release. The HMS application is developed two times with
of four students of class Bachelor of Science in Computer different teams and work environments. In Table 2, the story
Science (Software Engineering), attending the course Appli- points show the amount of effort required to complete the
cation Development in the third year of the program in new story. This is a relevant point value which also has been
Universiti Teknologi Malaysia (UTM), Johor, Malaysia, also compared with the points of other stories which the team
participate in the case study. Each team consists of three has completed.
female students and one male student, having a CGPA greater
than 3.0. The competency of each team for both scenarios is IV. CASE STUDY FOR EVALUATION OF ADCC
the same. All students can do the jobs of designing, coding FRAMEWORK
and testing. The Two Ph.D. students perform the role of For evaluation, the case study comprises of four scenarios
product owner and end user. The purpose of two case studies with respect to agile software development (such as using

VOLUME 8, 2020 4479


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

TABLE 3. Performance of teams in local / on-premise environment on using agile development and ADCC.

TABLE 4. Performance of team on distributed environment with using agile development and ADCC.

in all iterations. After completing each iteration, they shared


it with the instructor. After completing iterations, they inte-
grated all the iterations to complete the deliverable. They
completed six releases in the same way. The results in the
form of completion time for each phase are collectively
counted for all deliverables. The evaluation is measured in
terms of number of days taken to complete three software
development phases i.e. i) requirement elicitation, ii) plan-
FIGURE 5. Case study scenarios. ning, design and coding and iii) testing and deployment.

ADCC and without using ADCC) and the development envi- B. APPLICATION DEVELOPMENT SETUP USING ADCC
ronment (such as local and distributed work environment) as FRAMEWORK
shown in Figure 5. The description of each team participating In the second and fourth scenario, the same application
in four scenarios is described in Section III-C. In all the is developed using the ADCC framework which is orga-
scenarios, an application of Hospital Management System nized by the Malaysia Research and education network
(HMS) is developed. The description of HMS is given in (MyRen) cloud. The practical setup of ADCC framework
Section III-B. The application is completed in 6 releases. uses CloudAgility tool for managing project activities.
In the first evaluation, the performance of software devel- Eclipse for PHP is used as a development IDE in this exper-
opment by usage of simple agile and ADCC environment in iment. GitHub is used for code management and versioning.
local / on-premise is compared. The scenario 1 and 2 is used For team communication, Skype and email are used. The
in the first evaluation. In the second evaluation, the perfor- provision of cloud virtual machine is done through the cloud
mance of software development by usage of simple agile and admin. For testing of the software, the Selenium test server
ADCC environment in distributed locations is compared. The is used. The experimental environment is described earlier
scenario 3 and 4 is used in second evaluation. in Section III-A. The performance is measured in terms of
number of days taken to complete three software develop-
A. APPLICATION DEVELOPMENT SETUP USING SIMPLE ment phases.There are two evaluations: first in local devel-
AGILE METHODS opment environment, where the comparison is of scenario
The team developed a web-based application using PHP 1 to scenario 2, in terms of number of days taken to complete
and MySQL. They installed NetBeans IDE and configured three phases. The comparison of both scenarios evaluates the
it for Apache HTTP server, PHP engine, MySQL database difference of only using an agile development process and
server, and then sets up the environment. Each team member ADCC framework, which is an agile development process
installed all the software on their work consoles. The team using a cloud computing environment. The second evaluation
worked together to design phases for solving the problems is in a distributed environment, where the comparison of

4480 VOLUME 8, 2020


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

scenario 3 with scenario 4 in terms of number of days is taken


to complete the three phases.
During the application development, the developers design
the prototype, test and revise it. All the activities are
performed in parallel through cloud virtual machines. The
selenium test server is configured with a development
environment as described in previous Section III-A. On com-
pletion of the first iteration, it is deployed on the deploy-
ment server, and the instructor (product owner) and the end
user can access it, validate and can add new requirements
if needed. All iterations are completed in the same way and
on completion of all releases, the module is integrated. The FIGURE 6. Comparison of agile phases with and without using ADCC in a
local development environment.
complete solution is submitted to the instructor. The results
in the form of completion time for each phase collectively for
all deliverable are counted. The same task is performed by the
different teams, who perform the application development on
the different development environment.

V. RESULTS OF CASE STUDY


The case study has two sub parts evaluation 1 and evaluation
2. In evaluation 1, the results in scenario 1 are compared with
results in scenario 2. Three phases of software development
are compared in scenario 1 and 2, such as using simple agile
environment and using ADCC environment work locally / on-
premise. The phases used for measuring performance are i) FIGURE 7. Comparison of agile phases with and without using ADCC in a
distributed development environment.
requirement elicitation, ii) planning design and coding and iii)
testing and deployment. The scenario is in terms of using only
agile software development and using ADCC framework. In order to minimize the competency effects of teams the
The work is measured in terms of the total number of days average of two composite teams is calculated in Table 4.
used in the completion of the artifact. In evaluation 2, the case Figure 7 shows that, using the ADCC environment results
study measures the performance of scenario 3 and scenario in better performance as compared to a simple agile envi-
4 in a distributed development environment. ronment. The reason for the improvement seen in the ADCC
First, the performance of teams working in local (on- environment is due to zero delay in communication of teams
premise) is measured. A team from UTM and GCUF worked and users, the provision of hardware and computing resource
separately and independently in the local environment. The without worrying about configurations of patches, updates,
results of a team from GCUF and a team from UTM in and installations. The ADCC environment provides the test-
terms of number of days taken to complete the development ing and deployment environment with zero delays.
phases are given in Table 3. The competency of each team for In a distributed environment, teams are located at distant
both scenarios is nearly equal. Furthermore, to moderate the places logistically. There is communication delay due to
competency effect, the average of both teams is calculated. cultures, languages and time zones difference [38]. The case
All students can do the jobs of designing, coding and testing. study forms the teams with a mix of UTM and GCUF students
The instructor of the class and his assistant performs the and has them develop the HMS software in both scenarios.
role of product owner and end user (if needed). The average Table 4 shows the number of days spent by the teams using
of all teams with respect to three development phases is both scenarios in different development phases.
calculated. The difference in terms of a number of days spent In a distributed environment, a simple agile software devel-
in completing agile development activities in both scenarios opment process can be delayed due to communication delay
is shown in Fig.6. In a local environment, Figure 6 shows that between development teams and other stakeholders, ulti-
development time is efficient when using ADCC as compared mately affecting the requirement gathering process. On the
to a simple agile environment. other hand, The ADCC framework provides communication
Evaluation 2 is using a distributed environment, the mix of and collaboration facility, which helps in requirement gath-
students of UTM and GCUF work as one team and develop ering and planning phases. As such, the elicitation process
the HMS software on the simple agile development environ- using only agile software development is completed in three
ment (scenario 3) and then the same software is developed days and in one and half days by using ADCC framework as
in an ADCC environment (scenario 4). The performance of shown in Fig.7.
scenario 3 and scenario 4 in terms of number of days taken In an agile development, after completing one iteration, it is
to complete three development phases is given in Table 4. sent to the product owner to get feedback and it is noted that

VOLUME 8, 2020 4481


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

all this process is manual or not inter-connected. On the other


hand, the ADCC provides an infrastructure for a development
environment in a distributed environment. Due to parallelism,
the performance of planning design and coding increases by
using ADCC. The code versioning facility helps the distant
team members. Plans and design artifacts are shared easily
among team members. Furthermore, the planning, design
and coding activities are completed in 40 days and by using
ADCC, completed in 33 days as shown in Fig.7.
In an agile development, users test the code and share with
another member manually through email or flash drive. And
to show the output they make arrangement to get feedback
of user and product owner. On the contrary, the testing and
deployment servers are facilitated by ADCC, and become a
cause to reduce the completion time. There is no waste of FIGURE 8. Impact of local and distributed environment on agile
time in getting to a test environment. The scalability issue development.
is resolved due to the use of ADCC. Each team member
can view the progress of software development by access-
ing and viewing the deployment server facilitated by the opment environment. In general, the ADCC framework has
ADCC framework. By using the agile method, the testing and the following findings based on the results of the case study.
deployment activities are completed in 9 days and by using
• The ADCC framework reduces communication latency
ADCC, they are completed in six and half days as shown
in agile development.
in Fig.7.
• The ADCC framework describes the range of tools to
In agile methods the requirements are confirmed with the
support agile development activities in context of cloud
user interaction until the end of the project; however, due
computing and their compatibility.
to communication and collaboration difficulties, the require-
• The use of the ADCC framework produces a more
ment elicitation process gets delayed and job completion
structured and managed environment for agile devel-
time has increased as shown in Fig.8. In a distributed envi-
opment by providing development infrastructure, on-
ronment, there are difficulties in sharing design, concepts,
demand testing servers and continuous deployment.
code and prototypes among team members and clients. Due
• The ADCC framework is provided on demand to any
to communication and collaboration delays, the completion
number of test servers which have enabled software
time of design and coding is increased as shown in Fig.8.
development activities.
Furthermore, the sharing of prototypes and progress of devel-
opment by means of deliverable to the client and test reports The ADCC framework is a generic solution for agile devel-
face difficulties in a distributed environment and ultimately opment in cloud computing environment, however as a future
increase the job completion time. In a distributed environ- aspect, it is applicable on other software engineering methods
ment the latency increases in software development phases. by selecting collection of tools and environments.
Fig.8 shows the increase in time in different phases of agile
development due to the distributed environment. VII. THREATS TO VALIDITY
A case study is conducted to evaluate the ADCC framework.
VI. CONCLUSION The framework possesses different choices for selection of
The ADCC framework is evaluated with the help of a case platforms and tools. The case study has the following threats
study. The purpose of this case study is to frame the prob- to validity. A performance bias may occur when same project
lems faced during agile software development and how these is developed by different teams with and without the ADCC
problems are solved using the ADCC framework. During an framework. There is a chance of different competency level
agile software development process, the team has resources, of teams. In the case study, the teams are educated about
but these are not interconnected like in real software devel- the experimental setup of the ADCC, so that the attitude
opment. If dedicated resources are arranged, then it becomes during educating the environment may influence the results.
expansive, an extra network staff is required to maintain the In the case of a distributed environment, there is no control
system. On the other hand, the ADCC framework (cloud com- on the communication of the team members from the same
puting) provides an environment which is interconnected. All class/university. They can communicate directly, which is
the developers and other team members feel that they are a threat. Another limitation is that this study has not been
working in the on-premise environment. All systems behave compared with existing studies. A study [6] conducted a case
like a single system. The difference in the number of days study of a warehouse management application using DSDM
consumed to perform software development activities show model. They compared the performance of agile software
the benefits of ADCC framework over a simple agile devel- development using agile and using agile-cloud. Furthermore,

4482 VOLUME 8, 2020


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

they did not share the requirements of the developed applica- [17] S. A. Butt, M. I. Tariq, T. Jamal, A. Ali, J. L. D. Martinez, and
tion. Another study [2] built a ShaMoCloud application and E. De-La-Hoz-Franco, ‘‘Predictive variables for agile development merg-
ing cloud computing services,’’ IEEE Access, vol. 7, pp. 99273–99282,
compared it with the DSDM application, by assuming that 2019.
their ShaMoCloud application is nearly equal to the num- [18] T. Haig-Smith and M. Tanner, ‘‘Cloud computing as an enabler of agile
ber of requirements in the DSDM application. Furthermore, global software development,’’ Issues Informing Sci. Inf. Technol., vol. 13,
pp. 121–144, Mar. 2016.
both applications did not share their requirements used in [19] W.-T. Tsai, W. Wu, and M. N. Huhns, ‘‘Cloud–based software crowdsourc-
the case study, which is a biasness. Under these limitations, ing,’’ IEEE Internet Comput., vol. 18, no. 3, pp. 78–83, May 2014.
the current study does not compares with the existing studies [20] M. Younas, I. Ghani, D. N. Jawawi, and M. M. Khan, ‘‘A framework for
agile development in cloud computing environment,’’ J. Internet Comput.
due to unavailability of requirements used in case studies for Services, vol. 17, no. 5, pp. 67–74, 2016.
application development. [21] M. Younas, D. N. Jawawi, I. Ghani, T. Fries, and R. Kazmi, ‘‘Agile
development in the cloud computing environment: A systematic review,’’
Inf. Softw. Technol., vol. 103, pp. 142–158, Nov. 2018.
ACKNOWLEDGMENT [22] R. Wieringa, N. Maiden, N. Mead, and C. Rolland, ‘‘Requirements
The authors would like to thank Universiti Teknologi engineering paper classification and evaluation criteria: A proposal
Malaysia (UTM) for Trans disciplinary Research Grant and a discussion,’’ Requirements Eng., vol. 11, no. 1, pp. 102–107,
Mar. 2006.
06G23 and the Government College University Faisalabad [23] M. Younas, D. N. A. Jawawi, I. Ghani, M. A. Shah, M. M. Khurshid,
(GCUF), Pakistan, for the students participating in case and S. H. H. Madni, ‘‘Framework for agile development using cloud com-
studies, and the Malaysia Research and education network puting: A survey,’’ Arabian J. Sci. Eng., vol. 44, no. 11, pp. 8989–9005,
2019.
(MyRen) cloud, in to provide resources for this research. [24] F. Almudarra and B. Qureshi, ‘‘Issues in adopting agile development
principles for mobile cloud computing applications,’’ in Proc. 6th Int.
Conf. Ambient Syst., Netw. Technol., E. Shakshuki, Ed., vol. 52, 2015,
REFERENCES
pp. 1133–1140.
[1] A. Tuli, N. Hasteer, M. Sharma, and A. Bansal, ‘‘Empirical investigation [25] S. Franken, S. Kolvenbach, W. Prinz, I. Alvertis, and S. Koussouris,
of agile software development: Cloud perspective,’’ SIGSOFT Softw. Eng. ‘‘CloudTeams: Bridging the gap between developers and customers dur-
Notes, vol. 39, no. 4, pp. 1–6, 2014. ing software development processes,’’ Procedia Comput. Sci., vol. 68,
[2] F. Almudarra and B. Qureshi, ‘‘Issues in adopting agile development pp. 188–195, 2015.
principles for mobile cloud computing applications,’’ Procedia Comput. [26] J. de Castro Martins, A. F. M. Pinto, G. S. Goncalves, R. A. L. Shigemura,
Sci., vol. 52, pp. 1133–1140, 2015. W. C. Neto, A. M. da Cunha, and L. A. V. Dias, ‘‘Agile testing quadrants on
[3] A. Nazir, A. Raana, and M. F. Khan, ‘‘Cloud computing ensembles problem-based learning involving agile development, big data, and cloud
agile development methodologies for successful project development,’’ computing,’’ Information Technology-New Generations. Cham, Switzer-
Int. J. Mod. Educ. Comput. Sci., vol. 11, pp. 28–35, Nov. 2013. land: Springer, 2018, pp. 429–441.
[4] N. Jain and S. Dubey, ‘‘Agile development methodology with cloud com- [27] S. Singh and I. Chana, ‘‘Introducing agility in cloud based software devel-
puting,’’ Int. J. Eng. Comput. Sci., vol. 3, no. 4, pp. 5373–5378, 2014. opment through ASD,’’ Int. J. u- e-Service, Sci. Technol., vol. 6, no. 5,
[5] I. Inayat, S. S. Salim, and Z. M. Kasirun, ‘‘Agile-based software product pp. 191–202, Oct. 2013.
development using cloud computing services: Findings from a case study,’’ [28] M. Manuja and Manisha, ‘‘Moving agile based projects on cloud,’’ in Proc.
Sci. Int. (Lahore), pp. 1065–1069, 2013. IEEE Int. Advance Comput. Conf. (IACC), Feb. 2014, pp. 1392–1397.
[6] S. Kalem, D. Donko, and D. Boskovic, ‘‘Agile methods for cloud comput- [29] M. Miglierina, ‘‘Application deployment and management in the cloud,’’
ing,’’ in Proc. 36th Int. Conv. Inf. Commun. Technol., Electron. Microelec- in Proc. 16th Int. Symp. Symbolic Numeric Algorithms Sci. Comput.,
tron. (MIPRO), May 2013, pp. 1079–1083. Sep. 2014, pp. 422–428.
[7] A. Dumbre, S. P. Senthil, and S. S. Ghag, ‘‘Practising agile software [30] M. M. A. Ghosh and W. F. Al Sarraj, ‘‘A case study on academic ser-
development on the windows azure platform,’’ Infosys, Bengaluru, India, vices application using agile methodology for mobile cloud computing,’’
White Paper, 2011. Int. J. Res. Eng. Sci., vol. 4, no. 2, pp. 22–30, 2016.
[8] W. Wang. (2011). Reinforcing Agile Software Development in the [31] A. F. Binti Arbain, I. Ghani, and W. M. N. Wan Kadir, ‘‘Agile non
Cloud. Accessed: Jan. 30, 2016. [Online]. Available: https://www.open. functional requiremnents (NFR) traceability metamodel,’’ in Proc. 8th.
collab.net/media/pdfs/CollabNet%20Whitepaper_Reinforcing%20Agile Malaysian Softw. Eng. Conf. (MySEC), Sep. 2014, pp. 228–233.
%20Dev%20in%20the%20Cloud.pdf?_=d [32] Myren. (2017). Malaysian Research & Education Network. [Online].
[9] A. Sever, ‘‘Modeling distributed agile software development utilizing Available: https://myren.net.my/
cloud computing: A holistic framework,’’ Current J. Appl. Sci. Technol., [33] U. Durrani, J. Richardson, J. Lenarcic, and Z. Pita, ‘‘Lean traceability
vol. 35, no. 6, pp. 1–12, 2019. solution through SLAM model: A case study of a hybrid delivery team in
[10] A. Alliance. (Feb. 25, 2001). Agile Manifesto. [Online]. Available: a hybrid cloud computing environment,’’ in Proc. 22nd Australas. Softw.
http://www.agilemanifesto.org Eng. Conf. (ASWEC), 2013, pp. 16–19.
[11] M. R. J. Qureshi and I. Sayid, ‘‘Scheme of global scrum management [34] S. Karunakaran, ‘‘Impact of cloud adoption on agile software develop-
software,’’ Int. J. Inf. Eng. Electron. Bus., pp. 1–7, Mar. 2015. ment,’’ in Software Engineering Frameworks for The Cloud Computing
[12] R. Shriver. (2012). Agile Cloud Development: The Future of Paradigm, Springer, pp. 213–234.
Software. Accessed: Feb. 20, 2016. [Online]. Available: http://www. [35] B. P. Gopularam, C. B. Yogeesha, and P. Periasamy, Highly scalable model
virtualizationpractice.com/agile-cloud-development-the-future-of- for tests execution in cloud environments, in Proc. 18th Int. Conf. Adv.
software-16226/ Comput. Commun. (ADCOM), Dec. 2012, pp. 54–58.
[13] N. Rathod and A. Surve, ‘‘Test orchestration a framework for continuous [36] V. E. Jyothi and K. N. Rao, ‘‘Effective implementation of agile practices,’’
integration and continuous deployment,’’ in Proc. Int. Conf. Pervas. Com- Int. J. Adv. Comput. Sci. Appl., vol. 2, no. 4, pp. 41–48, 2014.
put. (ICPC), Jan. 2015, pp. 1–5. [37] P. Gouthaman and S. Sankaranarayanan, ‘‘Agile software risk man-
[14] B. Portelli. (2010). The Beauty of Agile in The Cloud. Accessed: Sep. 2017. agement architecture for IoT–Fog based systems,’’ in Proc. Int. Conf.
Available: [Online]. Available: https://www.agileconnection.com/article/ Smart Syst. Inventive Technol. (ICSSIT), Dec. 2018, pp. 48–51, doi: 10.
beauty-agile-cloud 1109/icssit.2018.8748457.
[15] H. Benfenatki, C. F. D. Silva, A.-N. Benharkat, and P. Ghodous, ‘‘Cloud– [38] V. Lalsing, ‘‘People factors in agile software development and project
based business applications development methodology,’’ in Proc. IEEE management,’’ Int. J. Softw. Eng. Appl., vol. 3, no. 1, pp. 117–137,
23rd Int. WETICE Conf., Jun. 2014, pp. 275–280. Jan. 2012.
[16] T. G. P. Mell. (2011). The NIST Definition of Cloud Computing. [39] M. Younas, D. N. Jawawi, I. Ghani, R. Kazmi, ‘‘Non-functional require-
[Online]. Available: http://nvlpubs.nist.gov/nistpubs/Legacy/SP/ ments elicitation guideline for agile methods,’’ J. Telecommun., Electron.
nistspecialpublication800-145.pdf Comput. Eng., vol. 9, no. 3–4, pp. 137–142, Oct. 2017.

VOLUME 8, 2020 4483


M. Younas et al.: Agile Software Development Using Cloud Computing: Case Study

MUHAMMAD YOUNAS received the Ph.D. MOHAMMAD NAZIR AHMAD is currently


degree from the Faculty of Engineering, School working as an Associate Professor with the Insti-
of Computing, Universiti Teknologi Malaysia tute of Visual Informatics, Universiti Kebangsaan
(UTM). He is currently working as an Assistant Malaysia, Bangi, Malaysia.
Professor with the Computer Science Depart-
ment, Government College University Faisalabad,
Pakistan. His research interests include software
engineering, agile software development, cloud
computing, and code clone detection.

DAYANG NORHAYATI ABANG JAWAWI is cur- MUHAMMAD UMER SARWAR is currently


rently working as an Associate Professor and the working as an Assistant Professor with the Com-
Associate Chair (Academic and Student Devel- puter Science Department, Government College
opment) with the Faculty of Engineering, School University Faisalabad, Pakistan.
of Computing, Universiti Teknologi Malaysia
(UTM). She is also a member of Software Engi-
neering Research Group (SERG).

AHMAD KAMIL MAHMOOD received the MOHD YAZID IDRIS is currently working as
Ph.D. degree. He is currently working as an a Senior Lecturer with the Department of Soft-
Associate Professor with Universiti Teknologi ware Engineering, Faculty of Computing, Univer-
Petronas, Sri Iskandar, Malaysia. siti Teknologi Malaysia.

4484 VOLUME 8, 2020

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy