PublishedPaper6AgileSoftwareDevelopmentinGlobalSoftwareEngineering
PublishedPaper6AgileSoftwareDevelopmentinGlobalSoftwareEngineering
net/publication/271156696
CITATIONS READS
13 4,801
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Sumit Sharma on 08 July 2015.
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
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:
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