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.