Squirrel delves into the misconception that outsourcing engineers overseas automatically leads to cost reduction in software organizations. He explains that while the salary expenses might be lower for offshore teams, other costs come into play.
He illustrates the situation with an example involving two tech teams, one located onshore in California, USA, and the other in India. The Indian team had one quarter the salary of the onshore team, prompting the question of why the more expensive US engineers are retained. The discussion highlights the importance of evaluating the genuine costs of offshoring beyond just salaries. Additionally, Squirrel raises the question of which team is more productive and points out the time zone difference as a significant factor impacting communication and coordination.
Surprisingly, when the overall costs are tallied, they often don't exhibit a substantial difference due to various expenses that often get ignored. The aspect of speed of delivery is also examined, and the suggestion is made to have a local representative support the outsourced team to facilitate smoother communication. Beyond the operational costs, we also talk about how difficult it is to maintain effective communication between teams, and the cost of frequent international travel.
Squirrel emphasizes the necessity of having experienced individuals in the offshore team, highlighting that it’s even more important to hire very senior people in offshore teams. We also discuss how hard it is to find accommodation for senior engineers that move to the offshore locations.
Squirrel delves into the patterns that can enhance the effectiveness of offshoring. The concept of near shoring is introduced, especially when there are significant challenges in finding talent close to the headquarters.
The discussion then pivots to the importance of team organization for offshoring success. The idea of cross-functional teams or feature teams is introduced as an effective approach. Squirrel references FeatureTeams.org, emphasizing that these teams possess the flexibility to work on any feature, thereby minimizing communication dependencies.
A strategy to integrate feature teams across regions is presented through the "ambassador pattern," which involves designated individuals who bridge the communication gaps between teams in different locations.
We also discuss how to optimize communication and resources for remote teams. Squirrel introduces the notion that outsourcing and offshoring may be a possible solution to solve the talent problem by tapping into global talent pools. He offers practical tips, such as conducting all meetings online and making it a rule to always include offshore team members. Creating opportunities for "osmotic communication" – the exchange of information through casual interactions – is suggested as a means to foster team cohesion across distances.
The episode concludes with a list of recommended resources for further exploration. These include Stack Overflow’s own experience about fully remote work, Squirrel's own website (DouglasSquirrel.com), Team Topologies (a topic which has been presented on the podcast by its authors Matthew Skelton and Manuel Pais), the FeatureTeams.org website, and the virtual office platform Sococo.
Throughout the conversation, Squirrel provides insights into the complexities of offshoring, shedding light on the multifaceted considerations that impact its success. From cost evaluation to effective team organization and communication strategies, the episode offers a comprehensive overview of the nuances surrounding offshore software development teams.
About Douglas Squirrel
Squirrel has been coding for more than forty years and has led software teams for twenty. He uses the power of conversations to create dramatic productivity gains in technology organisations of all sizes. Squirrel’s experience includes growing software teams as a CTO in startups from fintech to biotech to music, and everything in between. He lives in Frogholt, England, in a timber-framed cottage built in the year 1450.