10 Practical Tips for Choosing an Offshore Software Developer

June 11, 2010

Last week, my colleague at OpenView Venture Partners, Jeremy Aber, provided 5 Practical Tips for Using an Offshore Software Developer, focusing on legal issues.

This week and next, I want to share 10 practical tips for choosing an offshore software developer (Jeremy and I are quite competitive), focusing on a few other items. Specifically, I focus here on outsourced vendors, and what questions to ask to increase the probability that you — an expansion stage software company product development team — end up with the right one for you.

1. Methodology. As you know, there are many different approaches to managing software projects and building software. From waterfall, to 20 different flavors of Agile product development, and everything in between, the methodology the team adopted can impact how it manages the project, how it communicates with its customer — in this case you — and how it actually builds the software. You want to understand what methodology the vendor is most comfortable with, and make sure it aligns with your needs, with your own methodology and that of your team. And don’t ask, “What methodologies do you use?” or “Do you guys do Scrum?”. A good sales guy will list everything under the sun in response to the first question, and answer yes to the second. Put them on the spot with: “I understand you do all that. But which one is the most prevalent in your company and your teams prefer?”

2. Company Size. What’s the right vendor size for you? Too small, and you’re dealing with financial stability risk and perhaps a lack of resources. Too large, and as an expansion stage software company with a smaller project, you might not receive the right level of attention and get the best people on your project. I blogged on this in more detail here.

3. Sweet Spot Project. What’s the vendor’s sweet spot project? Similar to understanding methodology, force clarity on what the company’s ideal project looks like in terms of team size, longevity, type of work (internal IT, testing, commercial release, ownership of full product, ownership of some component, etc.). Then make sure that your project is their sweet spot project (without telling them anything about your project). If not, look for another vendor. For example, you don’t want to have a 6 person 2 year project with a vendor whose focus is on 50-person indefinite projects.

4. Domain Expertise. If your project is Java-based, you want a vendor with strong Java experience. If it involves understanding of data warehousing, you want someone who’s been there, done that in building data warehousing applications. A vendor that builds internal IT applications for financial institutions is not a fit for you if you’re looking for them to build a part of a commercial B2C application.

5. Maturity of Company. You generally want a company that has experience. A vendor that’s been around for 10 years is likely to have had to overcome more challenges, learned more, and developed more professional approaches than someone around for 3 years. You also want to interview members of the senior management team. How mature and experienced are they? After all, these are the people who set the culture and the tone for the outsourced teams.

Next week, I’ll focus on other issues, including experience with companies similar to yours, best practice and tool adoption, turn-over, access to best people, and price.

Senior Director Project Management

Igor Altman is Senior Director of Product Management at <a href="https://www.mdsol.com/en/">Medidata Solutions</a>, a leading global provider of cloud-based clinical development solutions that enhance the efficiency of customers’ clinical trials. Prior to Medidata, he worked at OpenView focusing on new investments in the IT space.