F|R Crib Sheet: How to Source Good Offshore Developers

14 Comments

If you’re bootstrapping your startup, offshoring your web development is a great way to save money. But it’s also fraught with risk. Working with remote contractors makes it far harder to manage project development and communicate ideas. Taking proper steps to protect yourself is crucial.

I’ve been bootstrapping my e-commerce startup, Aroxo, for the last year and blogging about it for Found|READ and on my own site. My previous post explained how to use your network to build a quality list of prospects. Today I’ll tell you how to vet the list to select the right offshore developer.

Step 1: Send a “Request for Information” to Prospective Vendors:

The RFI is a questionnaire you will draft to help you determine which developer can deliver your project within your price range (here’s a sample). Your RFI should produce the following data:

  • Vendor’s vital statistics: years in business, number of employees, rates for all billable staff.
  • Currency the developer will use to invoice.
  • Confirmation or denial of a fixed cost for your project (which you want)
  • Description of the vendor’s typical projects (How big are they? How long do they last?)
  • Vendor’s technology certifications and other technologies they can support.
  • Source of the vendor’s development design (in-house or sub-contracted?)
  • 3-5 customer references.
  • Additional RFI Tips:

    Include a hypothetical “technical problem” relevant to your project and ask the developer to show how they would solve it. For customer references, ask for projects similar to yours that were completed for clients physically near to you so you can arrange to meet them in person.

    Worried about your IP? Don’t discuss the specifics of your business in the RFI. Describe the type of business that you’re launching in general terms (e.g. e-commerce), or refer to similar companies by way of description.

    Give the vendors two weeks to respond, and an opportunity to ask you questions. Include your deadline(s) so the developers have a timeline. Not every vendor will respond to your RFI. Some will, but won’t answer all your questions. Others will will send you “documentation packs” that contain all the answers, but not in the format you requested. All of these companies should be dropped from your list.

    Step 2: Vetting Your Vendor Prospects

    Two weeks after you’ve issued your RFI, you will have all the responses you’re going to get. (Don’t bother chasing companies that don’t reply.) Now you must work through the list until you have at least four — but no more than seven — prospective developers. This is an important yet difficult step. First, think about who your ideal vendor is. Identify the criteria by asking the following questions:

  • Do you want to work with a small company, or do are you looking for a larger company with ISO or CMM certification?
  • Do you have a particular development methodology in mind?
  • Do you want your system built with a particular technology?
  • Now you’re ready to start “the sift.” First, remove any companies that don’t fit the criteria established above. When I read through my RFI responses I arrange them into three piles: Yes, No, and Questions. I then put my additional questions to the vendor again, and update. I continue this until I have complete Yes and No piles.

    When in doubt, go to their references. Don’t just ask if the developer delivered on time and to budget. Also ask: Have they given the vendor any new work? Will they in the future?

    The reason I recommend getting to preferably four and no more than seven potential vendors is that you don’t want to take too many through your bidding process because you don’t want any more of them than necessary to know what you’ll be building.

    If you don’t end up with four candidates, don’t go back through your pile. Approach new developers until you do.

    Matt Rogers is co-founder of Aroxo.

    14 Comments

    Brad Carson

    Thanks everybody for comments and a very good post. I started couple of startups and got a chance to work with bunch of offshore companies. One thing, I realized is to find some company which have a presence here, so I dont have to worry about IP protection. Another thing I realized is that Agile methodology is great way to get the product develop quickly and according to what you want. One thing I will recommend is to hire a team which has good communication skills, it helps a lot. I was lucky in my last startup where I found a company, Zigron, which runs a site http://www.visiontoproduct.com. They helped me not only in idea and product development but also introduced me to investors and helped me in raising money. If you guys can find some offshore company with added value, that may work better than any other.

    Keep up the good discussions.

    Matt

    Hey all – thanks for your comments.

    I guess the important thing to remember is that the overall objective is to find good developers, and filtering them through a process such as this is only one way to do it.

    I think something which isn’t clear from the article above is that this is only part of the story, there are other stages to move towards getting an actual developer signed on. These will be overed in subsequent posts.

    M.

    Reader

    @Brian,
    My perspective:

    a) If you don’t have an existing relationship with your partner, and/or your team has no experience in working with offshore partners, then I absolutely agree- start with the non core.

    b) If your relationship succeeds, then as part of next phase, do consider also letting them work on “core”. There is “core” and there is “core” “core”. You know what I mean. Many clients put a strong thick guard wall around what they consider their core. But if you really look into core, you will notice there are many other carvings that can be farmed out. You may want to consider evaluating the options for that part too. Here is why:

    b.1) My experience is that there are a reasonable # of reputable companies, who have now spent 15-20+ years working on specific domains who have very good knowledge. You may be surprised that some of your partners may know as much or sometimes more than your own team

    b.2) In general, for a complex product, a good offshoring team takes between 4-6 months to completely rampup on your platform and be what you will call “very good”). Once they do that, they will usually surprise you even more in quality and suggestions.

    b.3) Good people like good work. Period. Economies evolve. Specific to India and China, that threshold where any work will do has been crossed. To keep a team motivated, you need to give them good work. Of course, you will find many companies who still operate with ‘will do any work’ – but caveats: b.3.1) They will frequently change their people internally b.3.2) They will always maintain the same level with you of ‘average’ to ‘moderate’. It is usually unlikely they will blow your mind.

    c) Many companies feel offshoring “core” is synonomous with laying off their own people. Compeltely wrong. Offshore “core components” (again, remember my perspective on “core” vs “Core Core”) lets your own team work on new product features you may have not budgeted for.

    d) Remember loaded costs – when you budget, the cost of an employee is typically twice his salary. This seriously affects your bottom line.

    In short, the limits you put to your relationship are defined only by you. It is not a rule. The less you are open, the less benefit you will see.

    Brian Kirk

    I recall a question that was asked at the Austin InnoTech convention in ’06. The question was, “What should a company not outsource?”. The answer I’ll never forget. “A company should *not* outsource anything it considers its core competency. You outsource those things that you aren’t good at, but never let go of what it is that you are good at.” An important point I think we should all adhere to when considering outsourcing.

    Tom Clarkson

    I agree with the other commenters who have said that this process is more appropriate for a large corporate project. I would go even further and say that as soon as you start looking for an established outsourcing firm for startup work you are making a big mistake.

    Firstly there is the question of whether you should be outsourcing this type of work. As a startup, developing the software probably counts as your core business, which should be kept in house. You can still hire low cost employees in India or elsewhere to do the work, but you need to maintain complete control over the development and who is doing it. You may well find that a vendor’s goals for the project (and fitting it in with other work) don’t quite match your own – not good when project failure or even delays can cause your entire business to cease to exist.

    Secondly there is the fact that startup work is quite difficult to spec in advance, and is more likely to involve features the vendor is unfamiliar with. You might get away with it if your project is the same as a typical corporate project except for the number of users, but for anything more innovative you can expect communication issues.

    And that’s before you even get to issues with management or developer competence. It’s not that uncommon for a team to have one good developer on a team making up for a couple of not so good developers who get nothing done. If you manage your own team you can fire the ones who are no good. Going through a vendor you won’t even know there is a problem beyond a nagging feeling that you are paying three times what you should be.

    Lawrence Sinclair

    I agree with the readers who feel this process is naive. It will filter out the top and bottom tier and leave just mediocre companies willing to go through this process because they have lots of spare capacity. If the process is particularly time consuming, you might get some good companies responding, but only if they have exceptionally high rates (and profit margins).

    Visiting offices is just not feasible for low cost outsourcers. If they have a local office in the US, it will just be a sales office. If they have local people in the US, they are going to be much more expensive (one local person typically costs as much as three or four remote people). Meeting those local people will help, but it still won’t give you a sense of the people doing most of the work. It is also unlikely that local clients will be near you, unless you live in Silicon Valley or New York or some other major center.

    The only reasonable option is to talk to people on the phone. Speak to past customers. Speak to the development team.

    I have run an offshore operation in India and currently have one in Vietnam, so let me give you some perspective from the other side.

    First of all, you’re not going to speak to my clients unless we are in the very final stages of winning a large project. My past clients are a valuable resource whose time I call upon only very cautiously. Many of my most important clients insist on anonymity.

    Spending days responding to detailed requirements documents is very expensive in terms of opportunity cost. I only do that when I have evaluated the client. They will be people I know personally or through referral, or famous companies. And if not, I will want to see evidence that there are no more than one or two other contenders and that they have sufficient financial backing to be considered serious.

    About eight hours is all the time we can afford to invest on prospective clients who are just fishing around multiple vendors. This is especially true about those who use checklist templates (we might not even bother to respond to those). Such people are looking for expensive international consultancies such as Tata, or are looking for a small vendor willing to lie to them to get the job. I’ve negotiated million dollar consulting contracts on the phone in twenty minutes with clients who know and trust our past work; we’re not going to waste days of time responding to cookie cutter fishing procedures from unproven prospects. Unless you are a famous brand name, you need to make a special effort to make an offshore relationship work and find the right match for your needs.

    Reader

    Playing Devil’s advocate here:
    This is exactly how *inexperienced* companies who have never outsourced before proceed. You think it is the right way, but all you are doing is creating an abstract boiler plate which any company can create an appropriate response to. Those who are honest may likely say ‘N’ to 20% of your checklist, and you will throw them out. Those who say ‘Y’ to all are mostly wrapping the truth and they qualify. Being in this business for decades, I’ve seen your formula being followed by first timers and is _not_ the way to proceed.

    What you really need to do is:
    a) Ask local reps to visit you and present – get the tech guys over the phone. ask impromptu questions and judge responses. It is easy to craft a response over a day. It’s hard ot do that on the spot.
    b) Make an effort and *visit* your top 5. Nothing better than visiting their labs, talking to people and understanding their processes. Often, some of the best will be those who may not have said ‘Y’ to all your questions. For example, if you are a startup with just a few million in funding yourself, a good vendor will not say ‘unconditional Y’ if you ask for silly things like liquidation damages

    c) Figure out the right process NOT to micromanage. Companies think that by writing an extensive RFP, they have done a great job. Actually, you would be surprised how much of your RFP is a copy of another company (in other words, birds of feather – those who start this way all think the same, so ask the same).

    Matt

    Hello Satya – thanks for your comments. I was referred to RFI, and this is just only to short-list the vendors. The RFQ stage comes next, which will be in my next post on this topic!

    Andrew

    Yep, you’ve outlined the standard process taught on MBAs and used by government departments, large corporates and people doing big outsourcing when they go looking for a partner.

    But the company that you really want building your hot new application – probably 2 or 3 guys with real grunty experience -do you think they’re sitting around with time on their hands waiting to jump through your hoops? Your process acts as a filter at both ends. It’ll remove the people at the lower end for sure. But it will also turn off the really hot, good supplier who just doesn’t need to go to these lengths.

    Anyone who’s been around the blocks will know that if you demand a fixed price quote from someone, either a) they need to spend a LOT of time studying your requirements (which are probably not as good as you think they are), b) they will build in a hefty risk premium (which comes out of your cash, c) they’ll quote you a good price all right, and then gouge you later for project variations and the like.

    And then good luck building your new system with the average guys left from the middle.

    ashish

    What is the current cost for hiring good developers in India, say with 2-3 yrs of experience?
    Also has anyone got experience with ODesk? How that works out?
    We are planning to hire a few developers but most of the vendors seem to be asking unrealistic price..almost matching US costs

    Satya

    Matt,

    Thanks for informing. Some clarifications.

    1. Are you referring RFI as RFQ (which I see from the sample in the link provided)?

    If so, then it is for T&M contract type. From the article, I tend to think it is of FP type. For IFB or RFP etc, normally it is Fixed Cost and Cost Reimbursable types. It will not be for a fixed cost project. Or did I miss something?

    2. If you are going for a fixed cost type contract, I really doubt any vendor worth his salt will accept, if the scope is not known. If someone is worried of IP cases, I guess, there will be different mechanism to handle.

    If the scope is not known (if you say just “e-commerce” project), then will they accept?

    3. Another is arranging a talk with a client for which they have completed a similar project. I understand that a number of vendors can give client data, but then arranging talks with them, how practically feasible it is?

    I think, one can ask for a demo of the product being done, which will boost confidence.

    4. How will you rate vendors who are sub-contracting the work? I mean, if they claim to be a development company, and in turn sub-contract to another, they are not a development company in the first place!

    And mostly it is for technical development work, which you would like to go for. Sub-contracting, sub-sub-contracting will bring “privity” into question, which will be a headache – if something goes wrong.

    Satya

    Comments are closed.