Distributed Development Challenges – Part 2

29 Oct

In my previous post, we examined five challenges in Distributed Development.   Let us look at five more challenges in this post.

1.     Lack of Cultural Sensitivity

Distributed Development often involves teams spread across nations and continents. As we all know, cultures vary widely across the globe and ignorance of culture can lead to even an innocuous gesture, or lack of it, ill feelings among people.

 

An example will illustrate the point. People in countries like USA and UK are very conscious about maintaining a certain physical distance between people. Violation of this distance makes them distinctly uncomfortable. An apology/’excuse me’ is always given and expected for any accidental touch, regardless of who caused it, and not doing so is considered rude. On the other hand, in countries like Brazil, China and India, people, especially of the same gender, are simply indifferent to the distance maintained between them, as well as to accidental touches, thereby not offering any reaction when it happens. I have come across multiple instances of misunderstandings between people, due to lack of appreciation and understanding of cultural differences like these.

 

2.     Lack of ‘Big Picture’ View

This challenge typically occurs when the Product Owner and Business Analyst are in a remote location. While they may conduct a ‘big bang’ session to provide the big picture view, their conversations around the big picture may get ignored, and the most of the team members might just get to see limited pieces of the puzzle. The problem aggravates when a team might be doing the work as directed by the team at a remote location.

3.     Lack of Visibility

Working from a remote location, it is quite difficult to get good visibility of work happening in other locations, as radiation of information across locations is a huge challenge. This can lead to ‘multiple sources of truth’, which can result in a lot of misunderstandings and unpleasant surprises.

4.     Lack of Collective Code Ownership

Collective code ownership means no single member of the team owns a piece of code – rather the entire team does. This means the code is up for refactoring to all team members.  Implementing this in a distributed environment poses 2 major challenges First, .unless appropriate tools and Version Control System is used, maintaining collective code ownership can be challenge across locations. Second, lack of trust between team members can lead to a highly negative consequence, viz. no code ownership by anyone in the team.

5.     Risk of unpleasant surprises when ‘Everything Comes Together’

When multiple locations are producing work which needs to come together at some point, there is a huge risk of things falling apart, unless Continuous Integration is practiced rigorously. Inconsistencies between locations in types of tools used, an unsuitable Version Control system and lack of common quality standards can become major impediments towards achieving integration which is surprise free.

 

Reading all the above, it might appear that Distributed Development is doomed for failure. However, many organizations have worked towards implementing measures which significantly help in overcoming these challenges, if not fully eliminate them. I am going to share these best practices in my subsequent posts.

 

 

 

 

 

 

 

 

Advertisements

2 Responses to “Distributed Development Challenges – Part 2”

  1. Akash July 30, 2014 at 2:49 pm #

    Hello Sunil,

    When are you going to share the best practices to overcome these problems ?

    Long time no post ? Have you moved to a different blog ?

    • suniltalksagile August 1, 2014 at 9:32 am #

      Hi Akash,

      Thank you so much for writing to me.

      I apologize for the delay in writing the subsequent articles. Your reminder had given me the encouragement to complete this. You will hear from me soon.

      Regards,
      Sunil

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: