“Outsource it!” is now in beta

A couple days ago my first full size book went into beta and is now available at the publisher website – http://pragprog.com/book/nkout/outsource-it. I feel very happy and relieved that the book is finally out, writing it was far more challenging than I’ve ever anticipated. At the same time I feel happy and proud, proud to be one of the authors of the pragmatic bookshelf, the group of technology writers that earned respect across very broad and demanding technical audience.

It will take a little while before the book hits the shelves of Amazon and other bookstores, but you don’t have to wait and get your e-copy of it today. While the book is in beta your comments and suggestions would be taken quite seriously and could result in changes and additions to the content, hopefully making the book even better. I am not sure how long the beta would take but hopefully much less than it took me to get here –

Roughly two and a half years ago I came up what seemed a great idea at the time – compile my blog material into an easy to read eBook. In a couple months I produced the first volume that was dedicated to making decisions on whether and how to outsource. In a short order I received substantial feedback that made it apparent that just recompiling the blog and doing surface level clean up won’t add too much value, and probably was not worth the effort. Continue reading

Search for SEO Experts

Search for SEO under Hire professional in eLance returns about 12,000 results, search under Projects returns about 600. So it’s roughly 20 providers per SEO project. Similar stats are on Guru, oDesk, GAF, etc. One would assume that I should have zero problems finding a professional for my SEO project, especially in this market and being a buyer with good standing… The project started a couple weeks ago and in theory, I should have found the provider by now, in reality I have not. In theory there is no difference between theory and reality, in reality there is… Well, here is a brief of my recent project:

I decided to see what a couple standard SEO operations would to my blog traffic put a project on eLance, Guru, and oDesk. These sites have very different community of suppliers and I expected responses different in multiple aspects. Considering cumulative value of decently designed SEO campaign I was prepared to pick several suppliers. My project was very simple, here is its slightly abbreviated version:

Continue reading

Microsoft and Plurk outsourcing debacle

If your goals are not achievable you can use them as targets. Sounds like a strange proposition? Well, look at Microsoft – everyone and their brother love to use it as a target of hate, criticism, etc. It’s human nature – to consider success of others as own failure. Fortunately, Microsoft never ceases to offer opportunities for harsh and well deserved criticism.

This time it’s quite amazing: as Plurk, a startup in micro-blogging sense, pointed in their blog “Imitation may be the sincerest form of flattery, but blatant theft of code, design, and UI elements is just not cool, especially when the infringing party is the biggest software company in the world. Yes, we’re talking about Microsoft.”

As it turned our recently launched Microsoft service Juku borrowed much more than inspiration from Plurk, it used very much everything including source code.

Initially Microsoft seemed uncertain about what happened yet shortly after the news hit the blogosphere suspended Juku and issued apologies to Plurk. “Because questions have been raised about the code base comprising the service, MSN China will be suspending access to the Juku beta feature temporarily while we investigate the matter fully.” see more here.

Stuff happens, even with the best of us. No reason to beat the dead horse here. What is interesting and particular important for the topic of my blog is that the code theft appears to be linked to Microsoft outsourcing practices, see Microsoft Statement Regarding MSN China Joint Venture’s Juku Feature “The vendor has now acknowledged that a portion of the code they provided was indeed copied.”

I am sure that we’ll never know exactly what exactly happen. In my opinion the chances are that Microsoft outsourcing partner did something that we call R&D – rob and duplicate, and under pressures of budget / timelines / etc. did not even make efforts to cover its tracks. The theft most likely happen at a very low level of the food chain – maybe just a few developers removed from the MS headquarters by 100s of layers of corporate hierarchy, maybe a product manager making a misleading request “make it like Plurk”, it might have been simple translation error … never the less the giant company is now have to accept responsibility for the mistake that in its relative size to the company decision volume would be equivalent to a drop of water in a sea. I would not even attempt to put a price tag on this debacle… well someone in MS will have to.

Anyway, there is an important lesson here: do you know what your vendor is doing? Do you know whether code came from? Was there any lines borrowed from a competitor, innocent bystander, or open source? That issue is relevant to all your employees (something borrowed from a prior employer?), yet by far is much more serious when it comes to outsourcing.

I came across it on multiple occasions – from code to “research” produced by consultants. In many cases finding plagiarism was not difficult, I am sure that in many cases I missed it as well, especially if the contributor was smart enough to remove comments, or paraphrase.

As you can see from MS example that issue is of very serious of nature and should be of grave concern. Make sure that you educate your team and include plagiarism analysis in your code review process, at least on an occasional audit basis.

Too Much of Good Thing

A few days ago starting from a comment to my post I found a very interesting discussion of metrics on 360° Vendor Management. In his post Tony covered a few golden rules that are important to consider when introducing metrics in vendor management. I agree in general with most of the principles covered in the post and highly recommend looking at it as well as other materials publish in the blog.

While reading the post I came across of one phrase that triggered a serious of thoughts that I want to cover today. (Metrics allow you “Moderate expensive overperformance that the vendor need not do. Remember – you pay for the extra quality, which may not be tangible.” )

There are multiple negative aspects for vendor over-performance that you should consider:

Continue reading

Invisibility Cloak of MSA

A Master Service Agreement (MSA) is intended to create a contractual framework for relationships between parties involved. Unfortunately way too often MSAs are used to protect intentional incompliance with a spirit of the agreement. When MSA is written and negotiated the parties bring to the table their knowledge of the domain, in this case offshore outsourcing services. The party more experienced in the space can predict certain behaviors and relationship patterns and appropriately protect themselves from liabilities they bring. More so that party can take advantage of less experienced negotiating partner and create an invisible cloak that will be used to hide issues and drive higher profit from the contract.

I am afraid that sounds very theoretical, vogue and convoluted… Let me suggest a couple of examples:

  • As a service provider I know that customer is likely to be late on their deliverables and my team would be spinning wheels waiting on those deliverables. To protect myself from that potentially serious issue I will put a clause in MSA that would state that if I am waiting on the customer I am still getting paid. That’s just fair, isn’t it? Now, consider what I can do during negotiations – I can downplay the probability of customer delays (most likely using customer’s ego) and shape that clause in a manner that gives me a lot of flexibility. Then, when the opportunity presents itself I can induce waiting period and rip the benefits that already embedded in the MSA.
  • Another, probably most common area, is related to provider dealing with the resources on their side. There are many areas where supplier can negotiate “reasonable” terms that have nothing to do with reality of the situation. For example, if a software developer quits another developer would be put in his/her place and ramp up period should be the industry’s standard 2 weeks. Industry standard? When I bring onboard a new developer it takes 2-3 month for him / her to become fully productive how come it takes four times less with an offshore guy? That’s not the point though, no matter how many weeks of shadowing you might negotiate the realities of delivery against the item in MSA remain practically unknown, and thus could be manipulated to fit provider’s objectives.
  • Even a very straightforward items like “body count” becomes pretty vogue and unenforceable. Imagine that you are trying to count people in organization and people always move from one office to another. Getting the numbers right would be quite challenging. Just a few weeks ago i spend almost a week trying to figure out how many QA engineers I have on staff with my Indian offshore operations. The numbers varied greatly depending on who I’d ask. Most precise figures came from the vendor, in that light resorting to MSA as a lifesaver is only natural. Yet, if you think that if my development manager thinks that there are 2 QA engineers on his project while my provider tells me that there are 5, something is seriously wrong here. I bet it means that I get the work of 2 while paying for 5…

In general what makes an MSA an invisibility cloak is not bad intentions of the vendor, but buyer’s inability or lack of desire to enforce it by staying on the top of engagement. If you do not control the deliverables each step along the way, if you do not verify timesheets and assignments, if you hope that the MSA will prevent me from issues and problems of malicious or delinquent nature you will most likely fail. In that case the MSA will become opaque and impenetrable defense mechanism for the vendor. I guess Invisibility is in the eye of the beholder.

Steps to making an MSA transparent are obvious – focus on execution, control of deliverables, etc. Considering an example of team turnover. A realistic ramp up for a developer in terms of productivity would be 25% first month, 50% second, 75% third and 100% from that point on. In that case over 12 months developer produce 1050% of the monthly allocation. Suppose a developer quits after 6 months and spends one month training a shadow resource (it’s reasonable to assume that that between two of them productivity for that month is 100%). In that case total productivity over the year will be 975% or ~7% less. If we have two replacements over the year the figures would be 900% or ~14% loss of productivity.

That could be easily translated to the rate impact – if your rate for the developer was negotiated at $25 per hour in the second case you paid roughly $27 and $29 in the third. Of course not controlling these figures makes the difference invisible… The magic spell to make the cloak transparent would include linking turnover baseline to rate and more important watching it over the case of the engagement.

Force Majeure

Force Majeure (French for “superior force”), is a common clause in contracts which essentially frees both parties from liability or obligation when an extraordinary event or circumstance beyond the control of the parties, such as a war, strike, riot, crime, or an event described by the legal term “act of God” (e.g., flooding, earthquake, volcano), prevents one or both parties from fulfilling their obligations under the contract.

While working with offshore teams, in particular in countries that are subject to severer environmental conditions such as Bangladesh or Philippines you should never forget about how real Force Majeure is. For my pet project wwhow.com I use support of freelancers from Philippines in SEO and data entry tasks via oDesk service. Here is an email I just received from one of my providers –

Dear Nick,

We had experienced a typhoon Ketsana that hits our area tremendously last Saturday morning since then our power was cut due to heavy rains and floods. Floods were everywhere including in our home. Power was restored last night. In this regard, the two accounts were not able to finish the working hours load for the week.

Rest assured this week, we will continue to post quality deals and able to finish work load. I apologize for this unavoidable circumstances.


Kind regards,

Jennifer

Continue reading

Basics of Non-verbal Communications

I started talking about body language and non-verbal communications (commonly referred as NVL) a while ago kicking off the discussion with a picture of consummate liar. NVL is a general topic that applies across industries and domains, the reason I bring it up here is that NVL is exceptionally important during face to face interactions with your partners. The cross cultural aspect of offshore relationships introduces whole another layer of complexity to NVL, often complicating already perplexing aspects of communications. To understand it you need to have a solid grasp on basics of NVL. Crawl before you run so to say. Of course understanding basics of NVL will help you in many other aspects of communications both professional and personal.

Of course this post is only a few brash strokes on a canvas – if you find NVL topic of interest you may want to look into a few books which I found helpful. Anyway…

Body language or non-verbal language refers to conveying messages without words. We are accustomed to use common gestures which are the “words” of NVL for example nodding your head in agreement or shaking it in disagreement, facial expressions – smile, frown, disgust, etc. Many or NVL “words” are much more subtle though. They do communicate message to outside world sometimes much louder than plain words would.

In a personal spoken message according to Albert Mehrabian (Psychology Today, 1968) the total message is communicated via:

  • 7% is conveyed by the words
  • 38% by the vocal tones, and
  • 55% by facial and body expression

How about that? More than half of the message comes across via body language! Talk about the Cons of outsourcing! When you work with someone and do not see him or her the chances are you will miss half of what they are saying or it will take twice as long.

More so the body language is less controlled by our conscious mind and often radiates the true message. Just look around and you will see plenty examples of it. I started writing this post while on my way to the office in BART, as on purpose to help me with an example a couple walked in the car and sit across. The couple was having one of those discussions: her eyes were red and full of tears; they sit on the bench at least a foot apart, her fist were clinched and body pasture uptight / uneasy. He was much more relaxed and appeared in control, he was the one doing all the talking in very persuasive somewhat mechanical manner, the topic was apparently very emotional and she was hanging on his every word, looking deep into his eyes. I could not hear a word yet it was somewhat clear that he did something that had hurt her and now was explaining / asking for forgiveness. By the Fruitvale station there was no more distance between them, his arm was on her shoulders, at the West Oakland they kissed lightly, by the Embarcadero station the kiss was real, the fight was over, and the guy was forgiven. She relaxed as if the seat suddenly became 100 times cozier and looked so much happier, so did he… What she did not see during the conversation, as she was maintaining that rare unbreakable eye contact, was his body language and all classical signs of deception. For me as a side observer sings were obvious as if I was watching an NVL training tape – here is the hand to mouth move, now he’s rubbing his neck, and here goes that proverbial blinking… As I was walking out of the car I saw her happy smile. Isn’t love grant?

There are a few very important elements to reading NVL:

  • North American gestures do not necessarily represent gestures correctly in other ethnic cultures. As a matter of fact you need to make sure to read up on foreign NVL before getting involved in face to face communication with your offshore partners, innocent or positive gestures could be offensive in other cultures, e.g. infamous American feet on the table the gesture that is extremely impolite in many cultures and exceptionally offensive in the Middle East.
  • Many people can easily control what their NVL broadcasts to the outside world in an initial stage of conversation or its “static” stages. For example anyone can start a conversation with a smile, specific body position, etc. As the conversation moves along and becomes more engaging / more emotional the mind loses its control over NVL. If you are trying to read NVL pay specific attention to changes in NVL. Changes in NVL are significantly more important than “stance” or specific elements of NVL displayed for a period of time.
  • You are probably not the only one who is NVL aware. More so some people put substantial effort in mastering in NVL outbound communications and use it as powerful deception or influence techniques. For example a powerful technique taught in many sales classes is mirroring – mimicking conversation partner’s body language. Mirroring is known to increase chances of positive outcome of the conversation – closing the deal; it comes from one of core principals of influence theory; that’s a whole another topic for discussion.

Well, that probably covers the main elements of the foundation.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to Ma.gnoliaAdd to TechnoratiAdd to FurlAdd to Newsvine

The Darkest Side of Outsourcing

While writing a post on a topic of personnel impact of the offshore outsourcing I had to go through a rather unpleasant exercise – I had to terminate one of my employees. Termination is never fun, it is particular painful on a backdrop of economy downturn. Through my career I had to let go a great number of people, mainly due to the industry’s downturns / massive layoffs. Layoffs are painful yet the sheer size of the event makes it easier on everyone. Things tend to go much more close and personal when you have to let go someone on a performance basis.

Reaction of the person being let go on a performance basis is very difficult to predict and control. I have seen budges fly in my face, verbal explosions and threats, I have been in situations when I had to call security and once got very close to calling an ambulance. This time it did not go particular well either. The employee got agitated, angry and quite upset with the unfairness of the event. After the termination the direct manager of the employee and I started receiving harassing calls from a blocked number on our personal phones…

Sending jobs offshore is likely to create a few enemies. For example when I introduced offshore concept in Spear Technologies one of my key employees came back with a common in this case blackmail techniques: “I’ll quit”; he did not, just remained never ending pain in the neck. Two other people quit citing offshore decision as one of main reasons. If sending jobs offshore means layoffs things can get quite ugly. Especially if the laid off employees are picked on a performance basis, what is quite typical and the right way to go, especially in smaller companies.

Performance based termination rarely goes well, and sometimes goes exceptionally bad. It was not long ago when a laid off employee took lives of executives of his company in a Santa Clara startup. As my CEO put it “There is too often a thin veil that covers members of society and when the wind blows, the veil can come off. After 10 years in the emergency department I can tell you that apparently senseless violence is hardly rare. The details of this occasion are making headlines but frankly not the violence. Very sad to me is not just the violence but the lack of priority or even care for this guy’s own family. He destroyed more lives than he ended.”

I’ve written about potential pitfalls of outsourcing and will write more. You should move carefully and make educated steps when outsourcing, if your offshoring decision is causing / associated with local job losses be exceptionally careful. You could be making the decision based on spreadsheets and what if analysis, for better good, the company survival and bottom line needs; for you that might mean “nothing personal” yet for those who are about to face job search in today’s market it will be very personal. To minimize potential backlash consider a few general tips:

  • Deliver clear and consistent communications with messages covering reasons, expected goals and objectives, as well as processes behind. The communications should in general precede the events and continue on long past them.
  • Do not cut the jobs across the board. Rather, make the tough decisions to selectively cut jobs. Do not disguise performance based termination as layoffs.
  • Focus on those who stay, yet remember that “survivors” will judge you / organization by the way layoff was conducted and downsized employees were treated

Associating introduction of offshore with layoffs – replacing local workforce with offshore resources is double hit on remaining workforce with inevitable impact on employee morale and overall workforce quality:

  • Employee motivation will disrupted with result in increase in political behaviors, anger, fear – which is likely to negatively impact quality of customer service, performance decline, and decline in quality of work atmosphere.
  • “Survivors” experience more stress due to longer work hours with re-designed jobs, and increased uncertainty regarding future downsizings.
  • Senior and the most marketable employees may leave with result in decline of overall quality and qualification of workforce and loss of institutional memory.

This post was not intended to be “all gloom and doom”. Not many people make offshore decision just for the fun of it. Outsourcing is only one of the tools IT leadership has at its disposal today and as any tool it has its dark side. Knowing that side should help you apply the tool properly and minimize collateral damage.

And the last tip for now – if you are planning to replace some of your local underperforming workers with offshore resources get unlisted – make sure that your personal contact info is not in company directory, white pages, linkedin, resume, etc. – not a trivial task nowadays…

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to Ma.gnoliaAdd to TechnoratiAdd to FurlAdd to Newsvine

Top 10 Reasons NOT to Outsource

Remi Vespa suggested an interesting topic in his 10 reasons NOT to outsource; while I agree with most of the points he made, my top 10 would be somewhat different:

1. No reasons to outsource. Let me clear a suspected circular reference here: take a look at my earlier posts Top reasons for outsourcing and My reasons to outsource; if your reasons for outsourcing are not listed there and more so after some reading and thinking appear to be superficial, they probably are.

2. Personal. If you do not believe in outsourcing, if it could present a clear and present danger to your career, or outsourcing is likely to affect your life in some tangible negative manner (take a look at Offshore Risks: Team and Personal Impacts for some hints) stay away from offshoring as far as you can.

3. No executive support / sponsorship, no organizational / team support. If you running and uphill battle in your organization – your execs do not believe outsourcing is beneficial for the organization, if getting appropriate funds is questionable, if your team doesn’t support you. Well, maybe you are agent of change, yet still, you need to pick your battles.

4. Low risk tolerance. Your organization / your boss / yourself do not tolerate risk well and have high penalties for mistakes. Trying offshoring in environment like that is a very risky proposition.

5. No appropriate opportunity. There is always a risk in applying such a powerful yet delicate weapon as outsourcing to tasks that are not made for it. And there is not much use of trying to fit square pegs in round holes.

6. No offshore-ready management resources. If you and your management team doesn’t have any experience with outsourcing you might be better off without it unless you are mentally and financially ready to sustain a lot of pain.

7. No processes. If your organization is process free or still straggling to achieve CMM1 inviting outsourcing is likely to cost you an arm and a leg, so stay away from offshore, unless of course you’ve got spares.

8. You need to cut costs, now. Properly handled and with a bit of luck offshoring is likely to show some cost savings, yet as they say it takes money to make money. Your need to invest before you realize the savings. So if your need to immediately make up for the luck of sales or some other reasons behind a deep dive in P&L you might look for some other cost saving techniques.

9. No sufficient runway for taking off. Getting offshore engagement off the ground and getting it to the point it starts delivering value is not a trivial exercise. Do not expect immediate gratifications nor even start on that route if you have not enough runway (funds, time and energy), there is no glory in crash-landing.

10. No runway to land. No matter how skillful you are, how well financed is the project, how perfectly it is executed there is still a chance that your offshoring engagement fails. If that failure is likely to cause substantial damage, if there is no way you can safely terminate the engagement think twice before starting it.

Of course many of these reasons and the items listed in Remi’s post can be dealt with, risks mitigated, and challenges addressed. Nevertheless you should not take any of them lightly and do not move forward with your outsourcing initiative till you take the last item off your Top Reasons NOT to Outsource list.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to Ma.gnoliaAdd to TechnoratiAdd to FurlAdd to Newsvine

Pros & Cons of Outsourcing to Latin America

Latin America offers one of the best options for nearshore outsourcing for the USA and Canada. It also offers great resources for Spanish localization projects getting increasing important in the states. Latin America offers a large spectrum of options roughly corresponding to the countries in the region covering almost entire alphabet from Argentina to Venezuela. Each country has its own specifics and its own set of Pros and Cons; the differences between countries could be dramatic, compare for example political climate in Mexico and Venezuela. There are still enough commonalities to considering covering of Pros and Cons for the entire region.

Infrastructure. The quality of infrastructure varies greatly from country to country but it’s quickly catching up to the required standards across the region. In countries leading of LA outsourcing – Argentina, Brazil and Mexico the infrastructure is likely to meet or even exceed your expectations, but even in countries far behind the quality is still acceptable. I was surprised how solid the infrastructure was in Chile or some cities in Bolivia. One thing is extremely important – the high quality infrastructure could be found mainly and sometime only in industrial areas of these countries. It is not at all as pervasive as it is in the USA. You must validate infrastructure sufficiency before moving forward with the vendor. The simplest way to do it at superficial level is to request a video interview over Skype.

Operating Environment. Flying to Sao Pao and getting to your vendors’ HQ is Campinas takes a while but small time difference makes it much easier to deal with than while travel to China or India. Working in many of the LA countries would not be extremely complex, challenging or dangerous. You have to know where to go and where not to but chances are you will be safe and can get your job done. Chances are your vendor operates from some of the country’s most industrially advanced area with decent standards of living and acceptable infrastructure. Of course language and cultural differences can create some challenges typically easily dealt with considering general hospitality of the region and with a little help from the vendor. All that ease falls of the cliff as you step out beyond the borders of the industrial areas. Destitution of the rural areas for most of LA countries is truly disturbing; my honest advice – leave these areas to National Geographic and Peace Core…

Skills Availability. Skill availability for high tech occupations depends on specific country / city. In general it could be characterized as medium to low. Generally you can build a small team of Java or .NET developers in somewhat reasonable timeframe, but size of the talent pool is microscopic when compared with India and China. The quality of the pool helps to some degree make up for its size, but only to some degree. In my experience putting together an 8 member team of high quality Java developers / QA engineers took over 4 months. I have to say that my quality requirements were very high and I was looking for somewhat unusual set of specifics. When you are after more run of the mill skill set you probably would have easier time. Legacy technology skills and enterprise applications skills are even less common.

English Skills. Not as good as you’d expect… and why would you even expect? I worked with many countries in the region and in each of them I met engineers who spoke English better than I, but in general you have to be prepared for language barriers or for substantially impaired hiring if you make fluent language skills a mandatory requirement. Written communications appear to be in better shape across the board; however, they still cause a drop in productivity for many of the team members.

Cultural Compatibility. I find cultural differences with LA workforce some of the easiest to bridge. That could be me personally as there are a plenty of differences to be notes. A few most important areas that I have observed while working on technology projects:

  • Developers on LA teams took very long time before they could to offer their opinion or disagree with USA team members.
  • Facts and technical quality of solutions carried less weight with LA team when it came to conflict with personnel influence. For example a less efficient solution was accepted just because it had a lot of hours invested by the team members. To appease someone / protect their feelings was enough of a motivation in making core technical decisions.
  • A very high emphasis on theory and academic values versus pragmatic business decisions.

Take a look at Cross-Cultural Communication Between Latin American and U.S. Managers for a good list of the most significant differences.

Rates. LA offers great variety of rates that depends on the country from relatively high in Argentina and Brazil to moderate in Chile, Bolivia, and Uruguay. While the rates by themselves tend to be on a high side they are fairly attractive when taken into consideration with “the entire package” that includes short / no time difference.

Resource Turnover. LA countries offer better turnover rates than many of other regions. At the same time turnover on some of my / my friends’ projects outsourced to LA showed fairly high ratio. That seemed to be related more to a specific company rather than the region.

Resource Quality / Technical Capability. Quality of resources varies greatly from a country to country, from a city to city, and specifically from a provider to provider. However, in general technical capabilities of the resources are quite impressive / above average. I was able to find people with in-depth understanding of cutting edge technologies and with proven experience of working with fairly recent methodologies in many countries across the region. There is also no shortage of resources when it comes to mainstream skills such as Java / .NET / C/C++. Legacy technology skills and enterprise applications skills are less common though.

Of course one of the most significant Pros of the region it’s nearshore advantage, mostly linked to little / no time difference. The impact of it is difficult to overestimate – small time difference, similar holiday structure and bridgeable language differences makes working with teams in LA a great experience.

Pros and Cons of Outsourcing to India

India offers the most developed, experienced and sophisticated outsourcing community. No surprise – embedded advantage of ESL, huge supply of IT talent, and low standards of living made it a top destination for IT outsourcing long time ago. Y2K and management talent solidified the success creating multi-billion dollar giants and changing ethnic landscape of many cities in the USA. As I mentioned in Offshore Vendor Selection: Choosing the Destination “if your risk tolerance is low and/or your organization is new to outsourcing go to India, you can not get fired for hiring IBM. Go to India if you have to choose on a spot, or have little knowledge of outsourcing, or have to deal with large scope ERP implementation, or … as a matter of fact if you have to ask this question chances are you should consider India as your top destination.” Now let me put a few bullets here supporting my statement:

Infrastructure. Unless your partner is tiny and located in a 3rd tier city you won’t have any problems with infrastructure. Well, you may have to deal with some irregularities in connectivity due to some natural disasters, it gets quite rainy during monsoon season out there, but I tell you that: we use AT&T as our internet provider in our San Francisco office and once in a while they drop connectivity despite blue sky and sun outside. With a huge supply of IT services in India you can find infrastructure that would cater to most ridiculous demands.

Operating Environment. Flying to India is far from fun especially from the west coast, in particular if your company doesn’t cover first class travel. 30 hours in transit plus you arrive there in the middle of the night. Unless you time your trip well the nature would great you with heat and humidity. Flying back could be so much better if you did not need to deal with airport lines and crowds. The good part, that’s pretty much the extent of the adversities. Chances are you will be staying in a good hotel, will have a personal driver, eat in good restaurants, and even corruption is wide spread in India at all levels you most like won’t need to deal with it.

Skills Availability. That’s is one of the strongest Pros of the country. No matter what skill you are looking for there will be at least 10,000 people who have it. Well, more seriously, the supply of IT talent in India is outstanding, some areas more than others of course. Mainstream technologies of today and yesterday – Java, .NET, C/C++, ERP, Cobol, etc. – have substantial oversupply. You also can find a lot of talent even on a cutting edge of the technology. The quality of the talent follows the bell curve and nowadays the median has gone up comparing to late 90th.

English Skills. Well, that’s a hidden gem isn’t it? Of course with English being widely popular in India the main issue you would need to deal with would be an accent. Maybe some idiomatic expressions, some speech forms, etc. but generally it is not an ever a showstopper and forms a huge Pro of the country.

Cultural Compatibility. While there are a plenty of cultural differences between India and USA I would put the Cultural Compatibility in a category of Pros, here are a few reasons:

  • The cultural differences on business side were not so dramatic to begin with considering history of British influence on legal and business system of India.
  • Resources from India have been in this country in large numbers and for a long time. People in the USA learned the differences, behavioral patterns, and idiosyncrasies to a pretty good degree.
  • Many Indian vendors invest a great deal into cross-cultural training as well as in accent training. As a result the gap between cultures is narrowing considerably.

There are of course cultural differences that are deeply embedded in people’s psyche, here are a few most notable:

  • “Never say No” or “Yes to Death” – while working with Indian resources you always need to keep in mind that they might have a very difficult time say “No” in any shape or form. “Can you do that? – Yes, we will do Nick.”, “Do you have access? – Yes we do Nick”. That doesn’t mean that they can cater to any need or demand, they just can’t say NO.
  • No bad news is a no-news. While the times of chopping off bad news barer heads are over, the habit is still there. So if you do not hear about bad news, it doesn’t at all mean that everything is going well, it just simply means that you do not hear / do not know what is going on.
  • Motivational hierarchy. Of course Maslow’s Pyramid rules. But there is a plenty of subtle differences in how its upper levels translate for a specific culture. Not bad / not good – just different. For example, personal success in India outsourcing is often measure in number of people the person supervises. “I have 100 people under me…” That pushes good developers away from the technical track towards managerial with inevitable profound negative impact on technical abilities of the organization.

Rates. India rates fall neither into Pro nor into Con category. They are benchmark against which other rates are compared. And I guess that makes for a nice segue into Cons discussion:

Resource Turnover. Turnover is very high, it is high to a degree that it almost outweighs all pros of the region. See my earlier post Myth for more thoughts on the subject.

Resource Quality / Technical Capability. IT Outsourcing proved to be a rather lucrative business for many social groups in India – entrepreneurs, engineers, education providers, etc. Millions of people moved into the field in the Golden Rush of the century. As a result average quality of resources started going down to a degree that even time-proven trademarks of quality do not work anymore. Not long time ago I was stunned when I had to fire a consultant for incompetence; the stunning part came from the fact that he had a master degree from IIT.

One more Con related to the Golden Rush is worth mentioning: huge number of companies with a large number of low quality fly-by-night vendors makes it extremely difficult to find a right provider. It’s very much like looking for gold – you have to go through the tons of dirt to find the right substance. However, you are looking for gold, and one thing I am certain of is that you can find that gold in India.

Pros and Cons of Outsourcing QA

I saw a question on LinkedIn early this morning on a topic I was planning to cover “Pros and Cons of QA Outsourcing” – I jumped to the answer and typed up an answer while on BART, ironically it turned out to be too big for LinkedIn and so I decided to put it here. The answer is not complete and I am planning to come back to it some time. In meanwhile here are my thoughts:

1) Outsourcing QA is often a meaningful thing to do, an easy way to start and a potentially very dangerous trap. In particular companies that shed internal QA resources and move their QA operation abroad typically pay the price in knowledge loss and ultimately in degradation of the product quality. I have seen it on numerous occasions. QA engineers in well run teams often have better product knowledge than any other part of the organization, and offshoring that knowledge falls in a category of “outsourcing crown jewels”.

2) Companies in US often consider outsourcing QA for all wrong reasons, like for example “Cost”.  Cost advantage is just a myth, see my earlier post for details Outsourcing Myths: cost advantage. And going offshore for wrong reasons is guaranteed to give your wrong results.

3) QA as a subset of IT field offers a few interesting dynamics

a. It’s one of the most important areas of SDLC which typically is given the least attention.

b. The average quality of talent pool is dreadful, independently of geography. There are many reasons for that, for example here in SF Bay Area one of the main reasons is huge pollution of the pool by fraud and mediocrity – I met 100s of people who fake their QA background or think that a couple months of homegrown education makes them top notch professionals.

c. A perception of QA skills/occupation as a substandard one. It takes as much IQ to become a solid QA engineer as a Java developer, maybe more, but what can you do about perception? As one the best QA guys I’ve eve met put it talking about his resume “going to QA is like going to morgue – there is no way back”. And why don’t developers enjoy testing? Because it’s hard, it takes serious effort to put together a decent test harness, to organize your code, etc. Yet look at the average salaries, at layoff patterns, offshore dynamics – the trends are obvious.

4) Good QA engineers, automation specialists, functional testers, etc. like any other good resources are not easy to find, considering the quality of the pool, much harder. So it’s no surprise that that many organizations after interviewing a couple dozens of key-punchers who can’t tell the difference between priority and severity and ask for $90K move to offshore. The problem with such decision is obvious – it is as difficult to find good testers in Bangalore, Kiev or Beijing as it is in Boston. Of course a large supply of IT talent in countries like India and China makes it so much easier, yet the vendors in these countries have a plenty of own issues and challenges. Outsourcing the problem will not eliminate the problem, it only passes it to a different organization which is hopefully is better equipped to deal with it… But is it? Is your perspective vendor better equipped to do your job? How do you know it? By their brochures? Having interviewed hundreds of engineers in Asia, Eastern Europe, and Latin America I can tell you with certainty – far not ever vendor is equipped to do so, many of them are squarely in a business of selling mediocrity in bulk, and the quality of the resources is far less impressive comparing to what you can extrapolate based on what you see locally.

5) Having said all that I have to state that I still outsource a lot of my development and QA activities and get great results from my partners. There are a few ingredients to that success story, here are the most important:

a. Rigorous vendor selection process with the focus on “the match” between my organization and vendors’. Search for the match on multiple dimensions.

b. Resource augmentation and joined teams rather than complete outsourcing.

c. Abundant communications in all forms with fair portion of face-to-face meetings and on-site / offshore swaps

d. Control and ongoing preventive maintenance in all aspects of the engagement.

e. Adjusting SDLC to accommodate for idiosyncrasies introduced by offshore.

f. A “disposal outsourcing” model that I worked out with my one my partners – augmentsoft panned out quite well in QA arena.

g. Working with nearshore partners was much easier in many aspects especially when running agile projects.

Offshore Destinations: Russia

I was born in Moscow, USSR and the word “Russia” in my mind associates with a large empire of 15 republics. Things since than have changed dramatically and referring to some of the parts of ex-USSR as Russia is not just politically incorrect. Yet you are likely to hear about Russian outsourcing even if the ODC is located in Minsk, or Kiev. As a matter of fact in many respects outsourcing landscape of Byelorussia, Ukraine, and Russia has a lot in common. More so, large outsourcing organization such as ePAM, Luxsoft, and others have offices in these countries. Most of other countries of ex Soviet Union do not play significant role in offshore market, some due to low density of IT talent, some due to high cost. While offering in these countries exist, and you may find great providers in Estonia, Moldova, and others, in terms of outsourcing statistics these countries would be a rounding error. With that in mind let me cover some Pros and Cons of doing business in Russia.

  • Infrastructure. IT infrastructure in large cities of Russia is very good; smaller, second tier cities lag behind, the difference if pretty dramatic. Generally today you will find sufficient network bandwidth, stable connectivity, and solid pool of Sys Admin talent that would allow you stay in touch with your ODC. The cost of it will be not inconsequential though and needs to be taken into consideration. A very important aspect of infrastructure which you need to asses is vendor facilities – it is difficult to find well equipped offices with quality server rooms, etc. that is especially serious for companies with offices in second tier cities. In my view Pros here outweigh the Cons.
  • Operating Environment. Running offshore engagement with Russian ODC will offer many operating challenges even if you stick to tier one cities (for the purpose of this discussion that’s Moscow, St. Petersburg, Kiev, Minsk). Getting to these cities is fairly easy, they offer great selection of hotels, solid municipal infrastructure, and … mind boggling prices. As I heard Moscow has been recently awarded with a title of the most expensive city in the world with St. Petersburg following it closely. Second tier cities are substantially cheaper but you get what you paid for in terms of quality of hotels, food, transportation, etc. Another issue to be aware of is high crime rate (accidental traveler be aware!) and very high rate of corruption. Corruption could become a very serious obstacle for models involving ownership of the resources such as BOT. With caveats considered I would still put Operating Environment as a Pro of doing business with Russia.
  • Skills Availability. That is in my view is one of the weakest traits of the region. First at a very high level, Russia produces IT resources at a fraction of speed of the countries such as China and India. This problem is exacerbated by fairly consistent internal demand for IT resources and high geographical dispersal of the talent pool. In large degree Russia talent pull is already exhausted. Pretty much everyone who is interested in working in offshore organization is already working for some client, often for several, as many of talented engineers work several jobs, moonlight or find other ways of get themselves reasonably compensated. Finding software aces is challenging even in second-tier cities, in the first tier cities it’s practically impossible.
  • Cultural Compatibility. My experience in that arena has been surprising to say the least. I left Russia in ‘91 as an accomplished technology professional with almost 10 years of experience under my belt. I had not expected to have any problems in dealing with companies in Russia and yet I found it easier to work with companies in India instead. Some of my greatest pains came from several areas of communication / work related behaviors.
  • Customer is always right… Maybe, but not in Russia. As a matter of fact the vendor seems to always know what I want better than I do.
  • Being “Politically Correct” is not a Russian way. However, while I prefer straight forward communications I do not enjoy when my vendor is rude to me or more so to some of my employees.
  • Work ethics. Very sensitive topic, I have seen many great, hardworking developers in Russia, but unfortunately they seem to be outnumbered by short-timers with “get money and run” attitude.
  • There is one interesting aspect of Russia’s culture which while “positive” contributes to the difference – attitude towards education. It is amazing how many highly educated people you find among Russian developers and even QA engineers. I am not talking BS, I mean Ph.D. and above. While by all means commendable quality the negative impact of it is actually multifold: theoretical approach to problem solving, abandoning career for the sake of education, investment in education at cost of work skills, etc.
  • English Skills. In my opinion English skills of Russian outsourcing community are at the level you would expect them to be with a typical bell curve distribution and the median being at acceptable level.  Chances are you won’t have problems understanding developers and would be able to carry on a rich conversation with account managers and other client facing resources.
  • Rates. Rates of Russian development workforce vary greatly depending on location. Rates in T1 cities are very high, often making Russian outsourcing to be cost prohibitive. To deal with this issue many T1-city based vendors diversify by opening locations in small cities.  Rates for smaller city are as the standards of living in those cities – they fall off the cliff as soon as you move 100 miles outside of the tier one city boundaries.  However resulting rates continue to stay on a high side comparing to India’s.
  • Resource Turnover. Turnover tends to be on a low side comparing to India especially in a T2-T3 cities. The trend is however discouraging – according to what I hear from my network the turnover rate has bean steadily growing correlating to growing demand and increase in expected standard of living.

Let me close this post on a positive note covering one of the most important Pros of Russian outsourcing community – its Technical Capability. For many reasons Russia IT community in many cities in Russia offers above average technical capacity, innovation and creativity. That is particular notable for boutique vendors from St Petersburg, Moscow, Kiev, Minsk and Novosibirsk as well in the top echelone resources from lagre Russian outsourcers.

Vendor Selection in China

This post is a summary of vendor selection trip to China made for a purpose of s/w outsourcing initiative for a midsized product company. The main focus of the trip was “profiling” of the vendors that made on a short list after a rather involved RFP process.

Profiling involved in-depth interviews of employees ranging from Sr. PM to Jr. QA analysts. I had a chance to interview over 60 people, and I believe that I had a chance to work with a somewhat fair sampling. I would expect that if employees were selected for interview completely randomly I would have the same professional skills ratings but English skills ratings would be substantially lower.

The table below presents a summary of my view on the software teams I’ve seen during the trip. Professional skills are rated from 0 to 10; 0 means no knowledge of the key subjects, 10 means exact or above expectations for the position. English skills are rated from 0 to 10, 0 means no knowledge, 10 means fluent (strong accent, minor grammar mistakes, etc. acceptable).

Position Professional Skills English Skills Comments
Account Management 5-8 6-9 I did not interview AMs per se, I had a plenty of time to observe their work though. Skills / understanding of AM practices were not at all impressive. While the hospitality was truly commendable understanding of AM activities was far from what I would expect from professional AM / sales / presales team. In particular the ability to listen and concentrate on my needs versus out of the box presentations and sales pitches was not demonstrated.
Project Management. 4-6 5-8 I interviewed 2 PMs, 2 were dreadful, one good, the rest were
semi-decent but junior. Most of the PMs had almost no theoretical
knowledge and border-line acceptable hands-on skills; only one was PMP
certified, unfortunately he needed an interpreter to communicate. Real
hands-on PM experience was ranging from 2 to 6 years. Most of the PM in
US terms could probably be ranked somewhere between a Project
Coordinator and Junior PM.
Business Analysis. 3-5 3-7 Unacceptable. I interviewed at least 8 of them and the only one I
would possibly consider was a junior Indian girl. Most of them had
moderate English skills, but still far less than you would expect from a
BA. Their skills in written English were notably better but they really
straggled in spoken language; understanding them was a challenge as
well. Their domain expertise was not impressive even for the projects
they worked on. Functional skills such as ability to gather requirements
were very poor. Technical skills such as data modeling skills were
practically non-existent.
Junior Developers (“coders”). 3-8 4-8 Developers range from very bad to pretty good. Most of them offered
very poor theoretical skills and narrow and shallow practical. Need to
be hand-picked, but there is a large pool to draw from. I would expect a
hit ratio of 1 out of 4. I saw great deal of desire to succeed and
multitude of signs of superb work ethics.
Senior Developers (“architects”) 3-6 3-5 Very poor, most of them at best would qualify for mid-level
developers. English skills are notably worse than juniors. The more
senior the person is the more difficult s/he is to understand. The only
good guy I met (would rate highly in Silicon Valley) required an
interpreter.
Technical

Leads

5-6 4-7 Mediocre. Probably not self sufficient on tasks requiring dealing
with complex technical issues. They seem to be generally a combination
of a mid-level developer with a junior PM. I would say on both PM and
technical accounts they are a notch lower than I would expect in the
USA. On the other hand I saw a very strong drive / desire to succeed
which could possibly compensate to some degree for the lack of
knowledge.
Junior QA, Black Box 6-9 5-10 Testing skills ranging from good to very good. English at pretty
decent level (most of them came from English studies or had lived in
English speaking countries). Most of the QA analysts I interviewed
seemed to have a great personality to position match.
Junior QA, Automation 4-5 5-7 Very small pool, most of them were mediocre at best with very
limited exposure to tools. Typical “record and play back” skill set.
Most of them had a career path of black box tester to an automation
engineer (no development background).
Senior
QA, Automation
4-5 3-5 Bad. I saw only four of them though; both skills and language were
below mediocre.
QA Lead 7-8 5-8 I saw 9 QA leads and all were OK, nothing spectacular but very
focused, detailed oriented, well organized, etc. Good grasp on QA
process (very specific to the company’s process though). Understanding /
grasp of QA automation at very basic level.
General Management 5-10 6-10 Very strong business leaders with outstanding work ethics and
commendable drive. Mostly ex-pats / returnees from Western countries /
Hong Kong / Singapore. However some of them were not professionally
strong as they seem to be able to get the jobs on the raising wave of
outsourcing mainly due to their western credentials. For example one of
the execs I met was a Ph.D. in theoretical physics with no prior
consulting / sales / software experience, very smart guy with very
little experience / exposure / understanding…

S/W Development Outsourcing: China vs. India

A few months ago I went through a vendor selection process for a technology company in SF Bay Area. The goal was to find a vendor that would become a long-term partner / a part of a local development team. My clients were set on considering only two countries – India and China.

The size of a potential outsourcing deal was fairly small: ~15 people. That would roughly correspond to $1M on annual basis. The size of engagement was still big enough to give us a chance to pick a company from a large pull of vendors who seemed to be interested. Here are some observations based on our analysis:

Rates

In both countries we saw a plenty of companies prepared to compete on price and go very low just to get the deal. Larger / more mature companies had notably higher rates, many of them with very similar message “We are by far not the cheapest but we are the best”. Considering companies we liked the rates for India depending on position and company were roughly between $20 and $35 an hour with blended rate for our team ~$30; the rates for China were roughly between $15 and $30 an hour with blended rate for our team ~$20;

Access to Resources

Access to resources in high-tech centers of India is getting increasingly complex, finding It talent ion cities such as Bangalore is almost as complex as in San Francisco. Outsourcing companies also have to compete with subsidiaries and offshore divisions of multinational corporations such as IBM, Microsoft, Accenture, etc.

We still were surprised with how difficult and slow the sourcing process was. It seemed that finding even mainstream roles such as .NET developers or Winrunner QA guys was practically impossible.

We found that access to resources in China was not as complex. It appeared that companies in China were able to staff up for a project 3-5 times faster than India companies. In example confirmed by the references it took 2 months to build a 30 FTE team versus 9 months for the same by Indian Tier 1 InfoSys.

Resource Quality

The companies with $5M-$20M revenue range (our target based on scope of outsourcing) fall in a group of 3rd to 5th tier companies with inevitable impact on their access to resources which is exacerbated by general scarcity of IT talent. So it was not a surprise for us to see very poor quality of resources. Our average “hit rate” (number of people we would consider for “hire” vs. people presented to us by the vendors) was 1 out of 4.

Companies with the same $5M-$20M revenue range are the first/second tier companies in China with top pick in off campus hiring as well as other methods of employee sourcing. We saw that as a solid, and possibly the most important, advantage for Chinese firms. However our hit ratio was even lower than in India – 1 out of 5.5 due to serious communication / language handicap.

Concentrating only on those resources who we considered potential “hires” we saw a decent blend of theoretical and practical knowledge with some diversity in skills / background / experience in India. Our potential “hires” in China showed rather weak theoretical knowledge across the board. Their practical skills were solid yet extremely narrow; most of the “good” people we talked with were “pigeonholed”, and did not seem to mind.

Employee Turnover

Getting honest information about turnover, retention and attrition seemed practically impossible so we got the numbers from unsolicited references rather than from the vendors.

Most of the large s/w outsourcing companies in India have turnover rates exceeding 30%. Attrition is particular high in large centers such as Bangalore, Hyderabad, Mumbai, New Delhi. For small companies it is not unusual to see offshore staff turnover rates exceeding 50%.

Turnover rates in China outsourcing industry are under 25%. The companies that were selected claimed to have attrition rate about 15%. We saw low attrition rates as probably one of the greatest advantages of China over India.

Communications

There is no comparison in communication skills of consulting work force in India and China. Command of English language for majority of people we interviewed in India was far stronger than mine. In China the situation was opposite, more so the more skilled and senior the resource the lower his/her language skills.

Language in just one of many dimensions of communication. There are many skills important for bridging cultural differences and communication gaps. When it comes to dealing with USA companies Indian consultants have a huge lead on Chinese in many aspects, just to name a few:

  • Body language / facial expressions – much easier to understand and follow
  • Overall presentation skills
  • Understanding of professional lingo
  • Grasp on general rules of professional communications and office etiquette

With communications being one of the most important aspects of majority outsourcing initiatives India have a huge lead on China.

Mindset & Work Ethics

Talking with a large group of reference accounts (including unsolicited) gave us an interesting insight into mindset and work ethics of development teams in India and China. Here are a couple things that people had general agreement upon when it comes to resources from Indian vendors:

  • A mindset of typical outsourcing company is oriented towards revenue / profit and is focusing employees towards “billing hours” rather than customer satisfaction or success of the project.
  • High turnover rates and general acceptance of job hopping have devastating impact on resource’s attitude and work ethics.
  • Majority of consultants have over-inflated expectations in terms of their seniority, type of work they should be doing, and a speed of promotion.

We heard much more favorable assessment of mind set and work ethics for Chinese workforce:

  • With aggressive market share oriented drive of China s/w outsourcers employees of these companies are focused on high productivity and customer satisfaction.
  • Workdays of 10-12 hours are not at all unusual (note that billing is typically negotiated on monthly basis with 8 hour workdays).
  • There is a strong prevalence of team values over individual.

The workforce work ethics present one of great advantages of the outsourcing companies in China. Combined with lower levels of flexibility in job market (partially due to the country’s political and economical structure) the work ethic to some degree offsets luck of knowledge and experience.

Total Cost of Outsourcing

And finally – Total Cost of Outsourcing (TCO). TCO is the cost that accommodates for the communication overhead, lower productivity, and all other costs that are not reflected in the rate. In a large degree assessing the TCO requires substantial experimental data with a specific vendor. Based on a survey of the references during this engagement, my own experience and experience of similar companies in terms of the structure and the scope of outsourcing we came up with interesting numbers presented below. The numbers are presented as a percentage of savings / losses over typical full time employee rates:

Project Type India China
Small R&D projects Loss 25 – 45% Loss 30 – 70%
Large R&D projects Loss 10 – 15% Loss 10 – 15%
Small mainstream projects Loss 10% – Saving 10% Loss 15% – Saving 15%
Large mainstream projects Savings 10 – 30% Savings 15 – 45%
Large QA (black box) projects Savings 15 – 30% Savings 25 – 50%

Pros and Cons of doing business in China

From 30,000’ view Pros and Cons of giving your outsourcing business to China could be summarized as

Pros

  • Comparatively low rates
  • Low attrition rates
  • Large pool of talent in many areas
  • Superb work ethics of the workforce
  • Well organized / highly disciplined organizations
  • Staff’s desire to succeed (learning and becoming stronger professional rather than pure career move)
  • Flexibility of the contract arrangements

Cons

  • Poor English skills
  • Weak grasp on western communications style, wide cultural gap
  • Poor theoretical knowledge in many key areas
  • Weak technical skills in comparison to the mainstream Silicon Valley resources
  • Limited access to resources in several key areas (e.g. business analysis, architecture)

For most outsourcing initiatives that I managed and consulted on Cons outweighed the Pros. Yet I hope that sooner or later I find the right project and a team in China to match, more so I believe that the balance of Pros and Cons is changing as we speak; in particular

  • Poor English skills – Chinese government and outsourcing companies are making very significant investments in English training.
  • Weak grasp on western communications style, wide cultural gap – A large number of expatriates returning to China with their families after living in the USA and other countries is reshaping culture of Chinese outsourcing.
  • Poor theoretical knowledge in many key areas – I am not seeing notable changes there; possibly due to the fact that majority of service buyers are not concerned with that issue.
  • Weak technical skills in comparison to the mainstream Silicon Valley resources – Using an old joke as a metaphor – Chinese vendors do not need to outrun Silicon Valley they just need to outrun Indian vendors.
  • Limited access to resources in several key areas (e.g. business analysis, architecture) – Influx of expatriates and attention to the issue should eventually take care of it.
Of course as Cons are being addressed China may lose some of its competitive advantage in Pros category – attrition rates, cost, etc. That remains to be seen.

I always thought that China was destined to win, and if I ever had any doubts they were eliminated after my trip to Shenzhen. When you see what a combination of strong hand of the government and grass root entrepreneurship can do to transform a small fishing village into a megapolis in just 35 years you start to believe that there is nothing that China can not achieve.

Protecting Data and IP when Outsourcing Offshore

Securing data when working with offshore is a well known yet a very challenging task. It’s especially serious if your company deals with financial or private data, such as ePHI (electronic protected health information). In some way though dealing with data protection in offshore scenario while complex is a straight forward task, especially for companies that are used to that kind of challenges in-house. Protecting Intellectual Property (IP) takes the challenge to a completely new level.

Risk of losing IP through offshore outsourcing is serious and real. I would venture to say that overall price tag related to IP loss in offshore outsourcing is measuring in billions. For example a friend of mine found himself out of the job after an IP ordeal with an outsourcing company in Eastern Europe. He was responsible for a product line in developer’s tools space in late nineties. He found a hired a group of vary talented engineers from Byelorussia. The requirements were coming from USA and development work was done 100% offshore. Source control and document repository were maintained offshore what seemed to be the right approach considering aggressive nature of the project and weak communication infrastructure. Cutting to the chase – when it came to transferring of the finished product into the hands of the owner the team in Byelorussia simply refused to do so. Initially the asked for some ridiculous amount of money but later on dropped out of negotiations, re-branded the product and took it to the market themselves…

To mitigate the risk you first need to understand channels of IP loss, here are the main few to consider:

  • There is clear possibility of malicious / criminal acts relevant to your IP. Your product idea could be stolen, repackaged and sold by the very partner you have entrusted. Not just idea, the source code, processes, documentation.
  • Even more probable scenario arises when a disgruntle or “entrepreneurial” employee of your vendor takes advantage of gaining access to your IP, source code, etc. Of course that could happen with your own staff; offshore just exacerbates the issue / increases the probability.
  • Immaturity of vendor infrastructure (physical security, network security, etc.) could become a reason for massive IP loss / data exposure. Insufficient physical, network security and data security opens up data and IP for hackers of all sorts.
  • Poor understanding of data and IP security, insufficient or non-existing security policy framework has the similar effect, often with even more severe consequences.
  • Casual treatment of IP security by your vendor. I remember visiting one offshore outsourcer in Eastern Europe. During a tour of facilities my guide brought me to office which had a number of expensive physical guards in place. We still went inside and my guide started – “here where we have super secret project with the company I can not name, they are a major search engine that rhymes with “frugal”, wink, wink. Those guys use our Ph.D’s to…”

What can you do to minimize / mitigate risks of IP loss with your outsourcing partner? That would be a next post

Top outsourcing risks

Putting development of your product or any other aspect of technology in the hands of a third party is certainly a risky proposition. To properly mitigate the risks of outsourcing one needs to understand the outsourcing landscape quite well. The top offshore outsourcing risks fall in several main categories. There is much to be said about each of the categories; I am planning to add more substance / clarifications /examples to each of the bullets below, as well as some ideas on risk mitigation. For now, here is the high level list:

Geopolitical

  • Government regulations, on the both sides of the equation
  • Political stability
  • Legal maturity

Security

Internal – Organization

Internal – Team and Personal

  • Loss of team support / respect / relationships with the team
  • Loss of team spirit / internal unease
  • Loss of key personnel / technology and business knowledge loss
  • Decrease in team’s productivity / commitment
  • Career impact
  • Lifestyle impact

Vendor capabilities

  • Financial Stability
  • Organizational maturity
  • Organizational commitment
  • Infrastructure (macro / micro view)
  • Technical capabilities
  • Ability to deliver
  • Personnel turnover

Joint responsibilities

  • Process confluence
  • Scope management
  • Geographical dispersion
  • Cultural differences
  • Knowledge transfer
  • Communications

Not yet ready for China

I love travel and visit new places, even if that’s on a business trip. Needless to say that living “5 to 7” lifestyle (by 5 am Monday you are on a plane to the client and ~7 pm on Friday are back on your way home) grows old quickly, but my engineering leadership role delivers travel in just the right amount. So I was quite excited when I got a chance to go to China to meet with a few promising offshore outsourcing companies. Impressed by meetings with vendors’ execs I was looking forward to starting with one of their teams in China.

Jumping ahead, I have to tell you that out of my top three impressions of China one was far above the expectations, one was at par, and one was way below. The first one was food – sorry Chef Chu, Dragon Well, and Yank Sing – there is no better place for Chinese food than China. The impression that was exactly at par with my expectations was my prospect resources’ command of English – it was dreadful. That was not a big deal for me though – English is a second language and work in progress for me as well, plus quoting Clarence Darrow, “Even if you do learn to speak correct English, whom are you going to speak it to?”. The thing that fall way below my expectations and to large degree ruined the trip was technical skills of engineers I saw.

Having spent the last 10 years of my life in Silicon Valley I’ve been conditioned to be surrounded by people much smarter than I. A great majority of them came from Asia. So I was expecting to see people like Bhaskar H, John B, Mark Dao, Shao Fang, Harshal Deo, Michelle Sue, Ashish Mangla… I was expecting maybe not the same level of intelligence, grasp on technology, and knowledge of foundations but at least somewhat close. Instead, my vendors paraded in front of me dozens of engineers who could not explain what a polymorphism is, project managers who did not know how to use MS Project, business analysts with nothing but a desire to be one. A few days into my interview process going through at rate of ~20 30-min interviews per day I met only one decent PM who did not speak English at all, one good yet quite junior business analyst (she was an IIT grad and just moved to China with her husband), and a handful of barely acceptable engineers. My interviewing stats were:

Project Managers – 1 out of 9
Business Analysts – 1 out of 11
Senior Developers – 0 out of 6
Mid Level Developers 2 out 14
Junior Developers – 4 out of 9
QA Leads – 1 out of 4
Blackbox Testers – 4 out of 6
Automation Testers – 0 out of 7

After visiting four companies my mind was set and I switched to enjoying tours to Forbidden City, Bird’s Nest and Summer Palace; I climbed the Great Wall, took many pictures, and bought a bunch of souvenirs. I knew that would be a while before I see China again.

Having spent some time thinking through the reasons behind my failure to find the vendor I could probably attest to those commonly known:

  • China is relatively new to the IT outsourcing, in particular for US projects. There is a great deal of skills, experience and understanding that has not yet been built up.
  • Language is a natural and serious obstacle which China outsourcing companies need to invest a great deal.
  • Chinese outsourcers need to learn how to deal with a large variety of cultural differences to successfully compete (and not only on cost). I believe that they need to find their own style. While a lot could be taken from success of Indian vendors, just “cut and paste” would not work.

On my trip to China I also discovered a few things that I had not heard of before:

  • In Chinese education system getting an English major ranks bottom low vs. engineering or CS degrees. Inevitably it attracts the least talented students. However, in a race to address language handicap outsourcing companies recruit English major students for key development positions – project managers, business analysts, etc. No wonder none ob the BA I interviewed heard of UML…
  • While checking out offices of many outsourcing companies I noticed one thing in common: developers’ desks were perfectly clean – not a single book anywhere. I guess one of the reasons is in lack of relevant literature in native tongue. Reading O’Reilly in English is an uphill battle for many of engineers.
  • Most of the engineers I talked with gained all their knowledge on the projects they worked on, which is a great way to learn when it is one of the methods, not the only. Result is extremely narrow scope of knowledge / expertise.

So I guess I am not ready to send my work to China yet, while I really do want to. Why? That would be a great topic for another post.

Offshore productivity: developers

Why is offshore developer’s productivity so much lower than one from your local employees? You would expect that for positions that require high communication overhead or for those tightly linked to difficult to acquire domain expertise, but why developer? Java, C#, C/C++ know no borders and far more international than Esperanto ever aspired to be. So why do we habitually see offshore developers offering productivity at fraction of what we expect in-house. I think there are many reasons for that, some transient some foundational. Here are just some of them, specifically applicable to India outsourcing:

  • Bangalore is a beautiful vibrant city; in some strange way it reminds me of San Francisco. No wonder it has become the heart and a synonym for IT outsourcing, one would be hard pressed to find a better place for India’s Silicon Valley. One of the parallels between Bangalore and SF Bay Area is abundance of technical jobs. Everyone and their brother are there from giants like Microsoft, IBM, and Siemens to small progressive engineering companies. Just look at a very small subset at http://en.wikipedia.org/wiki/List_of_IT_companies_in_Bangalore. So if you are a decent developer your job choices are practically unlimited. And let me ask you that – if due to your exceptional talents you had a choice of working for any software company in the world would you pick someone like Google or Infosys Technologies? It’s tough to get into someone’s mind yet I am sure that a choice between Google and Quadwave Consulting Pvt. Ltd. is statistically obvious. The corollary here is obvious as well: when it comes to pick of the litter even very successful outsourcers are in a long line behind a very large group of “the best companies to work for”.
  • One of the interesting phenomena is how cultural environment affects building the skills. What I have observed in several geo areas is that the culture is “against” the learning progress; that is especially true for consulting companies. For example, many consulting companies have a business development track vs. expert track, the first one being compensated substantially better. In that case a bright person is pushed either to take a biz dev track or bail out of the company when his / her earnings come hits the ceiling. Broader cultural issues have even more profound effect, for example I noticed that in India one’s personal success is measured in number of people working “under you”, most of the time that means that one’s skills would be used mostly on management tasks and not tuned to acquiring new skills / knowledge / etc. Very much a cliché – promoting a good engineer to a manger means losing a good engineer and gaining a bad manager. The impact of that trend is quite devastating for buyer especially with smaller sized teams – how can you get a solid tech lead for your team if it is only 3-4 people while someone with 5 years experience could be managing a team of 30? That trend is exacerbated by scarcity of high-level resources every consulting company faces: if a practice gets their hands on great resource, he or she must be leveraged across large group of mediocre resources.
  • I realized another angle to the topic when building my own consulting / outsourcing teams. Managing engineers is not an easy task, managing bright engineers is extremely complex. So if your main goal is generating a revenue stream (a.k.a. “putting buns in seats”) you may take an “expert” route and deal with celebrity personalities and never-ending need for motivation or build your team with “a middle of the road” resource in mind and live happily ever after. The later seems like a much easier route and that’s why many offshore resource augmentation companies are in the business of “selling mediocrity in bulk”. What is the difference in productivity between star and mediocre software developer? Some say that it’s order of several magnitudes, and I can attest to it.