A project requires the project manager to determine the resources that will be needed to complete the project. This process generally involves a calculation of the total cost of engagement (TCE) of the candidate service providers, which often includes the client organization's in-house staff. The project manager knows cost of the internal staff to a high degree of accuracy, although it's still necessary to estimate the cost of bringing that staff to a productive level.
Estimating the budget for an outsourced project is much more challenging due to the large number of variables that determine the market pricing for such a project. This task often involves a comparison of the TCE for offshore and nearshore service providers, which must account for other factors besides the hourly cost of each worker. BCM International considers the items in the following list to be some of the major additional factors involved in calculating the TCE for a software engineering outsourcing project:
- Knowledge transfer
- Management overhead
- Productivity loss
A greater dependence on documentation results in a less efficient transfer of knowledge. It's generally impractical to ensure that the members of the outsourced team read and understand all of the documentation that the client provides them. Even if they use documentation as a spot reference, they may not read supporting documentation that places the original documentation in context. Furthermore, this documentation often isn't updated to reflect changes in project requirements.
The solution to these challenges the documentation is to rely on it as little as possible. This process typically involves improving the efficiency of communication between in-house and outsourced team members, often with face-to-face meetings or other forms of real-time communication. The more people communicate together, the more likely they are to develop the trust and understanding needed for an efficient transfer of knowledge.
The beginning of any software engineering outsourcing project should include an initial meeting to ensure all of the team members are on the same page. This meeting should define the scope of the project and resolve any outstanding operational issues. It should also start the process of building trust and transferring knowledge to the outsourced team.
The travel costs primarily depend on whether the outsourced team will travel to the client or if key members of the client will travel to the outsourced work site. In addition to the usual travel expenses such as airfare, meals, hotels and ground transportation, travel costs may also include the cost of obtaining work visas and lost productivity due to team members preparing for and recovering from their trip. Each person that travels typically loses a week on each side of a business trip.
Managing an outsourced project typically requires the addition of intermediaries, which necessarily increases the management overhead. This cost can be significant even when the base labor cost is low, due to the need to repeat communications. The development team will tend to become less responsible for maintaining communication with the client, and simply rely on the intermediary to provide the needed information. This situation does not improve the collaboration, productivity and quality expected of the agile software development methodology. The increase in management overhead should therefore be minimized as much as possible.
Attrition becomes a more significant factor in an outsourced project's TCE as the duration of the project increases, due to the combination of professional opportunities and life events. The loss of a team member requires time to find a suitable replacement, train them in the technical aspects of their job and integrate them into the team. These factors are a normal part of professional and social dynamics, so it's essential to develop strategies for minimizing their disruption to the project.
The productivity loss of an outsourced project is highly dependent upon the difference in time zones between the client and service provider. Differences in language can also increase lost productivity significantly, especially if they require additional intermediaries to translate and prioritize communications. Furthermore, cultural differences can incur a loss of productivity when members of the outsourced team are uncomfortable with reporting directly to someone from another country.
All of these factors require additional layers of communication that inevitably increase friction, and therefore add to the TCE.
Consider the following example illustrating the differences in the TCE of a U.S.-based solution, an offshore software development solution and a nearshore solution. This example assumes that the client is based in California and needs to add 16 engineers to develop a new product, while still providing ongoing support. Senior management decides to outsource the development of the project since they can't afford to hire additional engineers in the U.S. The project manager considers India as the traditional outsourcing option, but also looks at locations closer to home.
The manager is surprised to discover that the TCE for Mexico is less than that of India. Latin Trade reports that Mexico led Latin America in outsourcing in 2011. A. T. Kearney, a global management consulting firm, attributes its strong showing to a “decline in wages over the past year, the increased attractiveness of near-shoring and a well-developed talent pool.” Blanca Treviño, CEO of Sofftek, adds, “We now see companies in Latin America using services delivered from India or China, or anywhere else in the world. I guess that’s globalization working in every aspect of the industry.”
The Indian outsourcer that’s the best fit for this project charges $74,880 per year for technical leads and $52,000 per year for engineers. The project manager also identifies additional costs based on previous experience with outsourcing to India. These include a 40 percent turnover rate and a 25 percent loss of productivity due to the need to hire four engineers for every three that would be required in the U.S. Additional productivity losses include 10 business days to replace an engineer and 15 days to train a replacement. These productivity losses are best-case figures and may be significantly higher in practice.
Assume the project manager in this example finds a nearshore company in Mexico that’s well-qualified and offers identical rates as the outsourcer in India, which is a reasonable outcome. The additional costs of a nearshore software development project in Mexico include a five percent turnover rate and ten percent loss of productivity. It also requires 10 working days to replace an engineer and 15 days to train the replacement. This comparison assumes the same number of trips to both locations, which result in a much lower travel cost for Mexico. However, CSO recommends taking advantage of Mexico’s proximity and similar time zones to make more trips and keep a closer eye on the nearshore software development operation.
The TCE for the offshore solution in India is $2,206,790 and $1,626,542 for the nearshore solution in Mexico, resulting in a savings of about 26 percent for Mexico. Long-term commitments can significantly increase this difference, since workers in the U.S. and Mexico can work together through most of the day. Tiempo Development can reduce the TCE of an outsourcing project and may provide additional advantages over traditional outsourcing solutions. Find out more about our approach to software development by contacting Tiempo today.