Offshore outsourcing, in the broad, is continuing to grow – according to GSA, 70% of companies surveyed suggested that they would outsource more in 2020, with half of those suggesting a big increase in outsourcing.
Why do companies continue to push more and more business operations towards external providers? The classic motivating factor is cost savings, but that’s no longer the case.
While businesses look to optimise costs, the choice of outsourcing vendor is now primarily influenced by the perception of partnership and trust. Businesses are looking for reliable technology partners offering value-added services and unrivalled expertise.
This article offers some best practices for hiring an effective offshore software development team, covering the following topics:
  1. The rationale behind offshore outsourcing
  2. Types of outsourcing engagement models
  3. Things to keep in mind when hiring an outsourcing partner
  4. Software development contract pitfalls to watch
  5. Structuring your offshore team
  6. Handling knowledge transfer in outsourcing software development
  7. Managing an offshore team for efficiency

1. The rationale behind offshore outsourcing

In the past, outsourced software development had a cost-cutting reputation: outsourcing as a quick and cheap method to get things done. As a result, companies associated IT outsourcing with affordable if second-tier solutions.
However, the outsourcing world has changed dramatically over the last decade. In part because vendors have improved their game, but also because companies increasingly struggle to build, in-house, the resources required to keep pace with a rapidly changing technology environment.
Recent surveys clearly suggest that cost savings are a low priority when it comes to outsourcing. Instead, businesses outsource in order to access skills. According to Harvey Nash/KPMG CIO Survey 2019, skills shortages are at an all-time high with 67% struggling to find the right talent. The top three scarcest skills are big data/analytics, cyber security and AI.
So, main reasons companies outsource their software development look more like this:
  1. A quest for skills and resources. Whether it is a lack of certain skills in-house or a restriction on available skills, many companies choose to outsource in order to accelerate projects beyond the abilities of internal teams.
  2. Harnessing innovative technologies. Cutting edge tech including AI, advanced analytics and blockchain are entering the mainstream, but competency in these technologies remains relatively uncommon. Offshore outsourcing brings innovative technologies on board, giving companies a competitive edge.
  3. Optimising operational costs of IT. Rather than just using outsourcing to cut costs on existing processes, companies are doing so – via cloud vendors, for example – in order to change existing processes: streamlining IT and optimising legacy IT systems.

2. Types of outsourcing engagement models

It’s not just the rationale that’s changed – organisations are also adopting unique models that extract better value. In our How to succeed at outsourcing software development white paper we highlight three engagement models that account for the majority of outsourcing approaches:
The model of choice will depend on the rationale behind IT outsourcing a software development project. The motivations behind also influence how outsourced software development teams are structured.
Engagement models breakdown
Outsourcing engagement models offer different services, levels of responsibility and expertise. This whitepaper aims to help you find the right model to fit your organisation:

3. Things to keep in mind when hiring an outsourcing partner

Outsourcing software development can be riddled with pitfalls and finding an outsourced provider that delivers a good match against organisational requirements and culture is essential. Some key points to consider when hiring include:
Choose a partner that operates transparently in providing issue management and resolution and make sure to outline roles, responsibilities and key stakeholder relationships – to keep your project moving smoothly.

4. Software development contract pitfalls to watch

Your potential outsourcing vendors shall undergo the due diligence process to ensure they have the skillset and integrity necessary to become a trusted partner. Also, there are some specific red flags in your software development contract that you need to pay special attention to. Otherwise, you risk being charged a significant amount of additional fees with no legal recourse.
First of all, you need to ensure your software development agreement correctly defines two critical aspects: project governance and the scope of work. From the very start, you need to specify who will be responsible for project management and what kind of deliverables your vendor is going to provide.
Also, make sure your software development contract gives you clear answers to the following questions:
These are only some of the key aspects your software development agreement should cover. Want to learn more on how can you identify and avoid potential contract issues?

5. Structuring your offshore team

Outsourced development teams are structured to meet a company’s particular needs. Where companies are simply looking to ramp up development capacity a generalist model may make sense, while organisations looking to innovate could opt for a specialist team that covers cutting-edge tech.
Offshore software development teams are generally structured in one of three ways:
  1. As generalists where the team contains a broad range of expertise that enables the team to carry out project development end-to-end.
  2. Specialist teams where participants have high levels of expertise in niche subjects, useful where projects require specific technology expertise.
  3. Hybrid teams that contain a blend of generalists and contributors with specialist knowledge.
The team can employ experts from a wide range of technological specialisms. The optimal team composition is the one that allows to successfully deliver even the most complex project requirements.

6. Handling knowledge transfer in outsourcing software development

There is, however, a point in any outsourcing relationship where a project is finished – and knowledge must be transferred to the client. Or to another technology partner that will pick up the baton.
Absent knowledge transfer there is a risk that the lost knowledge can so deeply undermine the success of a development project that the entire outsourcing exercise accounts for little. Importantly, knowledge transfer should account for both explicit knowledge (documented in data, records, files) and tacit knowledge (the experience, understanding, and competence of a team).
It’s unlikely that an informal knowledge transfer process will be comprehensive enough, instead a formal step-by-step process will bring the best results:
Some knowledge will inevitably be lost, but organisations embarking on outsourced software development can always capture the most essential knowledge by following a planned, comprehensive transfer process. If you want to dive deeper into the process of knowledge transfer, we've got a blog post covering this topic:


7. Managing an offshore team for efficiency

Top-tier software development firms will deliver excellent management skills, but that does not mean that clients can sit back passively.
Instead, for maximum success in any software development project organisations must closely manage offsite teams. We suggest five essential points to consider in order to avoid many common challenges:
  1. Responsibility, distribution, ownership. The level of control handed to a partner will vary depending on goals and the model deployed, but expectations must be clear. Likewise, lines of communications must be open and fluid. Assigning a RACI matrix can help delineate responsibility.
  2. Goals and risks. Any project carries risks, whether handled internally or externally. Clear goals can mitigate these risks, and so can risk controls including a secure SDLC, ensuring that information is always private and safe. Always sufficiently pad outsourced projects so that any overruns or unexpected events can be absorbed.
  3. Manage staff changes. Even in outsourced projects, the loss of a key project participant can have significant implications. Companies must ensure that project members are motivated to stay in the long run, while ensuring that knowledge is sufficiently spread so that no single person’s departure can significantly impede project progress.
  4. Encourage collaboration. Externals teams can easily feel disconnected from the organisation that hired them. Ensure outsourced teams are treated as part of the family, take their advice seriously and ensure the motivations for decisions are communicated clearly, as if external partners are stakeholders.
  5. Be proactive. An outsourced team is not a “set and forget” arrangement. Instead, an internal project lead must actively co-ordinate with external teams daily. Ensure communications are always understood, never assume that an acknowledgment means that real intentions were successfully communicated.
Offshore teams have a large degree of independence but must nonetheless be managed as if there is a degree of proximity. After all, an offshore team is tasked with building something that brings success for your business.

Select your partner carefully

That said, successful team composition, as well as knowledge transfer, depends on both sides: the client and the outsourcing partner – as does the success of outsourced software development.
ELEKS is a long-standing expert in outsourced software development. To find out how we can produce class-leading results for your software development project, simply get in touch.
Previously published at https://eleks.com/blog/offshore-outsourcing-challenges-how-to-hire-development-team/