How to choose the right software development company

Once you decide that outsourcing is right for your business how do you make sure you find the right partner?

We’ve prepared a step-by-step guide covering the most important milestones in the process of  choosing the best partner. As the old saying goes, ‘the devil’s in the details’, so consider this a checklist to help you cover all the details, along with practical tips for each step.

Using it will seriously increase the odds of finding exactly the right partner. There are thousands of outsource software vendors, but your goal is to find the one that can build your software.

Step 1. Homework

People often start by searching for the “best outsourcing companies.”  The problem is that there is no “best” company. Each software project has a different ideal partner, so your starting point needs to be a detailed understanding of your project and it’s desired result.

Undesirable outcomes are often the result of a lack of clarity and detail. You need to assemble and organize all pertinent information.

  • Clarify your vision, not just in your mind, but in writing. Clarify it to the point that a stranger could read it and understand your vision.
  • Clarify and set your expectations of what should be done.
  • Write technical requirements. If you aren’t technical describe what you want and how it should work in more detail, (stay open to helpful suggestions from vendors).
  • Create a list of soft skills that you want in the team members you interface with. Organize any additional data that will help assure success with your vendor.
  • Craft your RFP.

Tip: There is no such thing as too much information in software development! The more developers know about what you want to build the more the final product will meet your expectations.

Tip: When writing technical requirements don’t ignore the later stages of development. Testing, integration with other software if required, support & maintenance.

Tip: Be sure to make thorough documentation a requirement in your RFP.  That is what allows you to develop your project successfully in the future.

Tip: Include some user stories in the feature description. Stories help your technical team visualize the desired end result, better understand your needs, and offer ideas and guidance based on the their previous experience.

Step 2. Vendor list

Start by identifying a list of 15-20 vendors that are worth checking out. Source the list from (in order)

  1. your trusted networks;
  2. related websites;
  3. your social media;
  4. Google search.

Take a quick, preliminary look at each website. Check expertise, industries worked with, information about the company. Don’t dive deep into details, you just want to get an overall feeling as to whether they fit your needs.

Tip: When asking for vendor recommendations, include enough information to make referrals  relevant (how much detail depends on whom you are asking).

Tip: Be careful not to be overly influenced by whoever referred the vendor.

Tip: Don’t waste time digging into details and evaluating risks {link to the post} at this point, because it’s very time-consuming. You will do that later during discussions and when checking portfolios and references.

Step 2. Cut your list.

Now that you have a better understanding of the players on the market the elimination process should go more quickly.

Prioritize the list based on your initial objective review. Check each portfolio with attention to details:

  • average size of project
  • focus: enterprise, SMB, high growth, startups, or MVPs
  • technologies: languages, platforms, methodology, etc.
  • are employees full-time or contracted

The in-depth analysis should reduce your list by about 50%.

Tip: The best results are from teams who have worked together, ideally on something similar to your product.

Tip: Save time by not focusing on the risks previously discussed. Evaluate the information on vendor sites and save the risks for discussions and when checking references.

Tip: The smartest approach is to track your potential contractors via a spreadsheet. Prioritize the 5-7 most important factors for you and score each factor 1 to 10.

Tip: Ignore time zones. It’s common practice among the best vendors to adjust to your schedule.

Step 3. Quotes.

When comparing vendor quotes focus on

  • timeline;
  • developers, including QA and testing;
  • project manager;
  • development cycle;
  • development methodology; and
  • cost

Quote analysis and comparison should reduce your list by another 50%, so you are left with 2-4 companies to interview.

Tip: The best quotes should include everything mentioned above and more, including stuff you may not have thought about.

Tip: Big price or time differences between vendors may mean you haven’t provided enough clarity OR be seen as a big red flag.

Tip: Ask each vendor the same two, non-obvious/difficult questions that you, or someone you know, can answer. Be sure the questions have specific answers. 

Tip: To determine responsiveness, ask extra questions, even if  they are unnecessary. It’s a good sign when the vendor responds correctly and in a timely manner.

Step 5. Interview.

Not counting contact with sales, your first interview is usually with a project manager.

Check previous experience on problem solving. Do you like the overall style and personality. You are going to be working with this person for the duration of the project.

The interview with the project manager is also an opportunity to understand the standard software development process used by the vendor.

Tip: Ask which communications tool they typically use and why they prefer it. There are plenty of communication tools (Slack, Skype, Webex, Go-to-meeting,, Google Hangouts, JIRA, etc.) that make it easy to collaborate from any location in the world.  Aside from your own preferences, their answer will give you more unfiltered information on their overall style of leading projects.

Tip: Use at least some open-ended questions that can’t be answered ‘yes’ or ‘no’. Example: What technology would you use if this were your project? Questions that require more than yes or no can give you an idea of how they think, if they can critique, and are they willing to make suggestions.

Tip: Don’t just focus on the company and its management. Ask lots of questions about the team.

  • Do they have previous experience working together?
  • How many new members on the team?
  • What is the turnover rate?
  • How do they hire?
  • What is the onboarding process?

A stable, cohesive team is far more likely to deliver a great product.

Step 6. Technical interview.

No one is expert at everything. Even if you have a technical background, and especially if you don’t, it’s wise to get additional input from other experts.

Tip: Sites such as  Hacker Rank, Interview Mocha, etc., can help you interview and provide objective evaluation.

Tip: When possible, a small test project is a good way to try out a team.

Step 7. After the decision

The work doesn’t end when the decision is made.  Expecting that your involvement/efforts end when you sign the contract is the most likely way to sabotage your project.

Tip: Treat your outsource vendor as an integral part of your company. You wouldn’t hand the product specs to an in-house team, ignore them during development, and expect a faultless result, so don’t ignore your outside team.

Tip: Outsourcing is like everything you do; you get out of it what you put into it.

Leave a Reply

Your email address will not be published. Required fields are marked *