Professional Documents
Culture Documents
net/publication/311497124
CITATIONS READS
9 1,260
4 authors:
Some of the authors of this publication are also working on these related projects:
Core Asset Modeling and Derivations in Software Product Line View project
All content following this page was uploaded by Muhammad Murad Khan on 11 September 2017.
ABSTRACT
Distributed agile software development faces difficulties for instance lack of visibility across development and delivery processes,
complex and disjointed development processes, inability to capitalize on business opportunities, lack of communication agility between
disconnected owners, development teams, and users or clients. However these difficulties are solved with the help of cloud computing
services. This study proposes a framework to provide a skeletal or structural environment for distributed agile software development in
cloud computing environment. The framework guide towards the best tooling to deliver a consistent, automated, governed, and unified
agile software development process with reduced technical debt, and minimized project backlog. In addition to this, the study
highlights the benefits of cloud computing in agile software development.
☞ keyword : Global Agile Development, Cloud computing, Challenges, benefits, Framework, cloud-based agile tools
68 2016. 10
A Framework for Agile Development in Cloud Computing Environment
(Table 2) AGILE AND CLOUD TOOLS Communication and Collaboration Support: In global
agile development, communication between team members at
Tool Name Description
different levels is very important. Transparency and continuous
Jira software Project management and issue tracking
feedback are practiced by the face to face meeting of a team
Connect Axosoft with many other services
Zapier member in agile development [7]. Project requirement clarifies
and tools.
with the collaboration of team members and client involvement.
open source automation server, plugins to
Devlopementent teams use Facebook, blogs [8], Skype [6, 7],
Jenkins support building, testing, deploying and
automation for virtually any project for general discussion, code and ideas sharing. The details of
such tools described in Table 2.
Provide an environment for developing, test,
Apache Stratos and run cloud-based applications. Paas Code Repositories: gitHub [8], BitBucket, FishEye and
framework to run PHP, MySql, and tomcat. Bamboo are especially for code sharing and versioning. In
Customer Relationship Management (CRM), distributed and parallel programming environment number of
Salesforce.
automation server, platform to manage all developers work on the project i.e. more than one person work
com
interactions with customers and prospects and enhance some piece of code and maintain it.
IT automation solution, deploy, manage Cloud Platform: there are a number of cloud services
Puppet
infrastructure, patching and configuration of which have different prices range, logistically locations and
Enterprise
operating systems and devices, support for different tools integrations. Cloud model is public,
Google App private, community and hybrid. It can be selected as per need
Engine, building scalable web applications, virtual
and requirement. Due to security reasons, some organizations
Compute machines, scalable cloud resources
Engine
like private cloud and some due to limited budget rely on the
public or hybrid cloud. The details of cloud services given in
Microsoft The integrated tools, pre-built templates and
azure managed services, PaaS Table 2.
70 2016. 10
A Framework for Agile Development in Cloud Computing Environment
Jira Puppet
Team Agile
Platform and Services Application AxoSoft Planbox Assembla Yodiz Chef Enterprise
Forge fant
[5,13, 14] [18]
Cloud Bees Jenkins X X X
Sales. force X
Google App Engine X
automati
Google Comp_ ute Engine X X
on
Microsoft Window Azure X X
Server
IBM AIS X
Amazon Web Service X X
Docker X
Slack X X X
collabor
Confluence X
ation
HipChat X
BitBucket X X X
Bamboo X
FishEye X
code
Crucible X X
gitHub X X X X
Git X X X
Legend:
- “X” shows an integration support relationship
- empty cell shows no relationship
Continuous feedback is a feature of agile development, is In Figure 2 Pentagon represents the global agile development
achieved through the cloud by establishing communication environment needs for application development. The cloud
between teams and customer. So a strong communication computing facilitates development environment by selecting
requires between them. There are several tools and techniques cloud platform. The cloud shares data between different
for collaboration listed in Table 2. stakeholders of development. The deployment of application
In addition to collaboration, integration support between occurred in the cloud. Cloud computing; enhances visibility
different applications/tools is discussed in Table 3. Some tools across development and deployment process.
provide direct integration with the other tools and some provide In pentagon second entity is code repository which is
API support to connect. This table also shows that which necessary for code management across the distributed team. The
collaboration tool and code repositories can be integrated with third entity is the communication and collaboration between
other development environment. For example, the table shows different levels of the development team, and also the client
that Jira Application provides support for “Confluences” as a of software. This comes from the collection of tools show in
collaboration tool and “BitBucket” as a code repository. The Figure 2. The fourth and last is agile project management
combinations of these tools may help to make a Framework practices which come from the collection of agile management
for smooth cloud-based global agile development environment. tools supported by cloud computing environment. In Figure 2
In proposed application framework we provide a the arrows shows how the services come in pentagon from
fundamental structure to support the development of different sources. These all as a whole provide an environment
applications in the global agile environment. This framework to work globally.
provides a basic Skelton to work in distributed environment.
4. FACTORS THROUGH WHICH CLOUD promote decentralize environment so as the decision can be
taken at the different level of development teams [15],
ENHANCE AGILE DEVELOPMENT
ultimately increase performance. Cloud also provide parallel
processing environment of development.
By review of several studies, we find that Cloud Computing
Reduce cost: as cloud based on “pay per use” method, so
is very important in global agile development. The following
it help to global agile development with zero capital cost and
features of cloud computing reinforce global agile development.
running cost depends on the usage of cloud resources.
Software testing support: cloud provides a large number
Ultimately reduce agile development cost [3].
of test servers [3, 10 and 15]. The developer becomes tension
Predictability: due to small iteration cycle agile is more
free from the availability of a server or to establish and manage
predictable that waterfall model. And short cycles of
hardware for the requirement of testing. In other words our
development are incorporated by the quick customer feedback,
framework enhances testing facility.
and which is achieved by cloud. Predictability achieved by
Virtualization: Are the characteristics of cloud which enable
Time-boxing, by keeping the date, resource, and quality control
the user of cloud, to set service of cloud infrastructure as per
while taking functional decisions.
requirement. Agile development based on small iterations, so
facilitate parallel development [7]. Cloud provides an
environment to work in parallel. Scalability allows a subscriber 5. CONCLUSION AND FUTURE
of the cloud to change the size of cloud e.g. space, and WORK
processing.
Build and Other services: due virtualization developer can In this study, a framework is proposed which presents the
test and build [3] user story at any time and face no wait for way to adopting the agile development in cloud environment.
it. “Cloudforce.com”, Google app engine and Amazon web It explains the all needs during global agile development.
service provides infrastructure to develop, test, build and deploy Furthermore, the study highlights the benefits due to
projects. amalgamation of agile software development methodology and
Continuous Feedback: the main feature of the agile cloud computing. This would efficiently facilitate the researcher
development is achieved easily by cloud. Team members can and practitioners to practice the global agile software
communicate and share resources and code with each other development in the cloud environment. We try to explore
when needed. Customer and team members become quick and infrastructure features required for agile development in
responsive. distributed environment. The practitioners just select the
Transparency: with the help of pre-integrated cloud service features in framework and get environments established
team members can share data with each other. These services according to their will. We aim to conduct a case study in
continuously receive and save the data and avoid lapses. future using this framework to explore the more challenges in
Traceability: cloud provide central traceability of code, a this area. Social issues faced during distributed environment
minor change in code will be reflected globally, these changes can be explored. Optimization methods are open issues yet.
can be viewed and observed in each level in the organization
and the even customer may be updated due to instant
ACKNOWLEDGEMENT
deployment.
Prototypes and Demo versions: due instant deployment it
is easy to share prototypes with customers and customer We are thankful to Ministry of Science, Technology and
feedback becomes fast. Innovation (MOSTI) to support this research under eScience
Performance: Agile development enhances the spirit of grant vote: 4S113. We are also thankful to Universiti Teknologi
creativity and excitement. As the companies grow the Malaysia (UTM) for providing us with the research facilities.
centralized decision become a bottleneck for performance. Agile
72 2016. 10
A Framework for Agile Development in Cloud Computing Environment
◐ Authors ◑
Muhammad Younas
PhD. Student,
Faculty of Computing
Universiti Teknologi Malaysia
Lecturer,
Computer Science Department
Government College University
Faisalabad, Pakistan
Imran Ghani,
PhD
Senior Lecturer
Faculty of Computing
Universiti Teknologi Malaysia
74 2016. 10