SERVING THE QUANTITATIVE FINANCE COMMUNITY

DrBen
Topic Author
Posts: 500
Joined: February 8th, 2003, 1:24 pm

Off shore IT body shops

Is anyone using off shore IT body shops? I have worked with people from various parts of the worldon IT development (rather than IT contracts) and some of them are very good.Traditionally off shore IT contracting has been lower level work usual writing interfaces fordatabases rather than developing real middleware. I was just wondering if the type of developmentoutsourcing was moving up the value curve.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

Off shore IT body shops

We've had some experience of this.Not really very impressed.Aside fom the obvious problems of distance and culture, the quality of staff is low.Sure, there are smart cheap Indians & Chinese, but being smart they don't want to stay cheap. Thus the better ones don't work for outsourcers, who ultimately compete on price more than quality. Many have the desire and ability to work in the west, where they can earn money that makes the wages back home look pitiful.Many smart people do a stint, then arbitrage to a better job there or here. India is a better bet than China, even though it is more expensive. They have courts, speak English, and the level of corruption is massively less.If I were doing this on a larger scale, I'd set up a subsidiary. Train them in "our" ways, and structure payment to ensure low turnover.Local outsourcing "partners" vary hugely in quality, and trying to work out which is good and bad is awfully hard.

slevin
Posts: 370
Joined: January 5th, 2003, 5:11 am

Off shore IT body shops

From what I have seen, what you gain in price, you loose in delivery time and quality. If you can make a very very detailed spec you might be able to get something reasonable, but I am willing to bet $5 to$1 that offshoring, for example, a trading or risk management system will be a flop. A nameless market data provider found that first hand - they tried to outsource their quant code to Israel only to dissolve the group in the end. Unfortunately, there is no substitute to specific experience ad communication.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

Off shore IT body shops

Has anyone here even read, much less written a detailed specification ?As a foretaste try specifying the error handling in your current project. Just to specify what it does, much less what you'd like it to do is extraordinarily tedious.Consider as an example the word "between". Anyone care to guess what this means ?What is "a range between one and ten " ?Is is 1..10 inclusive ? or 2..9 is it 1+eps to 10-eps where eps is the least number represented by the IEEE standard for floating point.Is it an integer range or floating point ? Double precision ?Or is it the least number available on a Pentium ? Oh, yeah and it isn't a constant for all ranges, so eps in 1..10 is not the same for 10000000 to 100000000Should it accept "one" and "ten", and convert them to binary by a constructor ? Don't laugh, I've had this argument with users. ( OK you can laugh To many C++ programmers 1 to 10 is heard as 0..9 and for VB programmers it is a module level option.Fortran and C++ have conditions where explicit constants like x=10 may be changed, and yes this means pi can tend to inifinity. You can do it in VB as well, but that takes more talent.Recall that "between" is not a binary operator, it may have variable arguments such as between 1 and 10, 50 and 60.

luisinui
Posts: 4
Joined: May 30th, 2003, 7:56 pm

Off shore IT body shops

I have some experience outsourcing IT for companies and using outsourced developers domestically. I think it can work out and be profitable. The secret is know well the outsourcer and do a good contract (share the risks with the other company). I would never look for the cheapest developer or the smartest one. People is about following orders and doing it well!About specifications… If you are vague I would guess you don't know what you want… For outsourcing you have to know what you want, at least the ins and outs…You don’t need to be detailed, you have to be specific.If I was developing a product and didn’t knew my specific needs, I would never out source, but in the case of a C++ library, for example, with specific function, why not???The other thing is, out sourcing can be cheaper, but it is for sure more work and you will need more discipline. People, there is no free lunch!!!!

slevin
Posts: 370
Joined: January 5th, 2003, 5:11 am

Off shore IT body shops

QuoteHas anyone here even read, much less written a detailed specification ?My point exactly - the best specification is code itself. I can not imagine writing a spec that would be totally understandable to anyone that has no clue about finance, for example. QuoteIf I was developing a product and didn’t knew my specific needs, I would never out source, but in the case of a C++ library, for example, with specific function, why not???Hmm. If it's a simple library, chances are you can buy it off the shelf, all other is not trivial and would require detailed understanding of the subject matter. For example, on your website there is an advertisment for a library that does yield curve manipulations - would you entrust this kind of work to someone who has never actually worked with interest rates products before?

luisinui
Posts: 4
Joined: May 30th, 2003, 7:56 pm

Off shore IT body shops

I agree that there are cases where is easier to code yourself instead of explaining what you want and I agree that the more the guys know about the subject, less information you have to give him and the faster he will give what you want.But in the other hand there are cases where outsourcing is a good way to overcome your time and/or budget constrains. For that you have to work a little harder on the rest of the project.About the trust problem, I don’t trust anybody that I don’t know… In the begging you have to give the pieces of the work that you can check. Test is the key point here; this is why you have to know upfront what you want, to be able to test it after.In the other hand, if you know the outsourcer and trust if capacity of delivering a good product I don’t see why wouldn’t give him a paper and references and wait for the results. Although you still have to test it in the end.

dawnraider
Posts: 29
Joined: July 21st, 2002, 12:41 pm

Off shore IT body shops

I used Computer Science grads from Mumbai for about two years. I started by enquiring at the university, not via an existing company. My experience was pretty good. At the time I was building a technical analysis and mechanical trading system package for futures and options trading. I got a fully fledged system for about 15% of UK quotes. I supplied libraries that were not worth reinventing. What I had to bear in testing and specification issues was no worse than my experience with development teams in UK and US Investment Banks. However the prices I was quoted more recently are nowhere near so competitive unless you spend a great deal of time haggling. My issues were time, control and quality but once I made myself clear that they should unit test I had few real problems! For the design and development of the user interface I brought one of the guys to the UK for 3 months so we could nail that down face to face as I thought the real time ergonomics of the system were very important. There are (more) precise Formal Methods of specification like VDM and Z which are basically pseudocode with pre and postconditions, but I did not use them.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

Off shore IT body shops

The issue with VDZ, Z , Gries et al is that they simply move the effort of coding from C++ to some formal logic.Around here that may not sound so bad, but far more people master C++ than predicate calculus.Worse still, C++ has any number of facilities to help analyse errors in your logic, few forms of logic have this, and once you go down this road, thenDawnRaider's point about the spec being the code becomes even more valid.

DrBen
Topic Author
Posts: 500
Joined: February 8th, 2003, 1:24 pm

Off shore IT body shops

QuoteOriginally posted by: DCFCHas anyone here even read, much less written a <b>detailed</b> specification ?As a foretaste try specifying the error handling in your current project. Just to specify what it does, much less what you'd like it to do is extraordinarily tedious.I have read such a spec but thankfully I have never been asked to write such a thing.The Spec's I have seen involve taking everything within a project which demands anycreative thinking and specifying the details of the actual programming steps involvedin order to produce it. Individual's who write such Spec's clearly must know how to codethe project themselves, and it is only a question that they cannot be bothered to gothrough the mechanical coding themselves. For me writing such a Spec would be morepainfully that actually doing the coding myself. As luisinui said, "I agree that thereare cases where is easier to code yourself instead of explaining what you want".What is left after the spec in written is purely mechanical, and hence relatively low levelprogrammers can do it. Further, since the Spec is so conclusive the outsourcers need notknow or understand anything of why the project is build and designed in the ways it isand what it is actually good for. It may even be an advantage if they know absolutelynothing except the mechanics of typing in whatever language they are writing since theywill not be tempted deviate from the Spec or get disillusioned if the project is badlyconceived.With remote working (via telecommunications) there are tremendous opportunities becausethere is free movement of capital over national borders but there is not free movement ofpeople. Since this creates an inefficient market there exists huge arbitration opportunitieswithin the world’s biggest market. All I am thinking is there should be a better businessmodels than what is available via detailed Spec outsourcing.Over the past few years, big firms have outsourced a reasonable proportion of high-enddevelopment. For example, all of Sun's J2EE development is now done in India; Oracle hasa large mobile phone App factory in China. Microsoft last week just brought the IP of ananti-virus from a Romanian IT house, IBM has 3,000 (I think!) Indian developers; EDS alsohas people in India. These business models make sense to me and I am just thinking thatwhere should be a secondary market for higher level outsourcing. In reality if you outsourceto IBM, there is a reasonable chance the work goes to India, and IBM will gain from arbitragingthe international labor market.I have more to say on this but I think I have said enough for now...

luisinui
Posts: 4
Joined: May 30th, 2003, 7:56 pm

Off shore IT body shops

I agree with you DrBen about the opportunities of arbitrage in some service markets and they are present not only in IT but in many others. At the same time it’s not so easy… There is a huge informational problem in this kind of transactions.Trust is just one of those, interesting in enough all the examples that you gave, a big company absorbed an existing structure or created one to develop their need, all the transactions were made inside the company and not in a service markets. The global presence of those companies seems to me to be a key point here.In a Ronald Coase conception we could say that there is hidden cost in contracting these kinds of services in a free market that overcome the benefits. In other words, this kind of operation, in large scale, would be profitable only if done inside the structure of a single organization.What do you think?

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

Off shore IT body shops

Individual's who write such Spec's clearly must know how to code the project themselves, Indeed, one language is referred to as Structured English. SE is quite fun, English with large chunks taken out.For example pronouns such as "it" are prohibited because they are often ambiguous.As for lack of domain knowledge, Richard Feynman has some entertaining tales of how security on the atomic bomb project almost stopped progress because of "need to know". I've worked on multi-man large projects where the fact that there was no feedback from the trenches meant that the specifiers made crap decisions. Few outsourcing projects provide this feedback.there are tremendous opportunities because I guess I'm on my 10th "now we can do X, the cost of software development will plummet". I quote from my first edition Cobol Manual. "It is not intended that Cobol should be used by professional programmers, it is intended to be useful to managers and accountants".

DrBen
Topic Author
Posts: 500
Joined: February 8th, 2003, 1:24 pm

Off shore IT body shops

I just came across a report by Deloitte Consulting which claimed:"Top 100 global financial-services firms seen transferring \$356 billion ofoperations, 2 million jobs offshore over 5 years"Within the report they claim:"The survey shows that banks and insurance firms are transferringoffshore such functions as application development, coding andprogramming, accounting and finance, operations, processing andadministration, contact support and call-center operations."You can get the whole report at:http://www.dc.com/aboutus/pressroom/off ... spDeloitte also has a vested interest in offshoring since it is a bodyshop broker itself.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

Off shore IT body shops

There is no doubt that this will grow. Personally I see it as a more complex notion than Deloitte are selling.As we spend this "356 billion", we will drive up Indian and Chinese GDP hard, and they'll get richer. This is straight arbitrage, as we trade it will reduce, so competition for locals will drive up wages.The people best placed to exploit this wage cost advantage are locals. As western firms outsource they are in effect training mid level staff in activities they could never learn through academic education.There is a good model here, it's called America.In the 18th century, the notion of a place with free land and limitless natural resources was very attractive. Britain and other countries invested heavily, and the locals did rather better than their parent economies.Of course, there are bad models. Lots of money went into Africa...
Last edited by DominicConnor on June 18th, 2003, 10:00 pm, edited 1 time in total.

DrBen
Topic Author
Posts: 500
Joined: February 8th, 2003, 1:24 pm

Off shore IT body shops

DCFC: I think America in the 20th Century is a good example. The US had an edge in the early days with "cheap"land and natural resources, which where major ingredients of the means of production in the 20th Century.Now off shore locations have an edge in the price/performance characteristics (i.e. cheapness) oflabour in certain areas (which now is the biggest ingredient in the means of production for many industriesof the 21st century). Capital intensive, and culturally related industries this edge is of limited value. But inlabour intensive industries where cultural and linguistic differences can be mitigated this edge looks like along term competitive advantage.Now the one market which looks perfect for out sourcing is programming, and in particular the programmingof mathematical models and other structures which are independednt of culture in the broadest sense. luisinui: I only gave these examples particular examples because everyone would have heard of these companiesinvolved and secondary because these people really do care about quality. The idea that Indian et all, are onlyabout rows of sweat house typing machines is not realistic. Even in the US, 25% of start-ups in Silicon Valley areby people who where born in India. In the UK, a clever guy can work in a whole number of professions andmake a descent living, in many of the off shore locations the only good living is to be an programmer doingcontracts for Companies in more developed countries.In term of arbitraging this market the other ways I have seen are as follows:1) A recruitment consultant gets a programmer to sign a contract for three years to work in the UK at 50% thenormal rates. He then brings him to the UK and resells the programmer in the UK for the market price. Makes50% of his salary for three years before the programmers moves on. If the recruitment consultant fills the positionwith a UK programmer he make between 25-40% of the starting salary. There is often an intermediary trading theprogrammer with the UK recruitment consultant. 2) Resellers of Resellers - I have seen three intermediaries between the person requesting programming skillsand the eventual programmer who actually does the programming. I think this is the main reason why there isoften little feed back with outsourcing. The three people in the middle who are doing back-to-back trades, donot want the programmer and out sourcer to speak with each other.