Offshore Management Framework: The key to managing outsourced IT projects across time, distance and cultures.

« Managing Indian Culture, Part 2: My thoughts | Main | Globalization and Offshoring of R & D .. further notes »

Parallel Development, Managing Version Control and Offshoring

Here is a challenge typical of that of many teams embarking on a globalization and offshoring journey.

The client is looking at having a low-cost but robust (around 400 developers would be working world-wide) solution primarily supporting the following features:
a. Parallel development by multiple teams
b. Remote check-out and check-in
c. Automatic Merge capabilities
d. Supporting automatic build and deployment processes
e. etc.

Though not exactly a ‘project management challenge,’ it is certainly the responsibility of the managers to ensure strong processes around source code management. As the Software Guru Martin Flower in his article  “Using an Agile Software Process with Offshore Development” states: I always advise teams to check their documents into a version control system so people can easily get the most up to date material. This is particularly important when you are doing remote work. Mark Murphy also articulates the "The Challenges of Remote Collaboration" in his blog, highlighting some key challenges:
Social issues also come into play. If the teams adopt an us versus them mindset, they might well wind up working at cross-purposes, with Team A being slow to adopt Team B's work due to distrust or outright disdain for who Team B is and what they are working upon. This is exacerbated by time zone and language differences that make real-time communication difficult.

A few version control tools - CVS, ClearCase, SubVersion, Microsoft Visual SourceSafe (and a remote access solution for VSS, SourceOffSite) come to mind. Of course, one can begin with a Wikipedia scan  or Software_Configuration_Management

Technology and nature of code and artifacts being versioned will determine selection of the tool, and of course a preference based on existing framework would be a key driver. But what tool is appropriate for Offshore development, or multi-site application development? Answer may be “it depends,”  especially since most offshore software development will also leverage remote access to common servers or repositories. This said, tools that have built-in remote access, tracking and management capabilities may lead the pack.

Before I open this thread for debate, here is an input from James Farley, a Principal Architects:
In terms of the client's requirements, I'd advise them that "automatic merge capabilities" are a pipe dream.  In my opinion, there's no such thing. It's almost like asking for a tool to automatically merge two documents edited by two people. Some person is going to have to do the merge, with assistance from the tool in terms of delta views, etc.

Well, is the client going to get a), b), c) and d)?

TrackBack

TrackBack URL for this entry:
http://www.infosysblogs.com/managing-offshore-it-mt/mt-tb.fcgi/57

Comments

I posted a (slightly off-topic) commentary on managing outsourced development to reduce problems on my blog.
JT

Having used Microsofts latest addition to the SCM-scene, Team Foundation Server i strongly belive that it might be the tool that as you say "lead the pack". The fact that MS has used it successfully for their internal projects (and they have offices all over the world) is promising. We are using TFS successfully as the core tool in our Application Management Center and TFS covers all the requirements you list in you post.

/Andreas

Andreas,
I agree that TFS is a strong candidate in Microsoft application development scenarios.

However, one may also have to consider the possibility of a ‘typical’ IT shop with multiple flavors of technologies; say some .Net development and some Java code.

Prashanth, an Infosys Architect who specializes in Microsoft technologies pointed out to me that there are third-party companies building plugins to Eclipse which can communicate to TFS.

It will be an interesting trend to watch.

Mohan,

I totally agree with you and though I didn't mention it in my previous comment we actually have both .Net and Java applications that we are maintaining using TFS. (currently evaluating Teamprise for Eclipse integration). MS seems to have put a great effort in making TFS easy to integrate with so I think we will see alot of plugins in the future. As you say: an interesting trend to watch!

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)