Agile Methodologies Comparison and mining of challenges
Distributed agile environment
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.
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
Agile Methodologies Comparison
The following are the popular Agile
Unified Process (RUP)
Systems Development Method (DSDM)
Methods (Crystal Clear)
Software Development (ASD)
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
Iteration cycle period
and incremental development
possible development time.
XP is best for small projects
incremental agile practice
to four weeks
for competitive situations
Customer change their minds regarding what are their requirements.
and simple projects
to the rapid
Development (RAD) method.
of its framework it does not address exact iteration length.
types of complex and as well as simple project.
on philosophy to solve communication problems
main motive is to fulfill the needs of people and not the processes or artifacts.
Up to four months for highly critical
clear has been applied in many projects like Internet banking
Decide as late as possible
Deliver as fast as possible
Building Integrity See the whole
been applied in number of organizations
strength is based on UML.
Iterative and incremental approach.
To code quickly from minimal set of diagrams.
case captures functional requirements.
sized software development
Complete Software development methodology
with any software development process
on documentation and modelling
and incremental software
development of the Model.
Feature based building.
week long iterations
Table.1Comparison between different agile
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
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.
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.
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
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
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
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,
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
Year of Publication
A Comprehensive Review of Literature & Local Industry
(Mehwish Zulfiqar ,Abdul Rauf,
conducted on 5 level questionnaire
development has also reported to be the most widely used agile practice.
The least used
practices in industry are: pair programming and acceptance testing.
do not follow any specific agile method completely; rather they use a mix of
of Agile Software Development
Khushdeep Sharma, Dr. Himanshu Aggarwal
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
Software Development Methodology
There is lot of
discipline in Agile approach. Obvious strength in development of
comparative study of collocated and distributed agile software development.
Karthik Sistla, Ashlin Paul Sherry and Dr. Manjula
distributed benefits and limitations
impact of collocated teams and distributed teams on agile software
Systems and Recent Innovations: Challenges and Benefits
Nadiminti, Marcos Dias de Assunção, and Rajkumar Buyya
and Issues of distributed systems
Distributed computing is a very broad
area to improve efficiency of business processes and quality of life.
of surveyed research papers for agile methodologies and challenges
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.
that have built in support for distributed environment
that can be applied in distributed environment
Distributed Agile methodologies
that have no support for distributed enviornment
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.
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.