Outsourcing has been a trend for decades because of its perceived cost savings, but many factors that contribute to the total cost of outsourcing are not often thoroughly considered. Factors such as quality of architecture & implementation, technology choices, preventable delays, re-work, intellectual property concerns, legal fees, time zone differences, language, and cultural challenges should also be considered.
Engineering Projects Are Hard
BCG estimates that 70% of digital transformation efforts fall short of meeting targets; and outsourced efforts are at an even greater risk. This thread gives experiences by real people as opposed to marketing material published which push particular agendas. It is important to understand these risk factors and select a team that can help you succeed.
Without the right leadership team in place, the total project cost can be much higher than expected, even if you hire a highly capable team that has the right spectrum of skills. While certifications such as CMMI and ISO are meant to reduce project risk, not all certified companies abide by these practices as part of their normal operations and may have implemented the practices on a limited set of projects for the sole purpose of receiving the certification.
A truly onshore company can remove several hindrances to success and greatly reduce the risk of project failure. Some companies are registered as an onshore company but outsource all or part of the work offshore in order to have attractive rates. This “bait and switch” practice results in higher risk. These companies do not always disclose their teams’ makeup and place of performance. In this article, for example, Bridgestone alleges $600 million in damages by IBM for allegedly offshoring portions of the $75 million project to India and China.
We have experienced similar situations firsthand and have taken on rescue efforts that were previously outsourced to offshore providers. Note that if a project needs to be rescued and handed off to another provider, it will be costly. Rewriting software is expensive, but continuing a legacy of poor decisions can be even more costly. For example, the architecture of the platform may limit its ability to handle the volume of requests it ultimately needs to handle. Software engineering is not transactional in that decisions often impact later decisions. Some suggest having a capable onshore engineer oversee the offshore team. The idea that one capable engineer can oversee a team of offshore engineers is a fallacy. Every engineer makes multiple decisions on a daily basis with some having higher consequences than others. Even if every decision is routed through a competent onshore engineer, the productivity of the offshore team will be greatly impacted.
Cultural and Language Barriers
Various studies have estimated the cost of poor communications to be in billions of dollars annually. This article estimates it to be above a trillion! Poor communication in general results in strained relationships, higher stress, lower motivation and engagement, reduced customer satisfaction, and can ultimately have significant financial impacts. Language, cultural, and time zone challenges can exacerbate the situation.
Language barriers are easier to foresee, but even subtle cultural norms can negatively impact the success of a project. For example, some cultures have the tendency to say “yes” to everything. This may be due to their good intention to simply appease the client. Or it could be because they do not want to look weak to their teammates, or put them in a tough situation. The problem with saying “yes’’ to appease is that concerns can be missed or ignored until a larger issue arises. Addressing concerns in a timely fashion to minimize risk can be challenging on any project due to various constraints, dynamics, personalities, and objectives. In fact, one of the most important traits we look for in our staff is their ability to identify, call out, and tactfully resolve concerns by engaging team members and stakeholders.
Time Zone Misalignments
Time Zone misalignments can also be a major challenge and are guaranteed to reduce effective communication for software teams. Simple tasks that need unblocking can take days and result in noticeable loss of productivity. Similarly, tasks that require close collaboration can easily result in suboptimal or disastrous decisions because relevant team members were not available or were not engaged during the time of the day when they can be optimally engaged.
What do you do when an offshore company infringes on your intellectual property? This includes designs, code, data, and even access keys. An unscrupulous vendor could redeploy your product or software in its entirety with minimal facelift without you or anyone else noticing it. It is rarely possible to take effective legal action against an outsourced company, as discussed here, because even if they have IP laws in place, their country has to diligently enforce it. The article points out how India has IP laws similar to Australia, but they are not enforced. Hiring attorneys to handle such cases in another country is not only costly, but often futile because 1) the damage may already be done, 2) you will not be able to recover any damages, and 3) hiding behind shell companies can limit their damages even if your legal efforts are successful. Even if your IP is not directly infringed on, poor safekeeping of digital access keys by an incompetent company can expose your IP to other entities. Amazon web services access keys can, for example, be committed to an open-source repository by mistake, and the key can be then used to steal data, code, or perform nefarious activities from the account, leaving the customer with consequences.
Software Engineering is complex in that decisions can have far reaching consequences. Outsourcing to offshore providers or those who merely present themselves as an onshore provider exposes your project to additional risks. These risks include poor project performance, intellectual property infringements, and security concerns which can have significant consequences. When evaluating providers, be diligent in understanding which team members will perform the work, where that work will be performed, and ensure that the organization truly adopts management and project-level practices that ensure the success of your project.