Why Successful Businesses Outsource Content Creation

tax preparation serviceTwenty years ago I don’t think anyone could have really imagined everything that would be required today in order to have success in business. It is no longer just about providing great service or product and a solid sales team supported by traditional marketing. Any business today needs an online presence that goes far beyond a simple website.

You now need social media accounts, a blog, a broad range of SEO and SMO activities and artifacts, and so much more. Just learning it all can take up a tremendous amount of time, let alone, trying to actually find the time to put it all into practice. Blogging alone can easily keep a writer busy full time. And content that you need to produce is not just limited to blog posts.

Articles and various content elements used in SEO, website content, e-books, whitepapers, sales letters, auto-responders, …really just about anything your marketing team needs requires a lot of content. And not just a lot of content, but a lot of different types of content, that might require a diverse set of skills, tons of attention, and can cost you a lot of money…

That is where content outsourcing comes in: Continue reading

“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

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.

Top 10 Technology Tasks to Outsource

If you listen to an offshore vendor you will quickly learn the top 10 or 1000 tasks you should outsource. The chances are anything and everything that you do will be on that list. And that would be the list of things the vendor wants you to outsource. Take a look for example at Top 100 Projects You Can Outsource. The real question is about what is good for you, and of course it depends on your specific needs and challenges.   My first outsourcing item does not currently land itself well in offshore model so I did not include it in top 10 –  Data Center / Hosting. That covers hardware / networking equipment / etc. for range of systems – production, staging, development, etc. environments. The “degree” of outsourcing may vary greatly and depends on the maturity of your staff, you demand dynamics, etc. You may only take the space, bandwidth and power; expand it to fully managed infrastructure or even consider grids such as Amazon elastic cloud.

Taking a viewpoint of a midsized software developments company here are 10 items I found to be on the top of list of tasks to outsource in technology.

1. Security / Availability Monitoring. In my experience I found that achieving aggressive service level benchmarks while maintaining high level security and privacy is practically impossible for a small or midsized company without use of Managed Security Monitoring. The scope of outsourcing may vary greatly depending on your needs. In my current place I outsource security monitoring and use third parties for security testing including ethical hacking.

2.    Database Administration. I found outsourcing of DBA tasks, in particular related to supporting uptime of critical systems, extremely cost effective. Currently I use third party to monitor my production databases on 24×7 basis and use consulting from the same vendor on tough DBA design tasks.

3.    Black Box Testing. I found that outsourcing some of QA tasks, in particular Black Box testing gives me great flexibility and has good price performance. In my view the key is to outsource appropriate portion of testing leaving sufficient portion in-house for acceptance, cross checking, knowledge retention and many other key elements of the development process.

4.    Usability Testing. In my view Usability Testing is a perfect task to outsource due to many reasons with most important being an independent / objective feedback which is difficult to achieve with captive resources, other reasons include lack of in-house expertise and high cost of tools and infrastructure.

5.    Graphical Arts, Writing and other Creative tasks. Assuming that Creative tasks are not the core of your business you may find outsourcing of it to offer dramatic price performance. With huge supply of freelance and offshore talent you can find high quality resources at a fraction of the price of high end firms and even in-house resources.

6.    Tech Support. If you have to support your products the front line of Tech Support is one of the areas that can greatly benefit from outsourcing. Of course you have to be very careful in outsourcing any customer facing activities, and tech support is one of those arrears that got particular strong negative rap.

7.    SEO. Search Engine Optimization could be quit laborious and requires in-depth knowledge of the techniques, latest trends, and subtle differences. Some offshore shops specializing on SEO offer performance based approach to compensation.

8.    Software Maintenance and Sustenance. I found outsourcing of those “less glorious” tasks relatively meaningful, especially when I had a large legacy product to support. One of the value add items in outsourcing of maintenance task is potential morale boost for the local team. A word of caution here – as outsourcing of these tasks only pays off in a long run.

9.    Reporting. Developing of a large variety of reports for internal and external clients often could become a considerable burden on technology team. Using offshore resources to produce and support custom reports in experience paid off quite well in many cases.

10.    Technology Migration. Migration tasks could be perfect candidates for outsourcing, for example moving your database from MS SQL to Oracle, an app server from WebSphere to JBOSS, or migrating code from VB to VB .NET. The word of caution – some migration tasks could be IQ-demanding heavy lifting and require a lot of in-house efforts before they could be moved offshore.

I said earlier that these 10 items are on the top of my list. Well, in many cases they formed the list in its entirety. You may consider outsourcing all these items before you move on onto more challenging and riskier outsourcing tasks.

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.

My reasons to outsource

I mentioned already the top reasons for offshore outsourcing typical for many organizations; let me list some of my own:

  • Diversity. Diversity in terms of bringing individual contributor with different background into the team often means a tremendous increase in productivity. A healthy portion of resources with different education, practical background, and way of operating could bring a fresh breath of air in stagnating organization. Also “diversifying” your portfolio of resources might help a great deal to deal with micro factors affecting employment / recruitment landscape of a specific geography.
  • Education. In countries such as India, Russia, China you find many people who value education to much higher degree than we do in the states. On one of my teams from St. Petersburg a majority of developers had at least MS and over 40% had Ph.D. That including QA engineers! Needless to say the brain power of the team was absolutely amazing.
  • Work Ethics. That doesn’t go across all geographies and companies, but fortunately you still can find outsourcing organizations with resources who’s work ethics are far superior to what you find for example in corporate America.
  • Talent Pool. Some outsourcing organizations instead of typical “selling mediocrity in bulk” build their team with top notch experts and people with exceptionally high IQ. Building such a team, no matter in which area of the world takes very long time.
  • Processes. Getting process right is time consuming and costly. When ISO or CMM processes are a requirement it’s often much easier to build relationship with a subcontractor who already has those in place.
  • Project Management. Project and program management is often something that a small software organization can not afford (or more often VPE can’t sell his execs / team on the need for it). Many, especially Indian vendors have that in perfect shape.
  • Cost. While I do not believe that offshore guarantees cost savings I do believe that there is a huge potential there especially with careful execution of multi-sourcing or/and micro-sourcing strategies.

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 reasons for outsourcing

Whenever I have to introduce using offshore to executives I start with a slide with has title “Good reasons for going offshore”. The slide is otherwise empty. With all the headache it will cause why would I go offshore if I do not absolutely have to? I have been using offshore vendors since ‘92 and there is no place on my body which doesn’t have scars left by that experience – from grotesque stabs on the back to burned fingers. And yet again and again I find myself using offshore vendors and recommending them to my clients and partners. So what are the main “bad” reasons for using offshore? What typically drives companies to consider offshore outsourcing? For many companies those reasons could be roughly grouped into 3 categories:

Reducing operations cost, some most obvious examples would be:

  • Lower resource cost; this topic deserves a separate discussion but for now let me just say that if you are good at utilizing offshore you may realize 25-30% savings;
  • G&A savings (benefits, office space, utilities, etc.);
  • Other resources related savings (reasonable severance, resource add-on acquisition cost, training cost, etc.).

Reducing time to operations / time to market, some examples include:

  • Access to existing pool of resources vs. hiring; I will need to touch upon that subject in more details, for now let me just say that that in some cases that is true;
  • Establishing development / operations infrastructure vs. using existing or building upon existing;
  • Access to specific skills / domain expertise / methodology, etc.

Solving specific organizational issues, a lot of diverse and unique items here, here are just a few common examples:

  • Outsourcing legacy maintenance to motivate developers by moving them onto more glorious tasks. That is a well known double-edged sward though.
  • Dealing with sawmill of resource demand. Need for resources goes up and down if you staff at the top level your resource utilization suffers, if you target the bottom you can not react to market needs. Proper offshore supplement can help alleviate the issue.
  • Risk mitigation, for example: should you hire for dealing with substantial spike in demand? Is the change permanent or when the novelties ware off you will be facing RIWFs? Outsourcing could be a better way to handle the spike.
  • In some way the same idea as above but put into terms very clear and dear to hearts of CFOs – eliminating fixed cost
  • Using third party operational expertise, existing processes, certifications, etc.

While in a way each of the reasons above could be enough to consider offshore in my view you need more than one reason to actually go offshore. The risks and penalties are just too high. And that deserves a separate discussion.

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