You are on page 1of 8

JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 1, ISSUE 1, MAY 2010

10

Distributed Agile Software Development:


A Review
Suprika Vasudeva Shrivastava and Hema Date

Abstract--- Distribution of software development is becoming more and more common in order to save the production cost and reduce the
time to market. Large geographical distance, different time zones and cultural differences in distributed software development (DSD) leads
to weak communication which adversely affects the project. Using agile practices for distributed development is also gaining momentum in
various organizations to increase the quality and performance of the project. This paper explores the intersection of these two significant
trends for software development i.e. DSD and agile. We discuss the challenges faced by geographically distributed agile teams and proven
practices to address these issues, which will help in building a successful distributed team.

Index Terms--- Distributed software development (DSD), global software development (GSD), agile practices, distributed agile development


Moreover, since past few years software
1 INTRODUCTION development community is using agile methods for

I N the last decade, a great investment is being made software development. Agile software development
to convert national market to global market. refers to a group of software development
This scenario involves more competition and methodologies based on iterative development, where
collaboration [1]. Various challenges like more faults in requirements and solutions evolve through
the projects and scarcity of resources have to be dealt collaboration between self-organizing cross-functional
with. teams [4]. Agile methods works very well in highly
Thus many organizations began to experiment dynamic business and IT environment.
with Distributed Software Development (DSD) Many organizations that develop software using Agile
facilities to solve these problems. This helped in have started looking for skills and talent available at
reducing the cost involved and access to skilled much lower rates and are anxious to source the
resources [2]. Their main objective is to develop high development work to these centers [5].
quality products at lower cost than co-located This paper aims at understanding the benefits
developments by optimizing the resources [14]. achieved by combining agile with DSD. What are the
Sometimes, the search for competitive advantage forces challenges which agile principles help overcome in
organizations to search for external solutions in other projects which are geographically distributed? Are
countries, which is called Global Software there any new challenges which agile distributed teams
Development (GSD) [3]. have to face, if so, what are the techniques which can
Software is developed in a multi-site, be used to handle them?
multicultural, globally distributed environment. The paper is structured as follows: Section 2
Engineers, managers and executives face formidable contains a discussion on Distributed software
changes on many levels, from technical to social and development (DSD) / Global software development
cultural [1]. It affects the way the software is designed, (GSD) and the challenges faced by the geographically
implemented delivered to the customer. distributed team. Section 3 gives an overview of agile
methodology. This is followed by section 4, which

discusses in details the benefits and challenges faced by
Mrs. Suprika Vasudeva Shrivastava is with the Symbiosis Centre for distributed agile teams. Section 5 lists down various
Information Technology,P-15 Rajiv Gandhi Infotech Park, Hinjawadi, techniques which can help to overcome the challenges
Pune, India. put by agile techniques when combined with
Dr.. (Mrs.) Hema Date is with the Department of Information Technology, distributed teams and last section concludes the paper.
National Institute of Industrial Engineering (NITIE), Mumbia, India.

2010 JCSE
http://sites.google.com/site/jcseuk/
11

2 DISTRIBUTED SOFTWARE Along with the benefits obtained through globally


DEVELOPMENT distributed development, there are many difficulties
faced by various organizations. These problems are
Software has become a core component of business.
caused mainly by distance, time, and cultural
Success depends on using software to have an edge
differences [13].
over the other competitors. Many organizations have
started developing software remotely in order to
Various problems encountered are as follows:
achieve lower cost and access to skilled resources.
Strategic issues: A decision needs to be taken whether
Moreover large investments have enabled a move from
the project should be developed by globally dispersed
local to global markets in the process of creating new
teams or by co-locate teams. Moreover how to divide
competition and collaboration forms [8].
the work across various sites is also required. Some risk
Various factors are responsible for such a situation:
and benefit analysis needs to be done at this stage.
The business market proximity advantages
Moreover solutions are constrained by the resources
including knowledge of customers and local
available at various sites, their level of expertise in
conditions.
various technologies, infrastructure, etc. Various
Pressure to improve time-to-market by using time-
models are possible and appropriate under different
zone differences and having round-the clock
circumstances [1].
development.
Create a pool of globally available skilled resources
Cultural issues: GSD requires close cooperation of
to develop software in reduced cost [1].
individuals with different cultural backgrounds.
Distribution also minimizes the risk in case of
Culture differs on many critical dimensions such as
natural catastrophes and other events [9].
national, professional, ethic, organizational,
Thus software development is now becoming
professional, technical, and team culture [10]. Cultural
muti-site, multicultural, globally distributed
differences often exacerbate communication problems
undertaking. More number of organizations are
[12].
distributing their software development process
worldwide to achieve higher profits, productivity,
quality and lower cost. This change is having a Inadequate communication: software development
profound impact not only on marketing and requires great deal of formal communication through
vital communication channels. The complex
distribution but also on the way products are
conceived, designed, constructed, tested and delivered infrastructure for GSD and great size of personnel
to customers [3]. network which changes over time, lead to decrease in
There are four different ways to distribute software communication frequency and quality, which directly
development. Distribution can be defined by its affects productivity [14]. Time zone differences of the
geographical location and by the control and distributed team further add to the problem.
ownership structure of the project. The control
structure can be defined by two dimensions: Knowledge management: the team members
outsourcing means that the company buys the software experience, methods, decisions and skills must be
from some external company and insourcing means accumulated during the development process through
that the company provides the services itself through the effective information sharing so that the team
some internal projects. Geographical location is defined members can use the experience of his predecessor
hence helping in reducing cost and redundant work.
by dimensions: onshore, which means that all
companys development work takes place in the same Without effective information and knowledge-sharing
country where the headquarters and other operations mechanism, managers cannot exploit he GSDs
are located and offshore means that part of the benefits. Distributed environments must facilitate
development happens abroad. Onshore distribution is knowledge sharing by maintaining a product/process
also called distributed software development or DSD repository where the contents from various sources like
e-mail, online discussions can be kept.
and offshore distribution is called global software
development, GSD [9].
Thus as a part of globalization effort in the society, Project and process management issues: high
organizational complexity, scheduling, task
software project teams have become globally
assignment, and cost estimation becomes more
distributed on the world-wide scale. This characterizes
problematic in distribute environments as a result of
GSD. Various features which distinguishes Global
volatile requirements, changing specifications, cultural
software Development from normal (centralized):
diversity, and lack of informal communication [15].
distance (distance of developers from each other and
Managers must control the overall development
from their customers or end users); time-zone
process, improving it during the enactment and
differences (time zone is to a large extent a
minimizing any factors that may decrease productivity,
confounding factor with distance); and national culture taking into account the possible impact of diverse
(including language, national traditions, customs, and cultures, identifying interrelated tasks, and minimizing
norms of behavior) [10]. dependencies among distributed groups [14].
12

Technical issues: When teams are working across environments, changes in user requirements, accelerate
sites, the lack of synchronization can be particularly project deadlines, and the like [16]. Agile methods have
critical. There is a need to assure commonly defined proved to be ten times more productive than
milestones and clear entry and exit criteria for all tasks. traditional development models and this has been
Since networks spanning globally dispersed locations achieved in the co-located teams [17].
are often slow and unreliable, tasks such as Probably the most used agile methods are Scrum
configuration management that involve transmission of and Extreme Programming, or XP. They can and many
critical data must be meticulously planned and times are used together as Scrum is focused with
executed. project management techniques and XP is more
focused on the actual development work [18].
Risk Management: risk management is a critical Basically agile methodologies prefer software
project management activity. DSD development development over documentation. It believes in
includes issues related to coordination, problem delivering many versions of the software in short
resolution, evolving requirements, and knowledge iterations, then updates the software according to the
sharing and risk identification [11]. Software defects customers feedback. This methodology helps in
become more frequent due to the added complexity, overcoming the problems like frequent changes, faster
and in most cases, this is related to communication development and user satisfaction.
problems and a lack of group awareness. Defects
control must be adapted by making a greater effort in
risk management activities. The use of adequate 4 COMPATIBILITY ISSUES OF
measures and the requirements definition is important DISTRIBUTED DEVELOPMENT (or
key factors [14]. GSD) WITH AGILE DEVELOPMENT
As regular face to face communication is becoming
Both agile and distributed software developments (and
very expensive between globally distributed
GSD) are growing trends as software business
development teams numerous ways have been
requires quicker quality production at a cheaper price.
proposed for the solution to ease the communication
Distributed development is a fact of life for many agile
challenges in GSD. This includes tools, practices,
teams. Most of the agile methodologies (e.g. scrum)
special persons and reasonable modularization of
assume that the team is located in a single room [6].
production across sites. Agile principles have also been
Unfortunately this principle does not fit in the real
suggested as a solution to communication challenges
scenario where agile teams are also distributed across
related to DSD [17]. Further the pros and cons of
the globe. Factors like expanding business to new
combining agile with DSD will be discussed.
markets (Global markets through mergers and
acquisitions), creating high quality employee pool,
3 AGILE PRACTICES reduced costs through outsourcing to regions with
Before going ahead with distributed agile software cheaper development overheads are the main driving
development, we will have a brief overview some forces for organizations opting for distributed
popular agile practices. development.
Agile software development refers to a group of In the 2008 State of Agile Development survey,
software development methodologies aiming to more conducted by VersionOne, 57% of respondents stated
that their teams were distributed. Further 41% of
nimble and lighter development processes, making
respondents state that they were currently using or
them more responsive to change.
plan to combine agile with outsourced development.
Agile authors built their methodologies on four
These facts clearly show that the current requirement
principles. First, the main objective is to develop
of software industry is not in line with the agile
software that satisfies the customers, through
concept of the entire agile team working in a single
continuous delivering of working software, and getting
room [6]. Thus there is a need to extend the agile
feedback from customers about it. The second principle practices to globally distributed software development.
is accepting changes in requirements at any Agile methods can be beneficial when
development stage, so that customers would feel more combined with distributed development. There are
comfortable with the development process. The third studies which show that agile principles help in
principle is the cooperation between the developers overcoming some challenges faced by distributed
and the customers (business people) on a daily basis development [7], [19], [20], [21], [22]. Agile when
throughout the project development. The last principle combined with DSD also brings some new challenges
is developing on a test-driven basis; that is to write test which will be discussed further.
prior to writing code. A test suite is run on the
application after any code change [18]. 4.1 Benefits achieved by combining agile with
Agility in short means to strip away as much of the Distributed Development
heaviness, commonly associated with traditional Distribution of development (DSD/GSD) seems to
software development methodologies, as possible, in cause decreased visibility of project status and agile
order to promote quick response to changing
13

process based on short continuous iterations make it zones. There are times when one team member is
easier to see the problems already on early stages of the available and other team member is not. Working
project. hours of such teams need to be aligned which will help
Continuous integration of software code, to increase clarity and avoid rework.
which is a central part of agile methods, also helps to
reduce configuration management issues. Use of agile Training on Agile Practices: The impact of
principles seems to have a positive effect on communication gap is felt more when the remote team
communication between teams as development in members are new. They need to be trained on the agile
cycles makes it easier for participants to see the short practices like test driven development. Training is easy
term goals [23]. to give when teams are co-located. Distributed teams
Sprint reviews can be an effective way to have to find alternatives to such trainings provided to
improve external communication while they help to the team members. Cultural differences amongst the
share information about the feature and requirement team members further makes the situation difficult.
dependencies between stakeholders.
Agile principles can even help create trust Distribution of work: One major challenge is that
between different cultures involved in the process by work distribution should not take place according to
constant communication and delivery of software [24]. the location. This will lead to an architecture which will
According to a study made by Passivara, Durasiewicz start reflecting the teams geographical distribution
and Lassenius quality of software and communication (Conways law). Different locations will become
are improved and communication and collaboration is overspecialized in a particular component. Ultimately
more frequent than before because of the Scrum it will become difficult to complete the user stories
methodology used in the project. Also the motivation within an iteration as different parts of the team will
of team members was reported to have increased [25]. have to complete specific pieces of work on a critical
Thus, agile in distributed teams has proved to path to complete a user story. Thus, the teams need to
be beneficial for projects quality and performance. distribute the work relating to single story across the
whole team, regardless of geography, and think in
4.2 Challenges faced by agile distributed teams: terms of user stories not system components. This is
Along with the above mentioned benefits there are the most challenging areas for distribute teams as they
many new challenges that come when we combine will have to work more closely across the geographical
agile with distributed development boundaries which will lead to reduced gaps in the
Although there are business reasons for distributing a functionality components that fall between components
team, distribution leads to team dysfunction by [6].
inhibiting communication. Agile teams rely on intense A corollary to this is to not divide teams by
person to person communication, both with team and horizontally (having one team do presentation and
the customer. another do database). In general a functional staff
Thus, these two trends i.e. distributed development organization is preferred - and remote teams
and agile approach face difficulty when it comes to exacerbate the problems of dividing teams by layers.
compatibility issues. That means that it's important to separate distributed
teams by modules that are as loosely coupled as
Documentation: most offshore organizations favor the possible [7].
plan-driven approach where detailed requirements or
designs are sent offshore to be constructed [7]. On the 5 TOOLS AND TECHNIQUES FOR AGILE
contrary agile teams tend downplay documentation
DISTRIBUTE DEVELOPMENT
from the observation that a large part of documentation
effort is wasted. When teams are distributed, remote In order to create an effective distributed agile team,
teams may miss out some details about the project and various communication barriers have to be overcome.
ultimately understanding suffers. Lack of rich Many distributed teams fail to work because they
conversation may make the information on the story behave as if they are collocated and do not effectively
cards insufficient for remote team members. Thus team address the additional communication burdens placed
members may need to supplement them with more on them. Many of the core communication challenges
details. faced require both commitment on the part of the team
to improve and the support of additional practices and
Pair programming: where two team members work tools.
side by side on the same code is another typical feature Following are various practices which can help to
of agile practices. It is impossible to have this practice overcome the problems introduced by agile distributed
with distribute teams. Such teams will have to use software development methods.
some other equivalent practice.
Improve Communication: improved communication is
Different working hours: Another major challenge the key to successful distributed teamwork. Minimize
comes for the teams which span over different time the overhead of setting up a meeting across the
14

locations by having a conference phone and projector these modifications is to help teams adjust to new
easily available. The whole team can get together easily methods and projects and help minimize
fro impromptu meetings. Video conferencing if misunderstandings between interest groups.
available is a better option than voice conferencing.
Team members can use hands free headsets, Focus on Team coaching: Distributed teams encounter
Web cams and application sharing softwares to allow more challenges and need more help to enable them to
them to work together remotely. Instant messenger can stick with the core practices employed by agile teams.
be used for synchronous communication and e-mail for Many distributed teams abandon key practices because
asynchronous communication. they seem too hard. Having one person on the team
The way the team members communicate has who is committed to the coach role is vital in keeping a
to be changed. In collocated teams usually the distributed team on the right path.
communication is informal (verbal). This has to be Many of the core Extreme Programming development
changed to formal nonverbal communication. This practices serve to reinforce each other so it is important
approach is helpful in case of GSD as it helps in not to simply discard a practice, rather it should be
overcoming the problem of non overlapping working modified or replaced with something equivalent. For
hours. example: pair programming might be augmented or
We can also have communication as an replaced by code reviews and story cards may need
explicitly part of someone elses duties on the team. complete information usually gained from
This could be done by assigning a representative for a conversations.
remote subteam to help to catch up with the missed The coachs role is to remind the team of the
hallway communication. underlying principles and help guide them to adapt
Meeting formats may also need to change. The daily their practices when the temptation might be to
standup meetings may be overly long as the issues abandon them.
which are related to the whole team only are discussed.
Other issues may be discussed after the meeting. The Distribution of work: One of the challenges when the
team members who are not involved the meeting can team distributes work is not to do so according to
leave the room and get on to their work. location. The architecture will begin to reflect the
teams geographical distribution (according to
Use Contact Visits: Face-to-face communication can be Conways Law). Different locations will become over
done by project teams meeting on collocation for the specialized in particular components.
first few iterations. This helps the team members to Distributed teams should continue to think about their
know each other and build trusts and rapport. This work in the context of completing user stories not
helps because many key decisions are taken at the adding features to components. They need to
beginning of the project. Personnel bonds can be consciously distribute tasks relating to a single story
refreshed by periodically bring the whole team back across the whole team, regardless of geography, and
together during the course of project. Bringing the team think in terms of user stories not system components.
together for the last couple of iterations helps in Avoid breaking user stories into tasks and then
making the release and shipping of the final deliverable assigning tasks according to geography and/or skill
much smoother [6], [7]. sets. Over time this would build up knowledge silos
leaving the team with new work that can only be done
Team Distribution: significant time zone differences by one or two people
introduce communication blackouts into the teams day
during which the team in not available. A time zone Documentation: maintaining valuable documentation
distribution of three to four hours is workable with the may also improve DSD team collaboration process
whole team sharing either morning or afternoon hours. while using agile practices [19], [26], [30], [31]. For
Team needs to make best use of overlapping times for example providing user stories with use case diagrams
meetings. in globally accessible backlogs helps to reduce
If the team is distributed offshore and the time zone misunderstandings and improve team collaboration.
distribution is large, then there could be a team Various tools like issue tracker (e.g. Jira), project
representative who has worked with the remote team management tool (e.g. Scrum works) also helps in
and has a good rapport with them. This representative maintaining documentation and good transparency
will be the core of the team and will attend daily [26].
standup meetings. He needs to have active discussions
and meetings in the team room and then pass the Use of tools: Various tools have been suggested both
results to the offshore team. This work can lead to formal and informal communication and project
fatigue and burnouts. support.
An alternative for synchronized office hours has been Agile teams cannot rely on sticky notes on a task board
suggested in an article by Hubert Smiths. He suggests or a burndown chart on the wall for project tracking if
using nested scrum with multilevel reporting and they are not in the same room. Similarly designs and
multiple daily scrum meetings [19]. The aim of all of diagrams need to be shared across multiple locations.
15

The decision to distribute a team needs to be coupled extra efforts are required on behalf of the team
with the commitment to provide the team with the members to maintain effective communications.
tools it needs to maximize communication and the Increase in the amount of documentation also
expectation that it will take them some time to optimize helps in achieving better co-ordination requirement
around them. clarification with use-cases and user-stories [28]. Thus,
The suggested tools can be categorized by their main flexibility and adjustment of project is recommended
function: instead of strictly following agile principles [30].Efforts
Social networking tools: different social software should be made bring the distributed team members
tools and social networking tools enable group together at the start, end and at other pivotal points
interactions which also include everything from during the project. This helps in building shared
email to video conferencing. These tools can be understanding of the problem domain and also
categorized by their main function: working relationships within the team [6].
Communication tools: e-mails, instant messengers Agile teams work on user stories and not on
Software configuration management tools: component based tasks. Efforts should be made to
repositories and version controlling tools. distribute the work according to user stories and not by
Bug and issue tracking databases: that contains the component. Agile development is hard and distributed
information about bugs found development adds to the difficulty in software
Knowledge centers: containing technical references development. The team should have someone to coach
and frequently asked questions. them and guide them to move on the track of agile
Collaborative development environments: practices [6].
providing project workspaces and standardized Providing the right kind of tools to the
worksets e.g. project repositories and project distributed team also helps. Some kind of online
management tools are recommended as necessary management tool is absolutely necessary for keeping
solutions in distributed agile projects. up and tracking work on distributed teams [27].
According to Fowler, out of various ways to hold Hence modified agile techniques if used
common information, wikis work well because they are consciously can be useful in overcoming the challenges
simple to use, can be worked with any browser, and faced by distributed software development (or GSD).
are simple to set up. Moreover wikis by nature The two software development methodologies i.e. agile
unstructured, which is a benefit. The team can use their and distributed development can be combined to give
own structures to keep information as the project appreciable benefits to software industry in terms of
grows [7]. increased production of high quality software by using
optimized resources as compared to the traditional
development models.
6 CONCLUSION
With distributed agile development it is possible to tap
into new global markets and make best use of globally REFERENCES
available talent, while potentially reducing costs. [1] J.D Herbsleb and D. Moitra (2001), Global Software
The decision to distribute your project should Development, IEEE Software, March/April, USA, p. 16-
be a conscious one and the decision maker(s) must 20,
understand that in doing so they reduce the projects http://conway.isri.cmu.edu/~jdh/collaboratory/resea
likelihood of success, increase the delivery time, and rch_papers/IEEE_SW_editorial_final.pdf (Retrieved on
reduce the teams performance and increase its March 12, 2010 from)
dysfunction. The risk/reward tradeoff needs to be [2] B. Sengupta, S. Chandra & V. Sinha, A Research
clearly understood before deciding to distribute your Agenda for Distributed Software Development,
team(s). Proceedings of 28th International Conference on
There are many benefits of using agile Software Engineering, Shanghai, China, 2006.
methods with distributed software development. It [3] R. Prikladnicki, M.H. Yamaguti Risk Management in
helps in evaluating and measuring the progress of the Global Software Development: A Position Paper.
project and problems of the project are more easily http://gsd2004.cs.uvic.ca/camera/prikladnicki.pdf.,
noticed at the early stage. It also handles the problems 2004. ( Retrieved on February 19, 2010 )
related to communication challenges in GSD such as [4] Agile software development,
difficulties in initiations and maintenance of http://en.wikipidea.org/wiki/agilesoftware
communication. Development. Retrieved on March 18, 2010
There are new challenges introduces when [5] M.Simon, Internationally Agile,
agile is combined with distributed software http://www.informit.com/articles/article.aspx?p=259
development like communication misunderstandings 29, March 15, 2002 ( Retrieved on March 10, 2010)
and effect of different time zones. Informal [6] Ade Miller, Distributed Agile Development at
communication which works well in collocated agile Microsoft patterns and practices, Microsoft patterns
teams is not possible in distributed teams. This also and practices,
leads to lack of trust amongst the team members. Thus, http://www.pnpguidance.net/Post/DistributedAgile
16

DevelopmentMicrosoftPatternsPractices, October 2008. International Conference on eXtreme Programming and


(retrieved on March 9, 2010) Agile Methods, p.147-154, 2004
[7] M. Fowler, Using an Agile Software Process with [21] K.Sureshchandra, J.Shrinivasavadhani, Adopting
Offshore development, Agile in Distributed Development, IEEE International
http://martinfowler.com/articles/agileOffshore.html, Conference on Global Software Engineering , p.217-221,
July 2006 (Retrieved on March 10, 2010) 2008.
[8] R. Priklandnicki, J. Audy Nicolas, R. Evarito, A [22] J.Sutherland, A.Viktorov, J.Blount, N.Puntikov,
Reference Model for Global Software Development: Distributed Scrum: Agile Project Management with
Findings from a Case Study., IEEE International Outsourced Development Teams, International Conference
Conference on Global Software Engineering (ICGSE on System Sciences, p.274a-274a, IEEE, 2007.
06), 2006. [23] M.Pikkarainen, J.Haikara, O.Salo, P.Abrahamson,
[9] Ismo Lehtonen, Communication Challenges in Agile J.Still, The impact of agile practices on communication
Global Software Development, University of Helsinki, in software development, Empir. Software Eng,
Department of Computer Science, Faculty of Science., 13:303-337, 2008
2009. [24] M.Paasivaara, C.Lassenius, Could Global Software
[10] E. Carmel, Global Software Teams Collaborating Development Benefit from Agile Methods?
Across Borders and Time-Zones, Prentice Hall, New International Conference on Global Software
Jersey: USA, 1999. Engineering 2006, p.109- 113, IEEE
[11] Sangwan, M. Bass, N. Mullick, D. J. Paulish, and J. [25] M.Paasivaara, S. Durasiewicz, C.Lassenius, Using
Kazmeier, Global Software Development Handbook, Scrum in Distributed Agile Development: A Multiple
Auerbach Series on Applied Software Engineering Case Study, IEEE International Conference on Global
Series, Auerbach, Boston, Mass, USA, 2006. Software Engineering , p.195-204, 2009.
[12] MJ Marquardt, L. Horvath, Global Teams: How Top [26] Emam Hossain, Muhammad Ali Babar, Hyw-young
Multinationals Span Boundaries and Cultures with Paik, Risk Identification and Mitigation for Using
High- Speed Teamwork, Davies-Black Publishing: Scrum in Global Software Development: A Conceptual
Palo Alto, CA, Emerald Book chapter, 2001. Framework, 16th Asia-Pacific Software Engineering
[13] S Krishna, S. Sahay, and G. Walshman, Merging cross Conference, 2009.
cultural issues in global software outsourcing, [27] Mike Cottmeyer, The Good and Bad of Agile Offshore
Communications of the ACM, vol 47, no. 4, pp. 62-66, Development, Agile Conference, 2008.
2004. [28] M.Cataldo, M.Bass, J.D.Herbsleb, L.Bass, On
[14] Migues Jimeenez, Mario Piattini , Aurora Vizcanio, Coordination Mechanisms in Global Software
Review article Challenges and Improvements in Development, IEEE Conference on Global Software
Distributed Software Development: A Systematic Engineering , p.71-80, 2007
Review, Hindawi Publishing Corporation, Advances [29] B.Ramesh, L.Cao, K.Mohan, P.Xu, Can distributed
in Software Engineering, Volume 2009, Article ID software development be agile, Communications of
710971. the ACM 2006, Vol. 49, No.10., 2006
[15] V. Casey and I. Richardson, Project management [30] H. Holmstrom, B. Fitzgerald, P. J. Agerfalk, E. O.
within virtual software teams, in Proceedings of the Conchuir, Agile Practices Reduce Distance in Global
IEEE International Conference on Global Software Software Development Information Systems
Engineering (ICGSE 06), pp. 3342, Florianopolis, Management, Summer, pp. 7- 26, 2006
Brazil, October 2006. [31] S. Berczuk, Back to Basics: The Role of agile Principles
[16] J. Erickson, K. Lytinen and K. Siau, Agile Modeling, in Success with a Distributed Scrum Team, in
Agile Software Development, and Extreme Proceedings of the Conference on AGILE 2007, pp. 382-
Programming: The State of Research., Journal of 388, 2007.
Database Management, 16(4), 2005, 88-100.
[17] R. Phalnikar, V.S Deshpande, S.D. Joshi, Applying Mrs. Suprika Vasudeva Shrivastava: is M.E Computer Science
Agile Principles for Distributed Software and Engineering (I.T) (2004), B.E in Computer Science and
Engineering (2001), Diploma in Computer programming and
Development, International Conference on Advanced
Application (1998). She has been into academics since past 8
Computer Control, p.535-539 ,IEEE, 2009 years. Worked as lecturer in Shri Guru Gobind Singh College,
[18] Malik Hneif, Siew Hockow, Review of Agile Chandigarh (2001), Dehradun Institute of Engineering and
Methodologies in software Development, Technology (D.I.T), Dehradun (2002,2004). She is currently
working as Assistant Professor in Symbiosis Centre for
International Journal of Research and Reviews in
Information Technology (SCIT) since 2005. She has total 8
Applied Sciences, ISSN: 2076-734X, EISSN: 2076-7366, papers (research and review) papers published in various
Volume 1, Issue 1, October 2009 conferences and journals of national and International level. One
[19] H.Smits, Implementing Scrum in a Distributed of her publication is available on IEEE Explore. She recently
Software Development Organization, Agile 2007, participated in a sponsored research project on project
management for PMI, India. She is also working as a reviewer for
p.371-375, IEEE. SCIT journal. Her current areas of research are Risk
[20] M.Kircher, P.Jain, A.Corsaro, D.Levin, Distributed Management, Agile Software Development and Software Quality.
eXtreme Programming, Proceedings of the
Dr. (Mrs.) Hema Date: is a PhD. (National Institute of Industrial
Engineering (NITIE), Mumbai), PGDIE (NITIE), and B.E
17

(Mumbai). She is currently working as Associate Professor in the


Department of Information Technology, NITIE, Mumbai. She has
more than 30 publications at National and International level. She
has done various sponsored research projects for Ministry for
Human resource and Development, India. Her research areas are
Software Engineering, MIS, Knowledge Management, Expert
Systems. She is a member of Indian Institute of Plant Engineering
(IT Curriculum Development).

You might also like