Wednesday, January 30, 2008

Rules for successful Offshore Application Development

I was reading an interesting series of articles on the Accurev blog on the rules for successful offshore application development
  1. Requirement 1: Leadership is everything
  2. Requirement 2: Business Interests Must be Aligned
  3. Requirement 3: Match the Project to the Team

I think the points raised here are very valid for the success of any offshore project but I feel that a key requirement is missing from here and that is

Clarity in the requirement

Offshore project development is about identifying a piece of work and getting it done away from the place that it is identified i.e. the person who has come up with the requirement (identifier) and the person who is implementing that requirement (implementer) are at two different places.

What happens in this scenario is that when the requirement is transmitted from the identifier to the implementer there is a certain amount of loss or sediment added into the requirement which the identifier of the requirement will not know until the task is delivered. Hence the more abstract the form in which the requirement is given from the identifier to the implementer the greater are the chances that the final product will not be what was envisaged. Hence clarity in what needs to be accomplished is very very important. For web based projects we have found tools such as Axure being excellent in documenting what is to be implemented.

Another big hurdle is the manner in which the requirement is explained by the identifier to the implementer. This is usually done through a series of conference calls. We find that using a web conferencing tool such as a webex/webexone where the identifier of the requirement walks through the application completely helps a great deal.

It is hard to achieve short term returns in off shoring. Offshore project development works only in the long term. In the initial phases it may actually prove to be more expensive doing offshore project development due to the investment in training, setting up of processes, knowledge transfer and so on. All this is done to make sure that the offshore project team has the same understanding as the on site team. The cost benefits can be seen only when the engagement is for the long term.

Another key thing in offshore project development is that when a requirement is explained it is very hard to get 100% of the requirement across from the identifier to the implementer. So based on the experience of the implementer a % of that requirement comes across and then there is a % of imagination put in from the implementer side to understand the complete requirement. It is key that there is a constant dialog between the identifier and the implementer in a constant feedback loop where the identifier ensures that the implementer understands completely what needs to be achieved. What this means is that there should be someone on site who understands the complete requirement and is available to monitor and explain the requirement to the implementer. We usually call this person the on site coordinator and this role is a very key role.

No comments: