In the last post, I shared my thoughts on building an in-house team. This time, let me discuss an alternative.
If your business isn’t strictly about the software, e.g., you aren’t building a dating or social app, it probably makes sense to outsource the development.
What are the pros of outsourcing?
• You benefit from the knowledge gathered by the agency over the years. They might have solved similar issues before. The team shares the knowledge and experience not only within your project but across the whole company.
• The entry cost might be significantly lower. You don’t deal with the recruitment, hardware, onboarding, etc.
• You are able to scale the team quickly.
• The team is built by professionals. They are able to suggest the team size, competencies and roles according to your needs.
• You are able to focus on the business instead of dealing with the day-to-day problems, like days off, team rotation and so on.
• You don’t struggle with the technical issues so much. In the case of issues, someone from another project might get involved in finding a solution for your team. This is related to the knowledge sharing in the company.
There are plenty of software houses and development agencies out there.
How do you choose the right partner?
A few things to consider:
1. There is something more important than recognizable brands in the portfolio – The success of individual projects.
Ask about success stories, about the user-base and size of the products that they are most proud of. Check how long they’ve been cooperating with the clients.
It’s not the number of completed projects, but their success which makes a software company good. In the end, you also want to succeed, right? Not just build and release the product.
- Since the first contact, you’ve received plenty of signals indicating whether the company is right for you.
The sooner you speak to the technical people, the better. The reason for this is that you can evaluate your idea from the technical perspective. You will get feedback about complexity of the project and potential obstacles that can occur. You’ll also be able to evaluate if the team understands your goal and whether the team is eager to build the product that will succeed.
3. Make sure that you will have direct contact with the team.
Not just through the manager. The closer to the team you can be, the better. You are the one that has the most context. The more of that you can provide to the team, the better software they can build. Teams are eager to cooperate with the client. They want to have a positive impact on your products. That’s what drives them!
- Every company has its own technology stack that they offer.
Does it fit all the projects? No. Is it offered to every project? Yes.
Does that mean you should choose the technology first and then find a company?
No. Most modern technologies can handle a majority of applications. The reason that a software house offers technology X and not Y is because they have a specialist in this area, which allows them to build products quickly and keep the quality on a certain level.
I would rather rely on the experience of a given company than the technology they offer. Ask the company about the limitations of the technology they use. Experts will be open to speak about it.
- People working in software houses deal with multiple products from different industries.
They know how to sustain a good quality team and how to maintain big systems. That is the foundation of good software companies, so double check if that is the case.
In the next post, I will help you understand how you can make sure that cooperation with the selected company goes smoothly.