views:

90

answers:

1

*I have been thinking of doing projects with offshore help. The idea is to use it to be able to do projects where I don't have much experience - say iPhone. Also I am looking for some of the same benefits as XP pair programming. Generally being dynamic, trying to do everything as cost-efficient as possible:

  1. I will be involved in all core developer coding, usually in cooperation with people I can talk to.

  2. For peripheral areas i will use cost-efficient specialists, with less requirements for communication. This includes logging and test-frameworks etc which I usually don't have time to get into.

  3. I will work hour by hour with several developers, and allocate my hours to those where I feel it works best (This is for the core tasks where oral communication is important)

  4. Everything will run out of source-control without much setup (like continuous integration). Use of shared desktops and similar.

People should be able to become productive in a short time (as when you ask a guru for help in your office). The main problems I see:

  1. Selling it to the client
  2. The combination of Coach level, good oral communication, working hour by hour when it is convenient for me and technological infrastructure can be to expensive. Also i would guess low cost areas are less competitive in new technologies in demand?

What do you think? Experiences?

+2  A: 

Pair programming with a random outsourced contractor? Forget about it. Unless you build a very good relationship with a single person, its going to not work out (sorry to be a pessimist).

Managing a remote person or team is going to consume more time than you expect.

Yann Ramin
Bold/star/highlight that last sentence of theatrus's. We've found the exact same thing: any perceived benefit you get in extra manpower is shadowed by the immense amount of time and effort that has to go into managing and steering them.
DA
Unless you have a 100% bullet proof contract, 100% bullet proof and entirely complete spec, and can find an outsourcing house that is truly an expert in the field you need, outsourcing will ultimately be more expensive, more time consuming and produce lower quality product for more effort than would go into building a local team to do the same product.
bbum
I can get a good impression of a person in less than an hour, so I can spend my money on unrandom developers. Also I don't have to do more management than in XP
Olav
Heh -- if you think you can get a good impression of a developer's capabilities in less than an hour, likely over the phone and separated by thousands of miles and a likely as wide cultural gap, then you have a brighter future in recruiting. Seriously; before my current gig, I made a healthy living cleaning up offshore produced engineering messes managed by people that thought they could do the same.
bbum
I can feel if we can communicate well, if he can contribute on the subject I am working on, and relative strenghts/weaknesses compared to me. (None of the other comments are really relevant to this situation, a local team is not an alternative for example.
Olav
Well, I suppose there's a distinction to be made between 'offshoring' and 'offsite partnering'. The former being the typical team in India that requires copious amounts of documentation and managing and steering and rewriting, etc. The latter being finding a competent developer that just happens to be remote. The latter can certainly work. The former can too, but takes a lot more work than most people realize. (And by 'people' I mean upper management)
DA