June 18, 2020 • 7 min read
So you've clarified your outsourcing needs, found potential software development providers that may fit the bill, and you've even narrowed down the list to three or four companies. Now, it’s time to evaluate each of them CAREFULLY—find out what they’re made of as a company and try to see which of them could be the most ideal outsourcing partner for your organization.
Assessing software development outsourcing companies involves several steps. I'll be frank with you: it’s going to be a lengthy process digging through all these. But you’ve got to start somewhere—and with a complete step-by-step guide, you're sure you won't miss a thing.
Listen to the podcast or click on the video if you prefer listening to the rest or you just want a hands-free option:
And if you want to be thorough and be sure to get the entire guide... check the rest of this article that explores the first two aspects of a potential provider you may want to examine and evaluate: their backgrounds and their capabilities.
First off, the most basic questions you need to ask are: 1. How long has the company been running? and 2. Who are the people behind it?
These are particularly important because having confidence in the management team of your chosen provider and their level of experience builds trust. Mutual trust plays a huge role in the success of any outsourcing partnership.
So I encourage you to learn as much as you can about their expertise, management style, and company ownership. After all, the founders’ values with which they started the company, and the experiences they’ve gained in running it radiates throughout the whole business.
If the organization is still run by the same people who founded it, say 10 years down the road, then you add points for that. It shows not only the level of commitment that the founders have for the company that they’ve created but also their technical capabilities and business skills that have kept them successful all these years.
Next, try to get a sense of your shared values. See if there's a match between your needs and the provider’s experience, and if their long-term goals are compatible with yours. What is their vision as a company? How does this fit with your company’s own values, outlook, and needs at the moment and possibly in the future?
To get more enlightening answers for these, there's nothing better than an on-site visit to their offices, if such is possible. An actual visit gives you a more hands-on approach because you get to observe them yourself rather than just rely on what you read about them.
A meeting with the management (and maybe some of the employees) will also give you a feel of how things work at their end. Just how involved are the developers in a project? Does it seem purely a job for them or are they actually concerned about the output? If given the chance, attend an internal meeting. That would be an even better way to discover more about their capabilities, and you get to observe the various roles in the team at work.
Now, researching the provider’s background also includes researching their clients. Ask who their key clients are and where you can find testimonials. You may already have gotten a review or two about this provider from sites like Clutch or Goodfirms, but it’s always better to talk with clients personally.
As your discussions with the potential partner progress, you’ll eventually get the chance to know about their existing clients and try to get in touch with them. You can do this by visiting their office if this can be done and if they welcome it, or even just through a video chat.
Not only will this provide useful feedback about client experience, but this may also give you tips about the beginning of the relationship, and how to manage a long-term collaboration with that particular provider.
Last but not least, as much as you want to know about the potential provider, you also need to make sure that they understand who you are and what you need. Because they want the partnership to succeed, a good outsourcing provider would want to have a good understanding of how you operate and your expectations about the relationship.
Make sure they know that you expect them to propose the most relevant setup for your organization. But at the same time, provide them with all the information necessary—your current setup, team size, skill sets needed, technical challenges, etc.—for them to be able to do this. This would lay the foundations of a solid collaboration between you and the provider.
You won't be able to tell whether a provider's capabilities actually match your needs or not unless you're clear-thinking about your own strengths and weaknesses, and the exact skills gap you need them to fill. The 4 types of capabilities you need to look into are:
A. Primary skills and technologies
B. Add-on skills and services
C. Size and structure of the company
D. Readiness to deploy
It’s important to make sure that the provider has all the technical capabilities that you’re looking for. Hiring experts with just the right skills for a specific project is not that easy and would take time.
You don’t have to find a provider that is an expert in a broad range of capabilities because that’s actually difficult to achieve and maintain. If they try to specialize in too many programming languages, they might end up being a jack of all trades and master of none. Instead, a company that is highly experienced and knowledgeable with three or four languages (for example, it could be PHP, JavaScript, .NET and JAVA) that you work with the most would be an ideal partner for the long term.
Also, having senior engineers who can guide and train the development team can be an important plus. After all, maintaining a pool of developers who are experts in a certain technology requires some work. But junior developers who are still honing their expertise on a specific technology can be on the fast track with the right guidance and training from skilled mentors.
Do you need other professionals to help you with QA, UI/UX design, software architecture, cloud monitoring, or technical support? These are not strictly software development services, but more often than not, you would need these when you have a development team. Believe me, these unsuspected additional services may be a real game-changer in the long run. If possible, have these services included in the proposal that the potential provider submits so you would already have a good idea of their costs.
So, on the one hand, you need a big-name provider that has a rich enough talent pool to help you out in the long run. That’s always an obvious benefit to working with bigger, more-established companies.
But on the other hand, maybe you don’t want to be working with a company that's so big that they give you the feeling you don’t matter. Or worse, you get lost in the bureaucratic red tape when you try to reach management for important concerns. Ideally, you want to outsource to a firm that has the right resources to handle your project, but with a management that's still approachable.
Lastly, assess their immediate and future availability. How soon can they build your team? Can they cope with your ramp-up plans? It's important that you communicate your growth plans with the provider early on so they can anticipate your future demands and see how they can grow with you over time.
The same goes if you want to ramp down the team as well; communicate this early to your provider so that they can take proper action for the would-be displaced team members. Usually, a month of heads-up should be good enough for the provider to either ramp up or down a team, presuming that your requirements are not too complex for them to supply.
Keep this in mind so that you start your search for an outsourcing partner well ahead of time. You should then have a sufficient potential pool of outsourcing companies that you can pick from, and your decision will be based on all the factors we’ve mentioned rather than just on who can provide the needed resources immediately because there’s just not enough time.
As I’ve said, picking your software development outsourcing partner is a long process, but you have to take it seriously if you want the partnership to succeed. There are still 5 other key areas in evaluating that I want to share with you, including factors like company culture and security aspects—things you don’t come to mind immediately when you start your search but turn out to be very important in your decision making as well.
Got more questions? Drop us a line here!
Arcanys co-founder
Arcanys co-founder
Fred had been working on IT and operational projects in the finance and software industry in Switzerland for 10 years before co-founding Arcanys in 2010. With nearly 20 years of experience in the industry in Switzerland, Hong Kong, and the Philippines, Fred is now leading the worldwide sales and marketing efforts of Arcanys.