Saturday, July 31, 2010    Login
You are here:  Company * Blog   Search
Sections
    
Recently Read
    
  Disambiguator
Disambiguator Blog
Oct 3

Written by: Michael Wilkes
10/3/2007 


Yes, there is a big price difference between a coder in the USA and a coder in Mumbai, Moscow, or Beijing. Those prices are getting closer to each other as offshore wage inflation sets in, but the difference is still significant. A project manager staffing a large project will at least consider using that price difference to lower costs.

Everyone knows by now that you need a blueprint for your project. I know - we give it fancier terms in IT. We say Requirements Specification, Use Case Analysis, Detailed Design, etc. The point is that the kind of blueprint you would give to a U.S. developer and the type that you have to give an offshore partner are, literally, worlds apart. Cultural worlds. Communication worlds.

Whatever you think your U.S. developer needs... TRIPLE that level of detail before sending it overseas. Let me be specific...

I have given a U.S. developer a mock-up of a Customer screen showing an Address area with a drop-down list for entering the State. They can tell by looking at the database diagram that the Address fields are optional.

They never ask me where that list should come from, or what to show in it, or how to sort it. They look at the database diagram and the make it happen. I can count on them getting it 95% right the first time.

That same mock-up, if given to an offshore coding team member, must be accompanied by the following details:

1. Use a drop-down list (not a combo box).
2. Use this select (in a stored procedure) to get the data for the control:
   Select StateId, StateName From State Order By StateName
   (Yes, ladies and gentlemen, we are writing the code FOR them)
3. Add a special entry to the top of the list: "Select State".
4. Give the special "Select State" entry a return value of zero (0).
5. When passing data to the INSERT or UPDATE stored procedure for Customer, translate
   the special entry value of zero into a NULL value.
6. Put the value of the drop-down list into the field Customer.StateId

Now, think about who is supplying all this extra but necessary detail... is it the cheap offshore coders? No, it's the expensive US-based Business Analyst, Software Archtiect, or Project Manager. But that's only the direct cost. The indirect cost component is the opportunity cost. What could the Architect, BA, or PM be doing instead of playing fill-in-the-blank for the "cheaper" resources?

The above example was trivial, but real. I've also been given an Employee drop-down list that showed only numbers. You know all your Employees by their Record ID, don't you? How about this... The last five offshore programmers I've tested have given me a drop-down list of Customers showing only the FIRST NAME! If you have to be THAT specific with the easy stuff, imagine how much detail you'd have to put into an overall security architecture! A poorly written security layer or business layer could cause weeks of rework (don't ask).

The detailed level of specification required to make a success of an offshore project can cause your huge cost savings to be absorbed by increased time from the most expensive resources. Add to this the need for extensive testing and code reviews (by people who KNOW what they are doing) and soon you are approaching even money. Anything close to even (between US-based coding and offshore) and I would keep the project local. Give it to a few well-tooled senior software engineers and let them rock & roll. You'll sleep better.

 

Tags:

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment   Cancel 
Search Blog Entries
    
Home  |  Process  |  Case Studies  |  Company  |  Contact
(c) Copyright 1997-2010 by Dynamic Answers, Inc.   |  Privacy Statement  |  Terms Of Use