Agile Scrum and globally distributed teams


Agile Scrum and globally distributed software development

Challenges and Solutions

Joseph Vargheese PMP CISA CSM

Date: 2013-03-30

(Currently looking for consulting opportunities within USA.  Please contact joevgh@gmail.com)

  • Communication is the single largest contributor of the failure of agile scrum in globally distributed teams
  • Scrum is not optimal for globally distributed teams, but it works better than many other processes.
  • Scrum aggravates the challenges faced by globally distributed teams
  • Globally distributed scrum requires few  other  roles compared to traditional Scrum
  • Agile process knowledge still very limited in several of off-shore locations. Hence resources trained in agile process are also limited and very high in demand
  • Many global vendors are very comfortable in water-fall process where deliverable is highly predictable. Ever changing agile process brings disruption to that flow.
  • But even with all of the above Agile Scrum in globally distributed teams are here to stay because benefits outweighs challenges

 1.       Background

With wide acceptance of Agile SCRUM from Silicon Valley startups to every day software development, several organizations with globally distributed operations have already switched to agile or on the process of switching. This presentation mainly focuses the challenges of North American companies to do globally distributed software development in countries with 10-12 hours of time difference. Several techniques are listed in the article to resolve every day issues faced by these teams both off-shore and onsite. This article is based on practical experience of resolving different challenges.

Advertisement

2.       Off-shore and Near-shore teams

Software development teams from India, China, Russia, Poland and few others in the same region are generally referred as off-shore software development teams. Eastern Europe and South American companies also provide cheap software development solutions which are normally referred as near-shore teams.

3.       Not optimal but works well

It is not optimal to do agile development in a globally distributed team environment.  But benefits of the agile process outweigh the challenges faced compared to any other process like waterfall or RUP.

4.       Challenges and Solutions in a Distributed Scrum

4.1   Country based

Every country brings some natural challenges to software development. Agile by its nature of requirements like close interaction and communication within a team, aggravates some of these issues.

India and China brings the disadvantages of 10-12 hours of time difference with any of the North American companies. China and several others bring the disadvantage of English language.

But china has advantage over India and several others to do business in Japan, South Korea because of the language knowledge.

4.2   Communication

If an off-shore agile SCRUM project fails, single largest contributor of the failure will be communication due to 10-12 hours’ time difference between North American companies and off-shore development countries. North American companies having off-shores teams in Eastern Europe or South America have a better overlapping hours between both off-shore and onsite teams.

Some of the solutions are as follow:

i.        Video based meetings

ii.        One Instant  messenger  for onsite and off-shore staff

iii.        Overlapping working hours

iv.        Common sprint management tool including query escalation and resolution

v.        Automated daily status reporting

vi.        Shared source code repository

vii.        Common Build and deploy infrastructure

viii.        Share Drive

ix.        Shared Wiki for Information exchange

4.3   Resource Challenges on off-shore locations

Staff get selected in most agile development team’s is 1 in 5 interviewed. Most off-shore locations have very high demands for highly trained software developers and their low availability. More so in agile, it is better to select the candidates with better fit for agile process.

4.4   Team Layout Changes

Most effective team for agile off-shore development is combined off-shore onsite team 7 onsite and 5 off-shore. In my experience none of the other team layout are as successful as above.

4.5   Additional Roles Required

With the time difference there are additional role in the off-shore scrum team.

4.5.1 Off-shore scrum master

Senior member of the team assume this responsibility to resolve queries and status.

4.5.2 Proxy Product owner

There will be only one Product Owner in the team located generally onsite.  Off-shore should have equivalent proxy product owner role reporting to product owner. This role will speed up the development process

4.6   Additional Meetings  and Process Steps

Release planning (onsite)

Sprint backlog (combined)

Story pruning meeting (Add more details to excite meaningful discussion)

Sprint Planning (onsite)

Sprint Planning (off-shore)

Combined sprint planning (Off-shore and onsite)

Daily Stand-up off-shore

Daily Stand-up Onsite and off-shore together

Sprint Retrospect (Combined)

Burn down chart (Combined and/or separated)

4.7   Process Knowledge

Agile process knowledge is very minimal in several off-shore locations and many teams are learning fast. Besides China still lags overall delivery framework. Travel of resources both direction will help with this.

4.8   Agile contracts

Most off-shore units are run by vendors of the client organization of North American Countries.  Both vendors and clients like fixed process contracts whereas agile is ever changing and fixed price is not much of possibility rather T&M contracts are used.  It is overly difficult to commit deliverable within T&M

4.9   Onsite Knowledge Travel

Bringing people to onsite will speed up knowledge transfer and it is important to do onsite knowledge transfer to several of the key employees.  This also helps to attract right talent to the team.

4.10      Sending regular Ambassadors to off-shore

Occasional travel (Once in 6 month at least) is very important to build trust between onsite and off-shore teams.

5.       Opportunities

5.1   Low cost and reasonable quality

Lower cost and comparable quality are still reasons for outsourcing software development to off-shore locations.  Some arguably say the availability of man-power, which is difficult to validate.

5.2   Better overall results

In my experience overall quality for several stakeholders are good compared to the traditional waterfall fixed price projects. Often the entire project is executed on a lesser cost than waterfall.

6.       Conclusion

As mentioned earlier off-shore software development using Agile SCRUM is here to stay.  It is adopted by many development teams every day and early adopters are beneficial from cost advantage as well as earned value.

Advertisements

About Joseph Vargheese
email:joevgh@gmail.com.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: