Product

10 Tips for Choosing an Offshore Software Developer

September 27, 2010

How do you choose an offshore developer?

Pinheads (cc)

In this article I’ll shine a spotlight on outsourced vendors and what questions you—an expansion stage software company product development team—should ask to end up with the right vendor and team.

Methodology

There are many different approaches to managing and building software projects.  From waterfall (the cascading process of: Conception, Initiation, Analysis, Design, Construction, Testing and Maintenance) to 20 different flavors of Agile product development—and everything in between—the adopted methodology can impact how the team manages the project, how it communicates with you, and how the software is actually built.  Understand what methodology the vendor is most comfortable with and make sure it aligns with your needs.

Company Size

What’s the right vendor size for you?  There are pluses and minuses to each.  If it’s too small, you’re dealing with financial stability risk and perhaps a lack of resources.  Too large and you might not receive appropriate attention or get grade-A people working on your project.  I have seen both sides.

Sweet Spot Project

Understanding your vendor’s “sweet spot” project—the ideal focus and appropriate team size—can make or break a future relationship.  Without telling the vendor anything about your project (to avoid them catering to your self-described wants and needs), have them explain their particular expertise.  Examine their case studies, if available, as that gives a clear indicator of the company’s focus.

Domain Expertise

If your project is Java-based, you want a vendor with strong Java experience.  Likewise, if your project involves an understanding of The Cloud, you want someone who’s been there, done that.  A vendor that builds internal IT applications for financial institutions won’t be a good fit if you’re aiming at a commercial B2C application.

Maturity of Company

Like the domain experience you’ll need, you should also look at how long your vendor has been in business.  A vendor that’s been around for 10 years is likely to have overcome more challenges, gleaned more applicable business knowledge, and developed more professional approaches than a vendor that opened shop three years ago.  Interview members of the senior management team (and look for their qualities to mirror your own well-built group.  What’s their level of maturity, confidence and experience?  This step is vital given that these are the people who set the culture and the tone for the outsourced teams.

Experience with Companies Similar to Yours

If you are a U.S. business selling software to financial services companies, you want your vendor to have strong relationships and experience with several other U.S. businesses on B2B commercial products.  Even better: skills with financial services software, or anything specifically pertaining to your product.  Vendors with only one other U.S. customer and a primary focus on B2C software or internal IT applications won’t gel with your endeavors.  Also, if you’re an expansion stage software company or a start-up, you do not want a vendor that only deal with big-name clients like HP and Microsoft.

Best Practice and Tool Adoption

Best practices never stand still; a company should always be improving, reassessing, and evolving—is your offshore software developer keeping up to date?  You want a vendor that’s keeping up with cutting-edge practices and tech tools, as technology is constantly changing, and a vendor that employs outdated methods—even if they’re only six months moldy—is a team that’s not taking advantage of the latest industry advances in productivity and quality.

Turnover

Examine your vendor’s HR track record and ask what percentage of employees did they lose last year?  How about the year before that?  The last stumbling block you want to stub toes on is a team that is constantly changing, as that signifies low productivity, possibly defects, and constant re-education—by you.  There are secrets to retaining key employees, and your vendor should know them by heart.

Access to the Best People

There’s a reason the Agile Manifesto states top-notch personnel access as its first value. Individuals and interactions are essential, even over processes and tools.  If you don’t have a great (and retainable) outsourced team, you won’t have great software built with great productivity, no matter how many other checkboxes your vendor knocked off the list above.  Ask probing questions about how the vendor sources, recruits, trains, and retains the best developers in their locale.  Do they have university relationships?  Do they have a special training unit?  What benefits do they offer?  How do they compare with other companies hiring developers?  Who are those other companies?  Take a look at these 8 Tips for Hiring at Startups to get ideas on what questions you should be asking.

Price

If you buy cheap, you’ll get cheap—but that doesn’t mean picking the highest price tag will elucidate better results.  The cheapest vendors probably don’t have the best developers, or they have a hard time retaining them.  The most expensive ones are probably making too high a margin on you.  Try to find a vendor that rests comfortably in the middle.

Also, do not negotiate price too aggressively.  You want your project to be valuable and financially important to your vendor, which guarantees devout attention and stellar allocated resources.  Remember, this is a partnership, so if you “win” a price negotiation, you might ultimately “lose” on getting great software fast.  Fear not—there is a win-win situation with some contentious agreements.

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.