Globalizing Software Development

Globalizing software development

Today's technology makes it easier than ever to collaborate with people no matter where they are located. Companies now have access to high end talent all over the world and are no longer constrained by their location.

People + Process = Quality

Building not only the right team but also equipping them with the right tools and development practices are critical to developing quality software.

Understanding the complexities of technology

Technology changes every day. Cloud, devOps, mobile and web, we are passionate about technology.

The missing piece to your software needs

With extensive experience in all aspects of software development and all current technologies, we can provide you with the skillset you need.

Jul 11, 2016

Realizing the Potential in Offshore Development

Offshore development, particularly in the United States, has suffered from a reputation problem. Unrealized promises and faulty approaches have created scores of dissatisfied customers. Recently, we wrote a whitepaper to address these issues and provide insight on how offshore development can be truly successful. The full whitepaper can be downloaded at the end of this post.

Introduction

For the past two decades, the utilization of software development resources located overseas has been a common practice in the United States. The promise has been one of tremendous cost savings accomplished by shifting away from high priced technical resources locally and replacing them with significantly lower cost resources overseas. The basic premise is simple. Depending on the offshore location, technical resources can cost a fraction of what a US resource costs so therefore one can accomplish significantly more work for the same cost or achieve targeted goals for a greatly reduced cost. This model has been very effective in the manufacturing sector so therefore it should work in the software development and technical sector.

Twenty years later, it’s safe to say that the initial promise of offshore development has gone largely unrealized. There are a number of factors which have contributed to this less than stellar result.

  • Software Developers are not Commodities – A typical software developer in most common offshore destinations is not the same as a software developer in the United States, primarily due to the differences in education and training. 
  • Software Development is not Manufacturing – Software development is as much art as it is science. While there are always efficiency improvements gained by adding process and structure, there is no substitute for highly skilled people. 
  • A Myopic View on Cost Savings over Quality – Offshore development has typically been driven solely by a perceived cost savings. Quality is treated as a second class citizen. In reality, initial cost savings are significantly lowered by additional overhead and hidden maintenance costs resulting from a lack of quality. 
These are some of the key reasons why to date; offshore development has not lived up to its potential. This has led to a pervasive negative feeling regarding offshore development within the US technical community. There is reluctance from many to utilize offshore resources due to their past negative experiences. In other cases there is an acceptance that offshore development means poor quality and the only option is to grin and bear it.

The goal of this paper is not to explore the reasons why the majority of offshore engagements have failed to meet expectations but to show that it doesn't have to be this way. Offshore development can deliver both high quality and lower cost. The key to achieving this is to abandon the “old school” offshore models that continue to fail and embrace a new, “enlightened” model that will offer a roadmap to success.

Why Most Offshore Projects Fail

Before we go into detail on how to achieve a successful offshore project, let’s briefly look at some of the common causes for failure. Understanding where things go wrong is the first step in addressing the problem and finding a solution.

Many of the issues that occur in troubled offshore engagements fall into one of three categories: unrealistic expectations, a lack of oversight or an incompatible partner. Generally it is a combination of these three issues that derail a project and lead to failure.

Unrealistic Expectations

Offshore development is not and never was a magic bullet that was going to solve all of a company's problems. Many offshore initiatives are driven from a high level under the mistaken premise that utilizing lower priced offshore resources will lead to significant savings roughly equal to cost differences between onshore and offshore resources. This thought process misses a few key factors. First, an offshore project will require more project and administrative oversight which creates additional cost. Second, quality in most of the common outsourcing destinations is not equal to their onshore counterparts. This leads to significant hidden costs incurred when code has to be rewritten or refactored once delivered by the offshore partner. These additional costs are much harder to track and can ultimately erase or significantly reduce the initial perceived cost savings.

An offshore project should be viewed from a value perspective instead of a purely cost based perspective. A “Smartsourcing” approach should look at a number of factors when evaluating if it is worthwhile to engage in an offshore partnership. Cost savings should be one of a number of factors considered. Perhaps the project allows onshore personnel to focus on more mission critical work, maybe it’s an exploratory project that needs to be vetted before committing significant resources. Quality should be a primary driver as well. Saving money and getting an inferior product rarely benefits anyone. Ultimately a determination on the received value versus the actual cost should be the main driver for undertaking an offshore engagement.

Lack of Oversight

Offshore Development projects are complex projects involving multiple companies, people, locations and time zones. They require significant oversight and management. All too often this fact is ignored and lack of communication leads to major issues. A common mistake is to assume that once an offshore partner is chosen that management of the project will be handled by the offshore team. Often there will be a primary point of contact on the customer and offshore partner side and occasional interaction between other team members. One of the biggest mistakes that can be made is to treat the offshore component as a black box. If you expect to provide requirements to the offshore team and patiently wait for the finished product to come out the other side, you are in for a great deal of disappointment.

Offshore projects should be managed much the same way an onshore project would be managed. Communication is essential. There needs to be regular communication at multiple levels to ensure that everyone is on the same page and that things are moving forward and meeting expectations. The more moving parts that exist in a project the more important it is to have an effective process in place to manage the project.

Incompatible Partners

Choosing the correct offshore partner will make the difference between success and failure. It is important to find a partner that is a fit for your company. Your offshore partner ultimately will be an extension of your company. The same care and deliberation that is taken to find the right employees to work onshore for a company should be applied when selecting an offshore partner. A highly structured company utilizing a waterfall development approach will not be a good fit with an offshore partner who espouses an Agile methodology as its key to successful development and vice versa. It is important to find a partner who can easily adapt to how you want to do business.

Key aspects of partner compatibility are corporate and cultural fit, availability of resources and quality of resources. Offshore engagements that are expected to be long term need to take this into consideration. It is easy to find a single strong technical resource anywhere in the world. If you need a team of 100 by the end of next week, not every location can accommodate that. Even before considering specific partners, understand your longer term goals and assess the potential offshore destinations that fit. Only then should you start looking at specific companies as partners. Evaluate the pool of resources for quantity and skill level. Assess the strength of the education system producing the resource pool. Consider cultural similarity and communication skills to better understand what the working relationship will be like on a day to day basis. Depending on the specific need, some offshore locations are better options than others.

A Roadmap for Succeeding with Offshore Projects

...

If you'd like to read the rest of this whitepaper, complete the form below and click submit.
White Paper Download
Company*
First Name*
Last Name*
Email*