"Everything you invest in hiring a good outsourcing team will return to you threefold."
Software developers will be familiar with this scenario: a request for major features in a reduced time frame (e.g. food image recognition with nutrition analysis in 6 months instead of 10).
With a shortage of skilled developers and very tight deadlines, the promise of an outsource team coming to the rescue throws a lifeline to keep a business afloat. However, it is not without complexities and challenges every step of the way.
Outsource or Else!: How a VP of Software Saved His Company, a business parable, tells the story of how Jason, a VP of software development, managed against all odds to complete a project successfully. This was achieved with the guidance of an eccentric consultant, Patrick.
Running in parallel to the business project is Jason’s own backyard landscaping project. Jason had entrusted the project to Mike, who made all the mistakes in outsourcing, with disastrous outcomes. The contrast in the two projects, though different in nature, serve to demonstrate how proper outsourcing management greatly enhances the chances of success.
Through this entertaining story, the authors Steve Mezak and Andy Hilliard effectively explained the 7 keys of outsourcing:
- Great developers are everywhere.
- Focus on your vision.
- In-person investigation is critical.
- Quality matters as much as price.
- Think like a partner and embrace cultural differences.
- The relationship is as important as technical requirements and capabilities.
- Everything you invest in hiring a good outsourcing team will return to you threefold.
Key #7 is the ultimate reward of outsourcing. By investing time, money and relationship building efforts, a good outsourcing team can become a collaborative partner which grows with the company as it expands.
The Big Idea
Relationships are critical
"You're not buying widgets, you are partnering with people."
This idea is supported by the two keys:
Key #5 – Think like a partner and embrace cultural differences.
Key #6 – The relationship is as important as technical requirements and capabilities.
There is a difference between ‘outsourcing’ and ‘out-tasking’. Out-tasking consists of task-specific, one-off jobs while outsourcing aims at completing longer term business functions.
Software development is an art. It is not something that can be systematically automated and out-tasked. It takes creative people to make it happen—and when there are many people working together, it also requires true partnership.
Do not enter an outsourcing agreement with a “command and control” mentality. Outsourcing teams are chosen for their expertise—which you do not have—and they should not be restricted from contributing their best knowledge. They should also be able to support you beyond the initial basic tasks.
There will inevitably be cultural differences. In Asia it is impolite to say no. Instead, “no” may be expressed as “it will be difficult”. In contrast, Eastern Europeans can be so straightforward as to give an impression of being offensive.
It’s important to have the ability to collaborate effectively as a team. The offshore team is best managed as an extension of the onsite team. By learning from each other’s strengths and weaknesses, and overcoming cultural variations, bonds can be strengthened for better communication and results.
Despite all best efforts, sometimes there can still be “people” challenges and these are best resolved face to face. For longer term engagements, in-person meetings between key team members are recommended every quarter.
Great developers are everywhere
"You just have to know where to look."
Keys supporting this insight are:
Key #1 – Great developers are everywhere.
Key #3 – In-person investigation is critical.
It’s a misconception that off-shore programmers are less skilled than local talent. Many countries have people who are highly trained, and have advanced knowledge in the latest technologies. Many have attended top global universities.
Generally, different parts of the world excel in different kinds of software development. For example, Eastern European developers have great expertise in mathematical algorithms. India and Pakistan have many smart developers. South America is good for agile development.
During your preliminary research, look for:
- References from the company’s clients.
- Cost proposals.
It is difficult to get a true feel for human connection by video calls. An in-person investigation is the best way to learn whether you will be able to build a strong working relationship with your outsource team.
While visiting the outsource team, look for:
- Technical knowledge and evidence that the team has recently done similar work.
- Personality, IQ and EQ.
- Company cultural fit.
- Leadership and processes – the company is guided by qualified, intelligent leaders who are setting high standards for hiring, training and retaining quality developers.
Tour the facility to observe that:
- The quality of the facilities are appropriate by the standards of the country.
- There are security measures for the protection of intellectual property (e.g. soundproof rooms and doors with security access codes).
- There is collaboration and good rapport.
- There is reliable internet access and a stable power supply.
What to focus on
"Your job is to focus on your vision."
Keys supporting this insight are:
Key #2 – Focus on your vision.
Key #4 – Quality matters as much as price.
For many companies, the vision for outsourcing is not entirely clear. Common dilemmas include:
- Loss of control.
- Cultural barriers.
- Unclear certifications.
- Communication challenges.
- Protection of intellectual property.
- Reluctance to export jobs offshore.
However, there are many potential benefits:
- Lower costs.
- Ability to engage good people fast.
- Resource flexibility – ability to ramp up or reduce headcount depending on business needs.
- Knowledge and innovation – having worked with multiple clients, the outsource team will have experience of what works.
- Expanded and enriched cultural experiences.
Trustworthy teams can be identified with meticulous research and verification.
Communication plays a major role in achieving the vision. Learn to communicate and work around time zone differences to avoid wasted time waiting for updates. If language issues are causing misunderstanding and lost productivity, a bilingual team member can facilitate discussions.
Focusing on the vision means not micro-managing or getting hung up on the superficial stuff. Be flexible with the cultural differences. The balance between talent and cost is the vision to focus on.
Do not allow pricing factors to interfere with quality. Beware of lower charges due to cutting corners, for example, dodging basic overhead costs and having unqualified developers. The risk of rework and lost time will end up costing more.
Quality is more than just technical skills and experience. A smart, collaborative team provides a solution that is stable and cost effective, requiring low maintenance.
As a company grows, it will be able to create more jobs for the local workforce, leading to a win-win situation.
Selection and assessment of a suitable team involves hard work and experience. In the parable, Patrick the consultant has a database of pre-vetted companies whom he had personally visited and evaluated. This gave Jason a head start in shortlisting five companies within a weekend for further consideration.
Similarly, specialised global outsourcing companies such as Accelerance have databases of outsource partners.
Can outsourcing power your business growth?