Software is currently one of the essential parts of most businesses. Therefore, finding the right software development vendor is the key to your success. The number of software outsourcing companies is almost infinite - from small shops to giant corporations.
I will help you to navigate through - what, in my opinion - is the excellent process of finding the right fit for your company.
What you’re looking for?
The first thing you need to do is understand what you’re looking for. The most important thing (probably the easiest) is to write down which technologies you need to use. It’s easier when you already have a product because, in 90%, you will simply stick to what you already have. If you’re just starting, it’s a bit of a different story, but it’s not a story for this article. Here I will assume that the choice has already been made.
But technology is not enough. You need to also have some expectations as to
- Project management
- Style of work
- Size of the team
Those are just a few factors but, in my opinion, the most important ones.
Once you have figured that out, you can continue to the next part…
So, how do you find the potential candidates? The first, most straightforward way is to ask around. If you know companies using similar tech stacks, you should ask them if they have a software outsourcing company they can vouch for.
But that is not always possible, so the next step would be to find companies through Google (it’s an OK idea) or through catalogs that verify the companies (like Clutch.co). Those services keep track of different companies and allow their clients to write recommendations. So this way, you will have some means of verifying your potential partner. Naturally, you have to look at the companies with more reviews, which are spread over time, giving you a better chance that they are valuable.
Once the research is done, you should choose a maximum of 3-4 companies to talk to - as the more companies you choose, the harder it will be to make an assessment. So what factors should you consider when making your shortlist? Let’s take a quick look at a few that I’d recommend.
One of the most important are the values. Naturally, you may never be sure if the values presented in their marketing materials are valid, but that’s the first thing you should start with. To do that properly, you also need to address the company values that you follow - to know what you’re looking for.
You have to ask yourself what type of quality you are looking for. You should always try to find the best quality, but I can also imagine situations where quality is not the primary concern. Very often, the team size or the development speed is much more vital than quality - especially if you know that you’re merely building a proof-of-concept. In that case, you can put lower pressure on this factor and focus on quality when you have traction and decide to throw away your prototype.
If you look for quality, you should take a closer look at some small things like technological blog posts, conferences that the company is involved in, or communities they are actively participating in.
Open source projects are also a good nice-to-have but not essential. Basically - if a company is saying that they are quality-oriented, but there is no trace of their involvement in tech-industry, then I’d treat it as a yellow (if not red) flag. You can also take a look at their senior-to-junior ratio, which (in my opinion) shouldn’t exceed one junior per one senior - hopefully, it should be smaller than 1.
This one is somewhat connected to seniority. If the company is ten years old and has no colossal rotation, you may expect it will have a good experience. Naturally, sometimes you can find a newly founded company, but with experienced founders, that may be a perfect fit for you.
Years of experience are not the only thing you should look for. Any similarity to your project is a must. For example, if you have a mature product with a large codebase, you should look for a partner that has already worked with such a company. At the same time, if you’re building an MVP, you must find a company that knows how to approach an MVP - as it is so much different from ongoing development. This point brings me to another important aspect.
Field of expertise
You should check if the company you’ve shortlisted has experience in your business area. So if you’re building a Fin-Tech, find a company that has already been involved in a similar project. Otherwise, there may be a lot of domain expertise that you will need to transfer before starting the development.
Naturally - it’s not a MUST, but it smoothes the cooperation long-term. Understanding the business you’re involved in will speed up the development and will probably be less prone to errors as the experience gathered before will already give you a head-start. Additionally, the vendor may have used some cool 3rd party solutions you have never heard of, which may save you a lot of money and give you a tremendous business advantage for your clients.
In my humble opinion taking a closer look at the way the vendor is recruiting people is very important. The reason for it is simple. Even with the lowest rotation, the company is bound to have some changes in your team. And that is why you need to be extra sure that the way they recruit people will result in hiring similar engineers to the ones you will know during your cooperation. You should be sure that they look for culture-specific things in people that you require. Otherwise you may be surprised that sometimes the people that are rotated are of significantly lower quality than the ones you had before.
Once you have figured out the points above, you may turn your attention to the aspect that will heavily influence your experience - the cooperation process.
Will the company provide a project manager?, How will they attend to urgent tasks that are out-of-planned-scope?, What’s the project management methodology they follow? These are just a few examples, but you should clearly understand how the planning process works and how it’s implemented and taken care of later. You should also be clear on how you will assess the quality of the work provided by the vendor.
And last but not least, you have to have a feeling that the way of communication between your company and each team member (or a project manager if they will handle the communication with the team) will be satisfactory, clean and honest - as this (in my opinion) is the key to good cooperation.
Whichever company you decide to talk to, you should always ask for meaningful references and check on them. What do I mean by saying something meaningful? They should come from companies similar to yours - either by field of expertise, size of the project, or even the same cultural circle as yours - because we know that different countries and cultures have slightly different attitudes towards their work.
As you can see, finding the right software outsourcing company is not easy. And to be honest - it shouldn’t be. Bearing in mind that this company will take care of the most important part of your business, you should feel comfortable with them and be sure about how they handle their clients.
In my opinion, once you’re down to 2-3 companies, you should try meeting them in person to feel the vibe and meet the people you will work with for the next few years. That is why it’s usually a good idea to focus on one specific region. **The good news is that Polish engineers are considered one of the best in the world, and their work culture is high. **
That’s why if you feel that what we do here at Sunscrapers is something that you are looking for, you should drop us a line, and we will take your product to the next level and continue to do so over the years to come.