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

PublishedPaper6AgileSoftwareDevelopmentinGlobalSoftwareEngineering

The document discusses the integration of Agile Software Development methodologies in Global Software Engineering (GSE), highlighting both the benefits and challenges of this approach. Agile practices can enhance communication, coordination, and productivity in distributed teams, but they also face obstacles such as time zone differences, lack of communication tools, and cultural diversity. The paper emphasizes the need for effective strategies to overcome these challenges to successfully implement Agile methods in global software development projects.

Uploaded by

lunaticking4545
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

PublishedPaper6AgileSoftwareDevelopmentinGlobalSoftwareEngineering

The document discusses the integration of Agile Software Development methodologies in Global Software Engineering (GSE), highlighting both the benefits and challenges of this approach. Agile practices can enhance communication, coordination, and productivity in distributed teams, but they also face obstacles such as time zone differences, lack of communication tools, and cultural diversity. The paper emphasizes the need for effective strategies to overcome these challenges to successfully implement Agile methods in global software development projects.

Uploaded by

lunaticking4545
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/271156696

Agile Software Development in Global Software Engineering

Article in International Journal of Computer Applications · July 2014


DOI: 10.5120/16999-7181

CITATIONS READS

13 4,801

2 authors:

Pawanpreet Kaur Sumit Sharma


Chandigarh University Chandigarh University
2 PUBLICATIONS 26 CITATIONS 31 PUBLICATIONS 336 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Machine Learning and Java View project

All content following this page was uploaded by Sumit Sharma on 08 July 2015.

The user has requested enhancement of the downloaded file.


International Journal of Computer Applications (0975 – 8887)
Volume 97– No.4, July 2014

Agile Software Development in Global Software


Engineering

Pawanpreet Kaur Sumit Sharma


Computer Science Department Computer Science Department
Chandigarh University, Gharuan, India Chandigarh University, Gharuan, India

ABSTRACT amount of documentation. One can observe from third value


Global software development is the emerging trend in today's importance should be given to the relationship between
industry. The software development industry is investigating developers and customers over strict contracts. The fourth
the use of agile development methodologies in distributed value refers the members in the team should be prepared to
environment due to its benefits of better communication and make changes whenever required during the software
coordination, improved productivity and quality. However development life cycle rather than following a plan. Agile
research has shown that implementing agile practices in methods helps to improve communication and reduce
global software development is beneficial and challenging coordination problems in software products. These agile
too. Therefore it is necessary to carefully understand the methods are opposite in nature with respect to traditional
benefits and challenges of combining agile methods in approaches. When following the traditional approach software
distributed projects. This paper presents the benefits and is developed in a sequential manner. Requirements are
challenges of applying agile methods in global software gathered from clients, there is little interaction between clients
development in order to understand it properly. and members of the development team. For designing and
coding different roles are assigned to developers and finally
Keywords software is tested and integrated. In doing all these ,a large
Agile Software Development, Global Software Engineering amount of documentation is produced that contains
(GSE), Agile in GSE, Benefits, Challenges. information about developmental processes. Agile Software
Development approach aims at overcoming these
1. INTRODUCTION shortcomings of the traditional approaches.
1.1 Agile Software Development 1.2 Global Software Engineering
Over the last decade, introduction of agile software The increasingly complex and competitive market situation
development has brought considerable changes to software has resulted in Global Software Engineering (GSE). Global
engineering field. Nowadays many organizations and software Software Engineering (GSE) is becoming popular in today’s
developers are using agile methods to deliver the efficient and industry due to the globalization of many organizations.
high-quality product in the shortest time. The various types of Global Software Engineering(GSE) can be defined as
agile methodologies being used by these organizations are “Software development with teams situated at different
extreme programming (XP), scrum, lean software geographic locations, from different national and
development, feature-driven development (FDD), DSDM and organizational cultures, and different time zones”. Such kind
crystal methodologies. The characteristics of Agile software of development is known as Distributed Software
development processes can be summarized as iterative and Development(DSD), Global Software Development (GSD),
incremental development, people-oriented development, Global Software Engineering and Dispersed Software
customer collaboration, light and fast development cycles, Development. Software organizations are shifting towards
adaptability throughout software development life cycle, time- global software engineering to get GSD benefits such as
bound, parsimony and fast delivery[2]. In year 2001, several reduced software development costs by delegating work to
practitioners met to discuss if there was anything in common countries with low labour cost, transfer of knowledge and
among the various agile methods and then they created agile resources, access to talented workforce, better-quality
manifesto, in which the items which were considered valuable software, rapid innovation and increased productivity [9].
by Agile Software Development were revealed and great Despite of these benefits GSE presents a number of
attention has been provided by research community to Agile challenges like: communication, coordination-due to cultural
Software Development. Agile Software Development differences and control-due to lack of direct supervision of the
methods focuses on agile manifesto given by four values: team members. All these challenges arises from three kinds of
 Individuals and interactions over Processes and distances: temporal, geographical and cultural. The
tools combination of all these distances makes GSE complex [16].
 Working software over Comprehensive 1.3 Agile Methods in GSE
documentation
Increased globalization has resulted in greater competition
 Customer collaboration over Contract negotiation among various software development companies. There is a
 Responding to change over Following a plan[11] recent trend of applying agile methods in Global Software
Engineering to mitigate various challenges of GSD like:
The first value refers that role of humans and team communication, coordination and control. These methods are
interactions should be considered more valuable than defined best for the projects facing high level of uncertainty. Research
processes and development tools. The second value implies has shown that software companies are interested in applying
that main objective of software team should be to deliver the Agile Software Development to develop the quality product
working software at frequent intervals rather than large and to have the combined benefits of Agile methods and

39
International Journal of Computer Applications (0975 – 8887)
Volume 97– No.4, July 2014

Global Software development [10]. The combination of Agile 2. BENEFITS OF AGILE IN GSE
development methods and GSD is known as Distributed Agile Agile software development can be beneficial with respect to
Software Development. This combination has shown the Global software engineering. Agile practices in GSE gives a
ability to meet the various success factors of the software no. of benefits [10][11] like better coordination and
industry such as quality, cost and time. The problems related communication, product visibility and control, increased trust,
to complexity of software development and more focus on customer involvement, clarification of requirements,
coordination, communication and collaboration are main improved productivity, improved knowledge sharing, quick
reasons for growing interest in applicability of agile methods development are explained below:
in global software development. Global software development
uses asynchronous communication and computer mediated 2.1 Better Communication
activities but applicability of these coordination mechanism is Many studies shows that use of agile practices like scrum and
generally insufficient. This motivates the applicability of agile XP results in the better communication rich environment
methods based on mutual adjustment and teamwork for which is required in the globally distributes software projects.
coordination in distributed projects. These differences Communication, specially informal, face-to-face
between agile and Global software development suggest that communication plays a important role in the success of a GSD
applicability of agile methods in distributed development is projects. Frequent communication between the sites and team
unrealistic and hard to implement. Large number of methods members improve teamwork and provide the opportunity for
like Scrum, Extreme programming(XP) and pair teams at each site to share issues and their solutions. Globally
Programming etc. have been tried out in Distributed distributed teams often use emails, instant messaging (IM),
development to experiment and check the viability of these telephone communication, unstructured wikis to communicate
agile methods in GSD. There are some empirical and about the status of the project[6][10].
industrial experience reports which state the successful
implementation of agile methods in global software 2.2 Reduce Coordination Issues
development. Globally distributed team generally faced coordination issues
Emam Hossain[4] conducted a systematic literature review of due to project distribution. The task assigned to
the primary studies that report the results of using Scrum in geographically distributed team members requires strong
GSD projects and findings are expected to help researchers coordination between them, because team members are
and practitioners to understand the challenges involved in dependent on each other. According to [5][6] the coordination
using Scrum for GSD projects and the strategies available to between distributed teams was increased by making use of
deal with them. Benefits of combining these agile and GSD, daily meetings, informal face-to-face communication,
increased collaboration and communication, access to talented iteration planning meetings etc. These meetings helped in
work forces, transfer of knowledge and resource, reduced minimizing the coordination problems which are usually
time-to-market pressures, higher-quality software, rapid caused by temporal and geographical distances. As a result the
innovations, and increased productivity[4]. coordination problems between distributed team members
decreased which results in better and quick software
According to Farooq(2010), effective distributed extreme development[10][11].
programming practices are continuous integration, and on-site
customer development. While, distributed Scrum practices are 2.3 Increased Trust
daily Scrum, weekly Scrum of Scrums, sprints, sprint Trust is one of the key factor in determining the success or
planning meetings, sprint demo, retrospective meeting, and failure of globally distributed agile projects. Trust can be
backlogs . generated and maintained in the distributed agile projects by
Lucas Layman[6] conducted an industrial case study of a understanding cultural differences and by increasing
distributed team that used Extreme Programming to communication between team members[12].Team members
understand how this globally-distributed team created a communicate with each other on a daily basis via IM and
successful project in a new problem domain using a videoconferencing, email etc. They experienced the trust
methodology that is dependent on informal, face-to-face between the developers located at different sites because daily
communication. They identify four key factors for communication between the sites really helped the team to
communication in globally distributed XP teams that can be gain confidence and build trust[10].
helpful for methodologies dependent on informal
communication in global software development projects[6]. 2.4 Project Visibility and Control
Bose, I. (2008) performed an interesting study and show how Frequent communication and meetings provide an effective
Scrum practices were adopted to benefit from distributed way for distributed team members to review the current status
software development. Multiple case studies were conducted of the project and evolution of the system's features. In Global
and the collected lessons learned from twelve case studies Software Development high project visibility can help in
detailing successful implementation of distributed agile achieving project control. According to [10] daily meetings
software projects were summarized. The cases were analyzed are helpful to monitor the distributed development situation
from the perspective of the agile manifesto to determine how ,as team members participate in the discussion in which they
closely they follow its values and principles and to what share the current status of work. The daily meetings in
extent they are taking the advantages of the agile distributed development considers the involvement of
methodology[5]. participants from all sites via audio or video conferencing, IM
Previous work shows that research in the area is exploratory etc provide the project visibility and helps in spreading
in nature and mostly reports the cases in which some knowledge about current project status.
challenges were faced and some strategies were applied. A
standard approach that cover all agile methods in GSE does 2.5 Clarification of Requirements
not exist. In agile software development, the communication is very
important for requirements management activities. Discussion
meetings can help in removing confusion about the work and

40
International Journal of Computer Applications (0975 – 8887)
Volume 97– No.4, July 2014

requirements which are in the mind of team members. The


Time zone Different project
team members communicate with team leaders, project
management team about the confusions which are in their background
mind. The main purpose of these meetings was to identify the Lack of
issues and difficulties faced by the team members and to find High
communication
the strategies for these issues. The members at geographic communication
locations got the opportunity to clarify their work and tools
requirements during these meetings[10][6]. cost
Language
2.6 Improved Productivity barriers Communication Lack of frequent
As mentioned in [10] the use of agile practices like pair issues face-to-face
programming in distributed environment increases the team
productivity. In pair programming pairs are located at communication
different sites and communicate with each other via Lack of
communication tools like teleconferencing and web teamwork
conferencing. Pairing helped in sharing ideas and views which Low quality of
remove misunderstandings. Cross Cultural communication
Diversity bandwidth
2.7 Improved Knowledge Sharing
Implementation of agile practices in distributed development
results in improved knowledge sharing. According to [10][6]
Fig 1: Model for communication issues
in distributed agile development junior developers are paired
with senior and experienced developers. In this way there is 3.1.1 Different Time Zones
an opportunity for junior developers to learn from senior Differences in working hours is one of the important issues
developers and results in sharing of knowledge between them. that needs to be acknowledged. When there in difference in
time zones it increases the communication gap i.e. the
2.8 Quick Development communication between the globally distributed team become
With the help of daily meetings problems are identified and difficult[6][13][14].Time zone difficulties are common in
resolved earlier. There is more visibility of the current project distributed agile projects because the client companies are
situation in distributed agile development. According to usually located in developed countries like USA, UK etc. and
[3][10] by following agile practices problems are identified the development teams are located in developing countries
quickly and processes are improved which results in better like India[14].
and quick software development.
“The time difference between USA and India is 12.5 hours
3. CHALLENGES OF AGILE IN GSE therefore communication among distributed team members
Agile methods are well suited when customers and can be difficult."-[13]
developers are collocated and there is frequent interaction
between the two groups. Incorporating agile methods in 3.1.2 Lack of Communication Tools
distributed software development requires considerable effort. When development involves distance in space and time,
Despite of the benefits identified above some of the papers communication is the main medium of interaction between
also described certain challenges and this section describes the distributed teams[14]. Distributed agile projects requires
various challenges involved in adoption of agile practices in suitable communication tools for communication between
distributed projects are as follows:- onshore and offshore development teams as well as with the
customers. Distributed agile projects may fail if distributed
3.1 Communication teams do not have proper communication tools like
One of the main challenge in the agile global software videoconferencing or web-based conferencing facilities.
development is the communication. Communication is Therefore distributed teams should have access to various
considered as one of the important element is GSE specially communication tools and use them according to their need for
in distributed agile environment where it allows sharing of effective communication[13][6].
knowledge between team members, understanding of
customer requirements[13]. Developers need to communicate 3.1.3 Different Project Background
frequently but teams located at different locations, different Different project background is one the important issue in
time zones makes this difficult[5]. Various causes of the communication. Different developers from different countries
communication challenges in Distributed Agile software have different ways of working according to their culture[6]
development are: Different working hours/ Time Zones, Lack .When there is a cross-platform collaboration then this may
of communication tools, Language barriers, Lack of frequent lead to problematic issues. If agile methods are new to
face-to-face contact, Lack of teamwork, Low quality of development teams, then communication is very difficult for
communication bandwidth, High communication cost, distributed members and it takes time for them to learn which
Miscommunication of requirements, Different project information is necessary and should be transferred to other
background, Different culture[13][14]. members[14][6].
These issues in communication are represented in model from
3.1.4 Language Barriers
as shown below:
Distributed Agile development involves collaboration among
different team members from different countries with
different languages and it is often difficult to communicate
when communication is not in their native language[14].
Language barriers are common in distributed agile projects
because a particular language(often English) is used for

41
International Journal of Computer Applications (0975 – 8887)
Volume 97– No.4, July 2014

communication between distributed teams. Agile team 3.3.2 Sense of belonging to a team
members whose native language is not English often face As team members in distributed agile development are located
language barriers when communication is in English and at different locations so it is difficult to have continuous
meeting takes longer time than usual because it is difficult for communication between teams which results in poor team
them to express their views[6][13][14]. According to [15] to bonding. If team members don't feel belongingness to a team
remove the language barriers the computer-mediated then building trust among team members is very difficult.
communication, machine translations can be used which Socio-cultural differences of distributed team members can
increases the availability of intercultural collaboration also be a reason for building trust within the teams [10].
beyond the language barrier.
Table 1. Overview of benefits and challenges of Agile in
3.1.5 High communication cost GSE
The cost of communication tools/facilities used for
communication purposes is quite high. Companies must be Benefits Challenges
able to spent money in order to provide better communication
facilities for distributed teams[14]. Better Communication Communication issues:

3.1.6 Lack of Teamwork Better coordination Time Zone


In distributed development all the team members should
communicate and collaborate with all other team members not Increased Trust Lack of Communication tools
only with selected team members in order to produce a better
quality product[13]. All the team members should understand Project visibility and control Language barriers
the importance of team spirit and contribute to the entire team
's effort. Lack of communication may lead to lower team spirit Clarification of requirements Lack of teamwork
and productivity. Overall communication is affected when
some team members do not contribute to the team's Improved Productivity Different culture
effort[13][14].
Improved Knowledge Different project Background
3.1.7 Lack of frequent face-to-face
sharing
communication
According to agile manifesto agile methods considers the role Quick Development High communication cost
of people communication more valuable than defined
processes and tools. In distributed setting the distance Lack of frequent face-to-face
between customers and developers may be more which may communication
lead to difficulty in frequent face-to-face communication
among them[6][14].
Cross Cultural Diversity
3.1.8 Cross Cultural Diversity
Culture is one of the important issue in communication. An Personnel Selection
example of cultural issues is when some offshore team
members pass only assured information to onshore team and Trust
don't pass critical issues[14].Culture issues may impact
collaboration and communication if not handled properly.

3.2 Personnel Selection 4. PROPOSED SOLUTION TO


Selection of appropriate personnel for the team is very LANGUAGE BARRIERS
necessary. In agile software development requirements keep Language barrier is one of the most critical issue in
changing so it become necessary to have cross-functional intercultural collaboration. In this section we have proposed a
teams consisting of developers, testers, analysts and project solution for addressing language barriers in distributed agile
managers. Programmers who used plan driven approach and development. In distributed development team members are
not able to handle changing requirements will not be a good located at different locations and they communicate with each
choice for agile team. Therefore pair programming that is one other via communication tools. To increase the intercultural
of the agile practice is used for development and it is essential collaboration and usability of language services computer
to select a coding partner with similar mindset. mediated communication or machine translations can be used
and Google Translate API can be used for this purpose.
3.3 Trust Google Translate API allows you to dynamically translate
Trust is one the main problem in distributed environment and simple text from one language to another by using English as
extremely difficult to achieve because trust needs face-to-face an intermediate language. Google Translate API is an
and informal communication and technology cannot replace interface that return information about places and which
trust [6]. Some of the challenges of distributed agile teams in converts the written documents generated by sender into
establishing trust are: receiver understandable form according to his/ her native
language and response to sender is further translate according
3.3.1 Feeling of Insecurity to sender’s native language. Google Translate API provides
Junior team members or members who are new to the project
the language translation services to create a language
often feel insecure. They don't open up with other team
environment necessary for Intercultural collaboration.
members and don't put their ideas in team discussion. Due to
feeling of insecurity building trust in a team is difficult[10].

42
International Journal of Computer Applications (0975 – 8887)
Volume 97– No.4, July 2014

5. CONCLUSION [6] Layman, L., Williams, L., Damian, D., & Bures, H.
In conclusion, this paper demonstrates the applicability of (2006). Essential communication practices for Extreme
agile methods in Global software development. We examined Programming in a global software development
the current research literature to determine the benefits and team. Information and software technology, 48(9), 781-
challenges of agile practices in distributed development. After 794.
reviewing the current research on the use of agile practices we [7] Yap, M. (2005, July). Follow the sun: distributed
can say that there is the possibility of applying agile methods extreme programming development. In Agile
in GSE. Agile software development can be beneficial with Conference, 2005. Proceedings (pp. 218-224). IEEE.
respect to Global software engineering and gives a no. of
benefits like better coordination and communication, product [8] Taylor, P. S., Greer, D., Sage, P., Coleman, G., McDaid,
visibility, trust, customer involvement, early problem K., & Keenan, F. (2006, May). Do agile GSD experience
identification, clarification of requirements etc. reports help the practitioner?. In Proceedings of the 2006
Communication, Language barrier, different culture, lack of international workshop on Global software development
trust, personnel selection are the main challenges usually for the practitioner (pp. 87-93). ACM.
faced in global software engineering and regardless of these [9] Gurram, C., & Bandi, S. G. (2012). Teamwork in
challenges the software companies are successfully applying Distributed Agile Software Development.
agile methods in their distributed development. The results of
this study suggests that implementation of agile methods in [10] Farooq, U., & Farooq, M. U. (2010). Exploring the
distributed environment by means of appropriate tool support Benefits and Challenges of Applying Agile Methods in
can helps in mitigating these challenges. Various software Offshore Development (Doctoral dissertation, Master
industries are getting benefits in distributed agile development Thesis, Software Engineering, Blekinge Institute of
with the usage of computer mediated tools like Technology, Karlskrona, Sweden).
videoconferencing, emails, Skype, wikis etc. In future work
empirical investigation can be done in order to identified more [11] Dullemond, K., van Gameren, B., & van Solingen, R.
(2009, July). How technological support can enable
challenges and strategies in Agile global software
advantages of agile software development in a GSE
development. In this paper we had not focused on the
mitigation strategies to deal with the challenges that are being setting. In Global Software Engineering, 2009. ICGSE
faced by distributed teams. Therefore for future work an 2009. Fourth IEEE International Conference on (pp.
143-152). IEEE.
framework should be developed that contains the information
regarding various challenges in a particular Global software [12] Dorairaj, S., Noble, J., & Malik, P. (2010).
development context and mitigation strategies for these Understanding the importance of trust in distributed
challenges. Agile projects: A practical perspective. In Agile
Processes in Software Engineering and Extreme
6. REFERENCES Programming (pp. 172-177). Springer Berlin Heidelberg.
[1] Dingsøyr, T., Nerur, S., Balijepally, V., & Moe, N. B.
(2012). A decade of agile methodologies: Towards [13] Dorairaj, S., Noble, J., & Malik, P. (2011). Effective
explaining agile software development. Journal of communication in distributed Agile software
Systems and Software, 85(6), 1213-1221. development teams. In Agile Processes in Software
Engineering and Extreme Programming (pp. 102-116).
[2] Miller, G. G. (2001, July). The Characteristics of Agile Springer Berlin Heidelberg.
Software Processes. In TOOLS (39) (pp. 385-387).
[14] Kamaruddin, N. K., Arshad, N. H., & Mohamed, A.
[3] Jalali, S., & Wohlin, C. (2010, August). Agile practices (2012, April). Chaos issues on communication in Agile
in global software engineering-A systematic map. Global Software Development. In Business Engineering
In Global Software Engineering (ICGSE), 2010 5th IEEE and Industrial Applications Colloquium (BEIAC), 2012
International Conference on (pp. 45-54). IEEE. IEEE (pp. 394-398). IEEE.
[4] Hossain, E., Babar, M. A., & Paik, H. Y. (2009, July). [15] Nomura, S., Ishida, T., Yasuoka, M., Yamashita, N., &
Using scrum in global software development: a Funakoshi, K. (2003, June). Open source software
systematic literature review. In Global Software development with your mother language: Intercultural
Engineering, 2009. ICGSE 2009. Fourth IEEE collaboration experiment 2002. In International
International Conference on (pp. 175-184). Ieee. Conference on Human-Computer Interaction (HCI-
[5] Bose, I. (2008). Lessons Learned from Distributed Agile 03) (Vol. 4, pp. 1163-1167).
Software Projects: A Case-Based [16] Holmström, H., Fitzgerald, B., Ågerfalk, P. J., &
Analysis. Communications of the Association for Conchúir, E. Ó. (2006). Agile practices reduce distance
Information Systems, 23. in global software development. Information Systems
Management, 23(3), 7-18.

IJCATM : www.ijcaonline.org
43

View publication stats

You might also like