In today’s world, you have myriad choices when it comes to software outsourcing. Moreover, outsourcing vendors also offer flexible pricing and services to meet any of your needs.
Nevertheless, finding the right partner to develop your software or build a mobile application can be hard. The software outsourcing market is getting competitive more than ever. Every vendor seems to proudly showcase their experience. All that can be quite confusing if this is the first time you look for software outsourcing services.
In this article, we provide you with the outsourcing software vendor selection process and a checklist for doing so.
Key factors to consider when evaluating software outsourcing partners
Before searching for a software outsourcing partner, you should take the time to understand what your project needs. Questions such as the type of project, key requirements, and preferred engagement models must be answered beforehand.
1. Evaluating your Project
To better understand your project’s needs, here are a few steps you could do:
- Define the project types – is your project just a simple MVP with a few simple features or a complex system with the possibility of many changes to requirements in the long run?;
- Evaluate the project scope – what are your project’s specific goals, deliverables, features, functions, and tasks? You don’t need to have a perfectly clear idea of the product. It only means that you should decide on those details that you expect from your product;
- Estimate the project budget – Do you have a range of budgets? budgets for small projects with predictable requirements are easy to calculate. But a large project would require changes over time, making it difficult to budget in advance; in this case, you may want to re-evaluate the project’s cost times and again as it progresses.
- Decide the time to market – Is early app release important? Or are you fine with spending more time on developing and fixing the product?
- Set deadlines – Which date do you want your product to be released? Is it 6, 12, or 18 months from now?
- Choose a software development methodology – Do you want to use Waterfall, Incremental, Agile, RAD, or any other?
Each of these steps would later define the service that the software outsourcing vendor would provide you.
2. Choosing the Right Engagement Model
Now that you have evaluated your project, you should next decide which engagement model is best suited to your project. This step will shape customer-vendor contracts, which include terms of cooperation, project timelines, pricing policy, and other regulations.
Some of the most popular engagement models in software outsourcing are:
- Fixed price model
In the fixed-price model, the service comes at a fixed price. It implies that you need to have all the requirements clearly defined at the beginning. Any changes after that would incur fees. The fixed price model is suitable for simple projects where you know perfectly well all the features and requirements.
- Time & materials contract (T&M)
The T&M model allows you, as the client to be actively involved in the project. You can decide which features the vendor needs to spend time, and the order of those features. Moreover, you can input as many changes as you want until the final product meets your expectation.
T&M is suitable for lengthy and complex projects, where requirements aren’t clear. However, the cost can be high as it typically is charged at an hourly rate. The longer the project, the higher the cost.
If you choose this engagement model, you will have a full software development team to take care of your project. The dedicated team usually includes front and back-end developers, QA engineers, designers, project managers, and any other roles you need to build your software.
Depending on the vendor, you can scale the team up or down to fit your project’s needs. They are organised into scrum teams with 6-10 members, starting out with 1-2 scrum teams and are performed as a flexible engagement structure to plug in your existing teams.
- Outstaffing
The outstaffing model means that you would add only some particular specialists into your in-house team. In this model, the outsourced staff would work full-time under your supervision. Outstaffing is a type of staff augmentation, where customers need to augment their team capacity or hire in-need workers.
Here is the comparison between these engagement models so that you can make your best choice:
Factors | Fixed price | Time & Materials | Dedicated Software Development Team | Outstaffing |
Budget | Predictable | Can be re-evaluated (increase or decrease) during the project | Based on the number of staff, hourly rates, and project duration | The outsourced team is fully under the client’s management, based on hourly rates |
Changes to Requirement | Impossible | Possible | Possible | |
Timeline | Easy to set timeline | Timeline can be adjusted | ||
Iteration | No iterations and only one-time development | After each iteration, the result is re-assessed and the requirements are reconsidered | ||
Client’s involvement | Very little | Regular | Constant | Constant |
Cost | Fixed price per project | Hourly rate of each team member, and the payment is due monthly | The entire team is paid monthly | Hourly rate |
Main Vendor Selection Criteria
After evaluating your project and choosing an engagement model, now is the time to assess your outsourcing vendors. The process of evaluating vendors is often based on the bidders’ experience, portfolio, reviews, and some other factors.
Below are the few essential criteria for evaluating software vendors:
Experience
Different vendors can have different years of software development experience. Each of them also has different levels of domain expertise. For example, there are vendors that are excelled at banking and financial software, but are inexperienced in retail apps.
In other words, you want to look for vendors who do not only have many years of age, but also have experience in your industry.
You can always find software outsourcing vendors with considerable experience and relevant domain expertise on listing sites such as Clutch and Glassdoor, Upwork, and others, or social media like Facebook and LinkedIn.
Experts
It’s not always easy to source technology experts in your area. This is why many companies look for vendors in offshore countries, such as Vietnam or India.
If your businesses are looking for certain professionals outside of your countries, you need to:
- create a shortlist of the vendors experienced in your domain;
- prepare a set of questionnaires for the specialists for when you have face-to-face interviews with them.
Another factor is infrastructure, including software, hardware, and even network. Software vendors should provide you with enough infrastructure to ensure that the delivered apps are thoroughly built, well tested, and the data is securely stored and transferred.
Portfolio and References
Once you have a list of their potential candidates, you want to shortlist them further. To do this, you can investigate software outsourcing vendors’ portfolios and references.
You can go to the vendor’s websites and look for:
- how well they are organized and built;
- what projects they have in their portfolios;
- If they have testimonials from past customers;
- what kind of domain expertise they have.
And don’t forget to visit their social media sites and listing sites like Clutch to search for more reviews.
Location and Communication
If you are looking for offshore software vendors, it’s still important that they can visit your headquarters. This will help the two to build relationships. Therefore, you should search for vendors within 3-6 hour flying distance.
In case that outsourcing vendor’s location isn’t that important to you, you would nevertheless need communication channels. At the very least, the vendor should provide you with:
- Communication platform, such as Skype, Slack,and corporate emails;
- Apps for project development and progress tracking, such as Basecamp and Jira;
- Video conferencing apps such as Zoom and Skype and a schedule for planned meetings.
Besides, you want to make sure that the vendor has a strong command of English language, and consulting skills to readily answer all your queries.
Read more: Your Checklist for Selecting IT Outsourcing Vendor
Pricing
Pricing seems to be the biggest factor for many businesses when evaluating software outsourcing vendors. Although pricing is important, you shouldn’t base your choices only on it. For example, the cheapest initial rates can lead to the highest expenses in the long term.
Moreover, cheap rates are often associated with low-experienced vendors. This can lead to longer product delivery, poor testing and security, higher rates of bug fixing, and unprofessionally developed apps.
Checklist for Evaluating Software Outsourcing Vendors
1. Country evaluation
Political Stability | ✔️ No political conflicts ✔️ No religious disputes ✔️ Stable economic growth |
Nature | ✔️ No earthquakes |
Technology Infrastructure | ✔️ Internet connectivity ✔️ Electricity up-time ✔️Transportation |
Talents | ✔️ Number of IT graduates ✔️ Availability of resources ✔️ Supply versus demand |
Language | ✔️ English, Korean, Japan, … |
Pricing | ✔️ Fixed Price ✔️ Time & Materials ✔️ Dedicated Software Development Team ✔️ Dedicated Software Development Team |
Others | ✔️ Tax Incentives ✔️ Time Zone |
2. Vendor evaluation
Track Record | ✔️ Company profile ✔️ Reputation ✔️ Years of experience in software outsourcing ✔️ Past projects that are relevant to your needs |
Clients | ✔️ Number of active clients ✔️ Number of active clients that are large corporations ✔️ Number of clients in your industry |
Products & Services | ✔️ List of available services ✔️ Compare to your needs in the short and long term |
Infrastructure | ✔️ Ability to expand ✔️ Internet connectivity and VPN ✔️ Network and communication ✔️ Backup systems |
Global Presence | ✔️ Overseas offices ✔️ Offices in your country |
Talents | ✔️ Number of talents ✔️ Ability to attract talent ✔️ Recruitment process and criteria ✔️ Staff incentives ✔️ Attrition rate ✔️ Training methods |
Technical Skills | ✔️ Coverage of Skills ✔️ Experience in large and complex projects ✔️ Innovation, R&D capability |
Quality process | ✔️ Engineering process maturity ✔️ Certification ✔️ Project management tools ✔️ Metrics ✔️ Reporting ✔️ Visibility of offshore team activities ✔️ Escalation procedure |
Language skill | ✔️ Language proficiency (written and speaking) ✔️ Language training methods |
Relevant experience | ✔️ Domain expertise: finance, banking, education, e-commerce, healthcare, education, ✔️ Technical skills: C++, Java, C#, PHP, mobility, cloud, testing, |
Ramp up capability | ✔️ Resource pool ✔️ Ramp up time |
IP Protection and Security | ✔️ Physical security ✔️ Network security ✔️ Data security ✔️ Internal procedure ✔️ Business continuity |
Pricing | ✔️ Pricing models ✔️ Blended rate ✔️ Rate increase |
Explore: Top IT Outsourcing Providers for Large Enterprises in Vietnam
At KMS Solutions, we provide world-class IT services that help companies of all types embrace digital transformation at ease and with speed. If you are looking for high-quality and affordable IT outsourcing services, let’s talk.