There are significant differences between software outsourcing partner companies that go beyond location and technologies (both important in themselves) that you may not have thought of.
Let’s cover these first two differences first.
Location can drive different workflows and processes. It is important to remember that there are world class software engineers in just about every major urban center around the globe. If you are looking for software engineering support, you have a wide variety of places to choose from. There are solid teams onshore, near-nearshore (Mexico and Canada), nearshore (in Central and South America) and offshore in Southeast Asia(Vietnam, Philippines) and South Asia (India, Pakistan). Eastern Europe offers some excellent choices as, increasingly, does Far Eastern Europe and Central Asia.
The second obvious difference is technical expertise. Some technologies are ubiquitous (e.g. IOS, Android, Responsive Web) others somewhat regional (e.g. embedded systems, data management), while others vary from firm to firm
Here are three additional differences between firms that you should be mindful of.
This is an obvious difference that is often overlooked. I would break the partner size into three categories:
- Boutiques (< 100 FTEs (Full-time equivalent));
- Mid sized (101- 999 FTEs); and
- Large (>1,000 FTEs)
Each segment has its strengths and challenges and you want to make sure these map to your needs. Boutiques are agile and focused - you’ll get their full attention, but they may have trouble scaling if you grow beyond 25% of their team. So, accurately estimate your growth trajectory is important when working with a boutique.
Large firms give you incredible access to resources (breadth and depth), but if your initial assignment is small - say less than 10 FTEs - you may get lost in the shuffle. It is hard to get the CEO on the phone to discuss your hot burning issue if you make up less than 1% of his business. If your project is too small comparing to partner size think twice before to sign a contract and starting the project.
It is good to know how your partner generates most of its business and how it is most comfortable working with you. Some partners are highly focused on working on a staff augmentation basis, where they provide FTEs who are integrated into your team. You manage them, the process and the deliverables. Others are much more comfortable with the fixed bid / project model, where you provide specs and they deliver a product to map to those. Others - and this is most common - expect to work as an Agile team, with dedicated FTEs that have a fair bit of autonomy but who are fully integrated into your workflow.
So, you need to choose the business model that maps best to your internal processes and development goals.
The third difference between outsourcing providers is how their business is configured. Most common are providers that have built an operating company with dedicated employees; these firms have spent a lot of time, money and energy building a business and a culture that enables them to attract, train, manage and retain excellent employees strictly in their home country.
Other providers have build a network of contractors with whom they have done a lot of work, who they know and trust and who hew to their work product standards. These providers can provide a deep and broad skill base and, given time, can scale as needed.
Finally, there are providers that have a home base, with a team like that described in the first configuration, to which they have added an onshore project management team. The client gets the benefit of a domestic - U.S. - project lead who manages the team in the home country.
It can be a challenge to figure out which configuration makes most sense - check the link at the end of this post to get our thoughts on this.
So, understanding what drives a software engineering organization - its size, its business model and its configuration - will help you understand what it can and cannot deliver and map the right firm most closely to your needs.
Accelerance, as a pioneer of outsourcing industry, provides advice on how and why to choose an software engineering outsourcing partner. If you have a development project in near future, check out our resources and get in touch with our experts.