Agile distributed environment. Fig-1Fully Agile Distributed environment 2. Agile

 

 

 

 

 

 

 

 

 

 

 

 

 

Agile Methodologies Comparison and mining of challenges
in

Distributed agile environment

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

 

Abstract

Currently,
the goal of most software companies is to produce software in short time period
with nominal costs, and within changing environments that encouraged the birth
of Agile. Agile processes are not always have been beneficial, they have also some
boundaries as well. Comparison of
methodologies leads towards mining best agile methodologies and then objective
that which methodologies can work in distributed environment and what big
challenges will be faced in adopting respective methodology would be achieved.

1.     
Introduction

Basically
requirements are dynamic in this business age because of fast developments in
technology, Agile was evolved to deliver best business worth and minimize risk
in this IT age. Now software development process has grown into distributed
environment to attain high quality and reduce cost at a time. Collocated and
distributed teams in software environment have their own pros and cons.
Comparison among agile methodologies would point out working specialty of every
methodology. Then the challenges of agile methodologies can be explored if applied,
in a distributed environment.

Fig-1 provide vision
of fully agile distributed environment.

Fig-1Fully Agile Distributed environment

2.     
Agile Methodologies Comparison

The following are the popular Agile
Methodologies:

1.      
Extreme
Programming (XP)

2.      
Scrum

3.      
Rational
Unified Process (RUP)

4.      
Dynamic
Systems Development Method (DSDM)

5.      
Crystal
Methods (Crystal Clear)

6.      
Lean
Development (LD)

7.      
Adaptive
Software Development (ASD)

8.      
ICONIX

9.      
Agile
Modeling

10.   
Feature-Driven
Development (FDD)

Agile methodologies have been
discussed in detail in lots of papers. Methodologies comparison is for mining
best agile methodologies in their specific scenarios.

Following table shows comparison of
agile methodologies in terms of activities, development times and for suitable
projects. 125

 

Agile methodologies

Methodology

Activities

Iteration cycle period

Projects /Purpose

Extreme
Programming

Pair
programming.
iterative
and incremental development

Coding
Testing
Listening
Designing

Less
possible development time.
1-6
weeks

XP is best for small projects

Scrum

iterative
incremental agile practice

Sprint
Planning Event
Daily Scrum
(Or Stand-Up)
Sprint Review

two
to four weeks

Suitable
for competitive situations

ASD
 

iterative

Speculate
Collaboration
Learning cycles

4-8
weeks
 

Suitable when
Customer change their minds regarding what are their requirements.
Smaller
and simple projects

RUP

 Iterative and
Incremental.

Inception
Phase
Elaboration
Phase (Milestone)
 Construction
Phase (Release)
Transition Phase

 

 

DSDM

A base
to the rapid
application
Development (RAD) method.

Pre-Project
Phase
Project
Life-Cycle Phase
Post- Project
Phase.
 

Because
of its framework it does not address exact iteration length.

All
types of complex and as well as simple project.
 

Crystal
Clear

Based
on philosophy to solve communication problems

Crystal Clear
main motive is to fulfill the needs of people and not the processes or artifacts.

Up to four months for highly critical
systems

Crystal
clear has been applied in many projects like Internet banking

LD

More
Management philosophy

Eliminate waste
Amplify Learning
Decide as late as possible
Deliver as fast as possible
Empower Team
Building Integrity    See the whole
 
 
 
 

 

Has
been applied in number of organizations

ICONIX

Designed
strength is based on UML.
Also
Iterative and incremental approach.

 To code quickly from minimal set of diagrams.
Use
case captures functional requirements.

 

Medium
sized software development

Agile Modeling
 

Not
Complete Software development methodology

Used
with any software development process

 

Focus
on documentation and modelling

FDD

An iterative
and incremental software

Overall
development of the Model.
Building
feature list.
Feature based
planning.
Feature based
designing.
Feature based building.

Two
week long iterations
2
days-2weeks
 

Large
scale projects
 

 

 

Table.1Comparison between different agile
software developments

 

 

 

3.     
Surveyed Literature

Agile Practices: A Comprehensive Review of Literature
& Local Industry is an industrial survey written by Mehwish Zulfiqar ,Abdul
Rauf, Eisa Aleisa to classify benefits and challenges of Agile practices. Aim
is to verify all advantages of agile approach already stated in literature are
practiced in same manner in a software industry and also searching challenges
of agile practices by the experts.As XP and Scrum are setup as commonly used
methodologies so these two are reflected in this study.It’s found benefits as
stated in literature are totally verified in industry practice and new
challenges relevant with use of agile practices are also sighted.Results
specify that agile practices raised issues in large firms as agile is projected
for small firms. One big issue found was deficiency of empirical studies
emphasizing on examining appliance of agile methodology in detail.Questionnaires
basically comprises of demographic evidence, advantages and challenges of agile
practices.It was found that mostly software firms have not been following a
specified agile methodology rather uses a combination of agile practices.3

Review of Agile Software Development Methodologies is written by Khushdeep Sharma, Dr. Himanshu
Aggarwal as continuously changing
requirements from clients leads to troublesome in software development process
, its necessary to move from traditional development towards agile
methodologies to accomplish changing user requirements.XP and Scrum have been
discussed in detail.4

A Survey of Agile Methodologies is written by E.Mnkandla
and B.Dwolatzky. In this paper agile methodolgies process and project
features have been precisely overviewed. From this it would be  explored which agile methodology  work or not in distributive environment.Pupose
was to cope with  failures of software
development projects as software engineering relies on beliefs of quality and
reliable software.5

In this paper it is
clearly mentioned that XP has no design documentation and not support
distributed teams. So in result it would not work in distributed
environment.ICONIX software development lies between RUP and XP. Design
strength t is based on UML. Its project features declare that it offer’s degree
of traceability and is for distributed teams.

Now as daily meetings are critical for success of
projects carried out by Scrum methodology, Project features of Scrum have no
built in support but can consists of distributed teams.

For Feature Driven Development it is mentioned that FDD
is designed for many teams but still have no built in support for distributed
environment but it should be adaptable.

As concern to Dynamic Software Development Methodology
an Incremental Review Document is formed during implementation and does not explicitly
address distributed teams.

Adaptive Software Methodology is for e-Business
Projects, Trust in continual adaptation. Can be applied to distributed teams however
teamwork becomes challenging.

Crystal Methodology is based on idea of solving
communication problems. It has built in support for distributed teams. It gives
preference to project management Application: Crystal clear have been used in
number of projects.

Lean Software Development has been applied in many
organizations and is for project management. It allows team but not directly
confirms distributed teams.

 Agile Modelling
emphasis more on modeling and documentation of software. As it not complete
development methodology should use with other methodology. Distribution depend
on agile development practice being used.

 

 

 

 

A comparative
study of collocated and distributed agile software development is written by
Karthik Sistla, Ashlin Paul Sherry and Dr. Manjula R .It compare effect
of employment of collocated and distribute teams in agile software development life
cycle. Existing methodologies are tailored in projects to response
requirements.

 Benefits of distributed  agile infer  are learning how to communicate well,
flexibility of work, Increase in potential of hiring employees and in result
working environment improved a lot.

Meanwhile challenges faced by
distributed teams are differences in timings at various locations, Linguistic
and Cultural Barriers are obvious. Then Availability of software as restricted
in some countries and sharing of resources over secure channel are big
challenges. Installing proper equipment increase overhead cost.6

 

Distributed
Systems and Recent Innovations: Challenges and Benefits is written by  Krishna
Nadiminti, Marcos Dias de Assunção, and Rajkumar Buyya for sightseeing
main features and problems in distributed system.7

Distributed
computer seems to be:

“A group of independent computers
that seems to the users of the system as a single computer”

Key features of a distributed
system are functional Separation, Inherent distribution, Reliability,
Scalability, Economy

Key Issues of distributed systems
are , Heterogeneity, Transparency, Fault tolerance and failure management, Scalability,
Concurrency, Openness and Extensibility, Migration and load balancing, Security

 

Table 2 shows
comparison of researched papers already talk over among agile methodologies and
challenges

Paper Name

Authors

Year of Publication

Methodologies Study/Strategy

Empirical study

Conclusion

Agile Practices:
A Comprehensive Review of Literature & Local Industry

 
(Mehwish Zulfiqar ,Abdul Rauf,
Eisa Aleisa)
 
 
 

 
 2013

 

Results
conducted on 5 level questionnaire
Iterative
development has also reported to be the most widely used agile practice.
The least used
practices in industry are: pair programming and acceptance testing.

 Software companies
do not follow any specific agile method completely; rather they use a mix of
agile practices.
 

Review
of Agile Software Development
Methodologies

Khushdeep Sharma, Dr. Himanshu Aggarwal
 

2016

XP,SCRUM

 

Agile software
development methodologies which are based upon incremental and evolutionary
concepts are very suitable and effective, but practical adoption of these
methodologies is very limited.

A Survey of Agile Methodologies

E.Mnkandla and
B.Dwolatzky
 

2004

XP,ICONIX
Scrum
FDD,Dynamic
Software Development Methodology
Adaptive
Software Methodology
Crystal
Methodology
Lean Software
Development
Agile Modelling

 

There is lot of
discipline in Agile approach. Obvious strength in development of
e-application

A
comparative study of collocated and distributed agile software development.

Karthik Sistla, Ashlin Paul Sherry and Dr. Manjula
R.
 
 

Oct 2016

Collocated and
distributed benefits and limitations

Questionnaire

Determine the
impact of collocated teams and distributed teams on agile software
development.

Distributed
Systems and Recent Innovations: Challenges and Benefits

Krishna
Nadiminti, Marcos Dias de Assunção, and Rajkumar Buyya

 

Main Features
and Issues of distributed systems

 

In conclusion,
Distributed computing is a very broad
area to improve efficiency of business processes and quality of life.

Table2.Comparison
of surveyed research papers for agile methodologies and challenges

4.     
Judgements

                
4.1 Methodologies that would work in distributed environment:  

As the methodology which will work
in distributed environment have to be mined and then respective challenges.

So as it is firmed from research
papers that in ICONIX face to face communication is not key aspect and crystal
methodologies solves communication problems. Both methodologies would be at top
of agile methodologies if applied in distributed environment because they have
built in support for distributed environment. Afterwards Adaptive software
methodology can be applied to distributed environment. Then Scrum, AM, FDD have
no built in support for distribution but can be adaptive. XP, DSDM and LS does
not specifically address distribution.

 

Methodologies
that have built in support for  distributed environment

Methodologies
that can be applied in distributed environment

Adaptive
Distributed  Agile methodologies

Agile Methodologies
that have no support for distributed enviornment

 

 

 

 

 

                4.2 Challenges

Challenges would be faced when a
particular agile methodology is applied in distributed environment. Challenges
that have been faced in distributed environment, most of that challenges would
be part of distributed agile environment.

If concerned to main challenge that
an agile methodology would face in distributed environment. It is found from
surveyed literature that if ICONIX and crystal methodology would applied in distributed
environment then they would face Linguistics ‘and cultural barriers along with
difference in timings issue. These are general issues and would exists among
all agile methodologies in distributed environment.

As ASD is for e-business it may
face software availability and share of resources issue as big challenges.  

Scrum will mainly face
communication issue because communication is key of success for scrum.FDD is
for large scale projects will mainly concern software availability and resource
sharing issues. AM can be used with other methodologies it may face
Transparency and heterogeneity issues.

 

 

5.     
Conclusion and
Future direction

As distributed computing is broad
area with vast potential to improve efficiency of business processes and
quality of life .Evidence of practical adoption of agile methodologies is limited
but still many methodologies have been applied in number of successful projects.
There is need of some Empirical studies or Case study can be carried out on
some small scale IT industries to check practical adoption of agile
methodologies in distributed environment and 
then confirmation of challenges would be more fully achieved.