Outsourcing and Quality…

Yesterday night I’ve received an interesting comment on my PHP@INDIA posting. After reading I’ve decided that this deserves a posting to answer it thoroughly.

The comment was

The poster who made this statement doesn’t explain to you that India-based workers can only speak about 60% english.

he doesn’t explain that these same developers use BEGINNER LEVEL coding techniques that render your site open to almost the most grade-school level of attacks.

he doesn’t explain to you that these same developers don’t give a damn about you, or your project.

he doesn’t explain to you that their answers to questions are from monitors on their screen, and should you have an advanced-level technical question they are NOT going to be able to answer for you.

And he also didn’t explain that you GET what you PAY for. You pay for garbage in India, expect garbage as a product. You pay good in America for a product, expect the best as a product.

The commentor is right in his statements. Actually talking about Quality in outsourcing you need to take care that the quality is good enough for you. It would be simply very dumb to rely on any developer - check it personally! I’ve made the same experience 10 years ago like my anonymous commentor, but I had to understand that things changed and that it is possible now to get better quality. But as always - you need the right partner.

After reading my posting again I’ve realized that I need to clearify a few things. Outsourcing (in PHP area!) is never about saving money. Having good people inhouse or around the corner will help your project a lot. Outsourcing is about scaling. If you do have any tasks which need to be scaled, like developing the same stuff again and again, editing pictures, running any process against something which need to be repeateded over and over then you should think about offshoring.

I state that it’s very difficult to scale your team from 5 to 15 inhouse fast - and this is possible in india. Simply because there are many indians.

A few rules need to be applied to choose the right partner:

- Do never ever give your core technology to any outsourcer somewhere on this planet. You need to have full control over your technology. Otherwise the risk of beeing ripped off is very high.

- Choose your partner thorougly. Check the references and call them to doublecheck.

- Be aware of your expectations. You will need a few months before the project will run by itself.

- if you do not put in energy, knowhow and your personal sweat it won’t work.

Follow these rules and your outsourcing project will be successful.

To come to an end - yes, also in india you get what you pay for. This is valid anywhere on the planet. Pay your developers well and you will get good quality. And for sure you can not judge over all people in a country - there are good and bad developers all over the planet. Even though it is hard to believe - just beeing american doesn’t make you a good developer - and vice versa - beeing indian doesn’t make you a bad developer.

Comments

14 Responses to “Outsourcing and Quality…”

  1. Gyorgy on January 11th, 2009 12:47 pm

    I’m a web developer from Romania and I do a lot of outsourcing.

    Although I can’t say that my clients choose me based on my skills alone.

    Outsourcing is all about cutting costs, therefore it’s all about money.

  2. WC on January 11th, 2009 3:15 pm

    “Outsourcing (in PHP area!) is never about saving money.”

    Wrong. The company I work for did it explicitly to save money. Since then, the scalability has been nice, but it was -not- why they did it. They did it because they could hire 8 Indian programmers for the cost of 3 in-house. (Those were the boss’ words. I don’t know the figures.)

    No, the quality isn’t as good… And no, we don’t let them touch anything in the system that faces the web because all that code has to go through a ton of code review and testing in-house anyhow. But for the tasks we send them, they do very well.

    Also note that I’m talking about this specific team of programmers. I’m sure there are top notch programmers over there… We just aren’t interested in hiring them at their rates. As I said, we outsourced for cost reasons.

  3. Mike on January 11th, 2009 11:19 pm

    “Outsourcing (in PHP area!) is never about saving money.”

    The degree to how much this statement is incorrect is baffling.

  4. dodger on January 12th, 2009 9:46 am

    Mike,

    I do outsourcing now for 12 years with countries all over the world. If you talk about short term contracts, you can save a lot of money if you outsource it. Talking about long-term projects, or even offshoring a whole product development the amount of money you can save is very small compared to inhouse development.

    Maybe I made myself not clear enough - I am always talking about long term projects.

    Finally - hiring low to mid-level developer is cheaper outsourced. If you need good people - it is not that cheap - good developer costs money - everywhere on earth…

  5. AMERICAN DEVELOPER on January 12th, 2009 4:24 pm

    @WC: I couldn’t agree more. I have buddies who had their jobs ripped from them to have them instead outsourced to India. 6 months later, those jobs were given back because the company finally understood that paying less didn’t mean paying more.

    It’s a sad day when American business owners start thinking with their pockets instead of their brains.

  6. AMERICAN DEVELOPER on January 12th, 2009 4:26 pm

    oops… “company finally understood that paying less didn’t mean paying more.” is mean to say “company finally understood that paying less didn’t mean getting more/same production/quality”

  7. dodger on January 12th, 2009 5:00 pm

    I am really happy about the discussion we get here and I agree that all the points mentioned are valid.

    Finally - you get what you pay for. If outsourcing is about the money and you pay just a few $ per hour then the quality is clear. I’ve paid my indian developers much more - more or less a comparable rate what I would have paid in a cheap region in germany, and I got good quality.

    Pay reasonable money, and you will get decent quality. If you pay a developer less than your cleaning women - what can you expect. It is a dream of managers that this is a good deal - but it is not.

  8. Mike on January 12th, 2009 7:29 pm

    You made a very clear blanket statement that outsourcing is never about money, which is contradictory to almost the primary advantage of outsourcing, regardless of the work being done.

    Everything any business ever does always comes down to money. No matter how you slice it, every decision in a capitalist market is about money. And for someone to come out and say that outsourcing is never about money is ludicrous.

    Why would you outsource if your company’s internal staff could handle it? Because their time could be spent else ware and it would cost money to hire additional staff? Give me a reason that doesn’t affect the bottom line.

  9. dodger on January 12th, 2009 7:45 pm

    Mike,

    in the last 10 years I’ve experienced the situation that it was simply impossible to increase your team - without paying astronomical salaries. Outsourcing is a good way to bypass this issue. You can increase (and decrease) your team much easier than if it would be inhouse. Larger countries offer more resources, and if the times are not so good you can decrease these teams much easier compared to firing inhouse developers what could screw the mood of the full team.

    This flexibility comes with a price. If you need good developers it cost you a lot to keep them. Again, please remember that I am talking about larger, long-term projects. All this is NOT valid for short projects. For these you don’t need good people, and most likely you can save a lot of money by outsourcing them.

    And talking about the money. Sure you are right, in the end the money counts. But there we talk more about the total costs of hiring, increasing, decreasing, keeping the team. If I compare the monthly rates for good developers the money saving is not that much.

    And I said - in PHP area - I don’t see a money advantage if you run larger, technical advanced projects. In other areas this is most likely wrong.

  10. AMERICAN DEVELOPER on January 12th, 2009 8:44 pm

    I don’t agree with you at all on that dodger. There is never a valid excuse for higher low-end developers to do a job. Each time you do that, you a) put your site and company’s security at risk, b) set in place an inability to keep clean extendible code, and c) you are basically telling your team that you do not believe in their abilities.

    You keep throwing up 10 years of experience outsourcing, and I’m giving you 10 years of not only development myself, but management as well with developers in the US.

    There is a MAJOR difference between great work and beginner work. The only work I’ve seen come out of India (contrary to what you want others to believe) is beginner-level work.

  11. Vinod Narayan on January 13th, 2009 4:48 am

    Outsourcing is both about money and scalability. Quality is aribitrary and based on what you wish to accomplish from the engagement. The result of satisfaction varies greatly based on what stage of project or product life cycle you start engaging. A start up starting all its developments afreash from an offshore destination will have a different story compared to a company that has done part of the development inhouse and now for cost reasons or other business reasons plan to offshore part of the work. Quality is a factor much beyond the offshoring decision and very closely bonded with what your final goal of delivered product is.

    If you have strong QA process in place that can continuosly monitor the offshore team deliverable I am sure you will be able to step up the your expected delivery.

    Many companies that do development lack a strong internal QA process and when they outsource they expect that the product should be shippable from day one. Development and Quality are two different areas and both are bonded only if you have a market expectation of how your product should behave.

    I am not leaving out the possibility of getting poorly done code but overall quality is a whole different ball game.

  12. Tomas Liubinas (Lithuania) on January 14th, 2009 12:14 pm

    I am reading the discussion and that reminds me that some people talking about software outsourcing process again and again tend to forget to draw a clear line between which part of software development process to outsource and which part to leave inhouse. That’s exactly confusing “the box for the chocolates” what Michael Bean talks about. IMO one of the cases what dodger means is the situation when you need to increase your team dynamically. Low cost or reasonably high, but can you get, lets say, ten developers, train and adjust them to your software development and QA processes and get the work done in a few months anywhere but India? I think not. And that’s probably relevant not only for PHP peojects.

  13. xpsytor on January 20th, 2009 9:21 pm

    It is clear from the rants of AMERICAN DEVELOPER that either -
    1) He got fired at some point in his life and to heave this guilt off his chest blindly blames it on outsourcing.

    OR

    2) He got a really bad bad outsourcing experience (whenever he was a manager as he says) due to his own lack of understanding of CRM and HOWTO find a good offshore partner, which most of the world seem to be easily finding in India.

    Given AD’s obnoxious attitude it’s not surprising that he will continue facing bad experiences with people and living in the pretext that it’s all because of : OUTSOURCING!! lol… sigh!

    I’m an Indian and I’ve been to the US of A a couple of times to co-ordinate or kickstart projects (php based … ahem!). I can give my few cents about the (american) teams I worked/supervised with, but thats another story. Maybe next time.

    I want 2 Peace.

  14. Cafe Furniture : on October 24th, 2010 8:59 pm

    outsourcing is of course very cost effective that is why most companies prefer to outsource.`*

Leave a Reply