Software outsourcing vendor selection process and criteria
If you are looking for an outsourcing vendor for the first time, it may seem a bit overwhelming at the beginning. There are so many software development companies out there, how to choose the right outsourcing partner? They all have pretty websites and boast to have global industry leaders among their customers, but which of them is the perfect choice for your project?
Let’s zoom out a bit and look at the problem from a wider perspective. At the end of the day, selecting a vendor for outsourcing is similar to selecting a provider of any other service, for example, a babysitter. Your project is your baby in a way, isn’t it?
What do people do when they are looking for a babysitter? They do a lot of active searching and researching:
- Defining what they want from a babysitter (the number of hours per day, additional skills, etc.)
- Asking around and browsing the local announcements
- Selecting the candidates by experience and rates
- Interviewing the candidates and checking their references
- Testing the candidates that seem suitable (by having them spend a couple of hours with the baby, for example)
- Choosing the one that both the parents and the baby like best
Now, project this to choosing the software development outsourcing company – this is almost exactly what you should do, with certain adaptations, of course. Let’s put together an action plan of finding the right outsourcing partner.
1. Prepare the project specification
Before starting to look for outsourcers, define what you want them to do for you. With a clear idea of how your project should be developed, you can do the initial screening and the final selection easier.
We recommend including the following points in your project specification:
- Type of the application you need to be developed. Is it going to be a social app or a music streaming app? A marketplace or an on-demand app? An IoT platform or a training simulator? In any case, outline the goal and purpose of the application, even if broadly and with little detail.
- Platforms where you want to run your app. Web, mobile, or both? This point may influence the technology stack and, consequently, the development skills that you need in your outsourcing team.
- Technologies that should be used. If you have a particular preference as to a technology – for example, if you are outsourcing only a part of the product while the rest is built in-house, it would be wise to have both parts of your team to use the same technologies.
- Estimated deadlines. Of course, the development team will propose its project plan together with the timeline, but you should have an initial idea of when you want to have an MVP or the initial release.
- Other requirements, such as whether you want your outsourcing team to be located in a particular country or region, whether you will need them to provide post-release support and maintenance, and so on.
With a proper specification, it will be easier for you to do the initial search. Besides, knowing what you need to be done gives you a stronger position in the negotiations with the prospective vendors.
2. Search for candidates
Use your project specification as the search criteria to find similar projects that have been delivered already. The results of this search will point you to the companies that did the development, thus narrowing your list.
Once you have found a half-dozen names, research their own websites. Browse the case studies, see whether the team is introduced. If so, try to find their profiles somewhere else, for example, on LinkedIn, to get the idea of their experience. Read the company’s blog to see their general approach to the working process and the challenges that they had to face.
In addition, Google the names of the companies to see any information that pops up. Customer reviews, employee feedback, references to the company in the context of professional events – anything can help to shape the outsourcing company’s image.
3. Reach out to the candidates
Now, it’s time to contact the companies that you have chosen. To further filter your list of candidates, ask for the following:
- Rates. Too high development rates will not fit your budget, while too low rates may also ring some alarm bells. A company with rates far below average may lack the necessary experience.
- Main areas of expertise. This information will help you to judge whether your type of project belongs to the core areas where the company operates or whether it is a sideline of their business.
- Certification data. In software development, many processes are subject to international certification, such as ISO. If your project requires such certification, ask the development company whether they have the corresponding certificates.
- Security measures. Cybersecurity is important for the whole duration of the development process as well as after the product release. Often, the development is done on platform services hosted in the cloud, thus the proper protection should be ensured from day one.
- Availability. Ask the company when they can start working on your project and see how it fits your expectations.
- Other similar projects that they have delivered. The information received directly from the company may allow to get a better picture of their experience.
At this stage, you are getting your first impression of your prospective vendors. By their response to your request, you can already filter out several candidates by how promptly they get back to you, how completely they answer your questions, how ready they are to take on a new project. Some of them may have too little experience in your field, and some may be simply unavailable.
4. Study the references
Even though you have already looked through the customer reviews and read the case studies, ask for references from the previous customers. Contact them and ask their feedback on the cooperation with the outsourcer.
Talking to other customers may yield some useful information that you cannot obtain elsewhere – the outsourcer’s communication discipline, their view of deadlines, their ability to cooperate with the in-house team, and so on. Of course, ask how the other customers are satisfied with the quality of the delivered product – the excellent quality and performance may outweigh some routine issues.
5. Discuss the project with the selected candidates
After the initial correspondence, you may have a somewhat shorter list of companies that may be OK for you. Time to lay your cards on the table, that is, to discuss your project in details. The important thing is that before you begin, have each of the companies sign an NDA – your project idea may be its greatest value.
On the basis of your specification, ask the companies to prepare an estimate including both the costs and the time. Studying the estimates will help you narrow your list of candidates even further.
We recommend not to consider the companies that are too optimistic about the project delivery time. If the majority of your candidates estimate a more or less similar timeframe, that is, probably, how long it is going to take. Contracting the company promising to deliver the project in a much shorter time is very likely to end with a poorly built product or severely missed deadlines.
The same concerns the costs. Too high or too low costs should not attract you. High costs do not necessarily mean high quality, while low costs almost always mean a lack of experience. However, we do not want to discourage you from working with young companies who are still earning their reputation. If you like everything else about them, why not give them a chance?
6. Test the candidate
By now, you must be down to a couple of companies to choose from. Ask them to do a little practical test. The best test task is developing a small complete feature that may become a part of your project.
The task should not take long to complete – a couple of working days at the maximum. At the same time, it should show the outsourcer’s ability to develop, test, debug and demo.
In all cases, pay the company for the test task. Make a separate agreement using the standard outsourcer’s rates and pay according to it. If you decide to continue with the provider, you will use the completed feature in your project. Otherwise, knowledge also has its cost.
7. Congratulations – you’ve found your perfect vendor!
All previous stages of the vendor selection process have been leading you to this point. The company that satisfied all your outsourcing evaluation criteria, such as the rates, deadlines, processes, technology stack, security, and passed the practical test looks very likely to become your reliable partner.
It may seem that choosing an outsourcing vendor is a long and complicated journey. True, it does require some effort on your side, but it is totally worth it. The worst that can happen to you is having to dismiss the outsourcer in the middle of the project and find another company willing to finish it (and, believe it – development companies do not like to finish and repair what someone else started).
We hope that our outsourcing vendor evaluation checklist helps you to find the company that becomes your partner for years and that you can do a lot of great projects together.
If your interests lie in the area of web and mobile app development, you can try us as your outsourcing vendor. We will be happy to go through all these stages with you and prove our ability to deliver a quality product.
Start with browsing our website and studying our portfolio, and if you like what you see, contact us to discuss your project in more detail.