August 7, 2024
Checklist for Selecting an Offshore Software Development Team
Written by: Ryan Schauer
Now that you’ve made a decision to make use of outsourcing as a way of expanding or enhancing your business, you are likely finding yourself in the difficult situation of identifying which vendors or business partners will most effectively help you reach your goals. You’ve gathered tens, if not hundreds of outsourcing companies, but you need a basic way of evaluating them so that you can boil down your raw samples into a few true prospects.
In order to effectively use this checklist, go through each company, and for each aspect, assign a value to each aspect, and weigh each of these criteria according to their level of importance. After you have gone through each aspect of these, you will be able to total up your results and identify the teams that will most likely suit your needs.
It’s important to note that just because one vendor has a score higher than the others, this does not necessarily mean that it is the one you should select. This tool should be used to gather a list of top contenders; it can help eliminate some vendors, such as those who do not have the requisite skills or domain knowledge to be truly effective partners. If you can narrow it down to, say, 10, and then further from there, this will help you decide which companies you wish to visit in person.
The Checklist
Once you’ve made the decision to outsource, you will want to rate each of the companies you’ve compiled to identify where their strengths lie, and what the advantages or disadvantages they may bring to the table. Here are the points that you should consider in your test.
Technical Expertise | Create a list of specific technical skills which are needed for your project. Weigh each one, and then for each company on your list, assign them a score based on their skill level, and importance. For instance, if you are looking for developers with certain skills for example: Java, Objective-C, and MongoDB, create a separate line for each one, and then assign a score to the company on a scale of 1-5 (5 being stronger). |
Domain Expertise | Understanding the subject matter or the knowledge domain of your product will help speed your process along. For instance, if you are working on a product for the healthcare industry, you will want to assign a score to each vendor based on their experience within this domain. Just like how you may need a Java developer for your project, an expert in the subject matter will be crucial for your project's success. |
Software Development Methodology | Do they use Waterfall? Agile? Which versions of Agile do they use, and how deep is their understanding of the process? Is quality control and testing a central part of their development methodology? Asking for a method summary can test how well your teams can work together. |
Size of Team Needed | Identify beforehand how many people you will need to work with to make sure your team will succeed; the guidelines you will use here will be similar to those you would use if hiring a team locally. Testing the efficiency of the team is a better method than testing the number of people on the team. |
Education Requirements | If the work you are doing requires some specialized knowledge (such as a master’s or PhD in say, data science), use this element as an indicator. This variable is one that developers often neglect to observe. |
Regulations | Do the teams you are evaluating adhere to well-accepted international standards, for example, ISO, CMM, Scrum, etc? Assign points according to these. Java developers or any developer will have a set of rules they need to adhere to, don't assume that these regulations are in check without taking a look yourself. |
Workday Overlap | Create an indicator here to identify whether this is a full-day overlap, partial-day overlap, or day/night difference. You may wish to give a higher score to those which are closer to your time zone. Being able to meet with your team is valuable, time zones can be an obstacle for these team meetings. |
Evaluation Steps
Once you’ve gathered a shorter list of potential prospects, you can narrow these down further. You will want to check references and examine the resumes of your potential business partners before you begin to negotiate rates and terms. Elevating a pricing model is another aspect to consider.
After you’ve narrowed your list to 3-5 companies, you will want to consider visiting them to get a general feel for how they operate. One of the most overlooked aspects of outsourcing is one of the most important, the direct human connection. You wouldn’t hire employees site unseen for your home office; you need to be sure that they can work with you, and that their work ethic matches the culture of your company.
Further Steps
After you’ve chosen a final company (or companies) you may wish to start with a smaller trial project to gauge how well your two companies will work together. This is a time-consuming test method but a rewarding one.
If you're looking for an advisor on your side who can connect you to these outsourced developers, Accelerance is here to help. Contact us to get started.
Ryan Schauer
As Accelerance's Partner Success Manager, Ryan is responsible for building partnerships and quality management of Accelerance’s global software outsourcing network. He maintains a working knowledge of in-demand technologies, industries, strategies and practices relating to software development outsourcing. He has more...
Recently Published Articles
View All PostsSubscribe to email updates
Stay up-to-date on what's happening at this blog and get additional content about the benefits of subscribing.