Offshore Outsourcing Challenges Part 1: How to Hire an Effective Team
Your technology partner for software innovation and market-leading solutions. Visit us at eleks.com
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:
- The rationale behind offshore outsourcing
- Types of outsourcing engagement models
- Things to keep in mind when hiring an outsourcing partner
- Software development contract pitfalls to watch
- Structuring your offshore team
- Handling knowledge transfer in outsourcing software development
- 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:
- 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.
- 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.
- 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:
- Out-staffing. Whether a company chooses to augment staff numbers, hire a full team or indeed a full development centre, out-staffing helps to increase staff count and team size – and indeed the number of teams on a project. However, the organisation is in control of the team, and the outcomes.
- Product development. Alternatively, companies can contract for product development services where the entire project is outsourced against set requirements, at a fixed price. Outsourcing product development fulfils a particular need – a specific application, for example – and leads to a custom solution. The vendor is in control of the development process.
- Innovation outsourcing. R&D or innovation outsourcing operates at a higher level: instead of providing product specifications, companies hire a partner to evaluate the market state, develop a proof of concept and to examine the investment return of potential development projects.
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:
- Watch out for culture differences. Work culture differs from country to country – matching cultures are ideal but staying cognizant of cultural differences can help too. Consider whether your provider of choice has a task, or team-orientated work culture and evaluate their adherence to deadlines and their attitude to change. Communication, overall attitude and business demeanour matter too.
- Pay attention to the time zone. Outsourced teams do not necessarily need to be in a time zone similar to yours, in fact a difference in times zones can be a benefit. However, this depends on the nature of the project, and how deeply an outsourced team is integrated with an internal team.
- Consider development methodology and project governance. Check with the development partners whether the methodology in place matches best practice and your organisation’s existing practices. Project governance includes deployment of product to your environment as well as progress reporting.
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:
- What are your and your vendor's responsibilities?
- Are there any specific quality expectations and acceptance criteria?
- What experience and skill set should your team have?
- What are you going to pay for the work done?
- How will the ownership of the project move after its completion?
- Will your organisation own the code?
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:
- As generalists where the team contains a broad range of expertise that enables the team to carry out project development end-to-end.
- Specialist teams where participants have high levels of expertise in niche subjects, useful where projects require specific technology expertise.
- 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:
- Clarify the scope. You can’t collect what you’re unaware of, so understanding what knowledge an outsourcing partner possesses is key. Consider all documents, source code and ancillaries like processes and workflows.
- Define key participants. On both sides key staff will facilitate project success. These individuals are also essential to ensuring a successful transfer of knowledge. Ensure key individuals on both sides sit down to share insights.
- Collect and structure data. Capture knowledge in a manner that is easily digestible for individuals who have not participated in the project. Use a variety of methods: from documents through to on-site training, live demos and Q&A sessions. Compare the captured knowledge with the original scope of the knowledge transfer exercise.
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:
- 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.
- 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.
- 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.
- 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.
- 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/
Subscribe to get your daily round-up of top tech stories!