Outsourcing is not exactly a new idea. As far back as the 1950’s, companies that found they didn’t have the resources in-house to perform tasks began looking to other individuals and companies to fulfill their needs. It wasn’t until the late 80’s that outsourcing really began to take off as companies turned to “offshoring” of outsourced projects to countries such as China and India in order to take advantage of the savings in labor costs.
As the 90’s gave way to the 00’s, the U.S. economy faltered and unemployment skyrocketed. Nevertheless, U.S. software corporations continued to see significant value in outsourcing projects to Europe and Asia. In fact, they saw it as another way to cut costs at a time when revenues were down. The timing of the two events caused many to blame offshoring for the spike in unemployment, and foreign outsourcing adopted a rather bad rap. The criticisms launched against offshoring, warranted or not, ranged from the software taking longer to develop to it being of lesser quality. Most of the criticisms seemed to revolve around the difficulties of managing geographically distant outsourcers.
This was about the time when “nearshoring” – outsourcing business or IT processes to companies in a country closer to one’s own country – came into being. Here in the U.S., the theory was that bringing the outsourced project closer to home – whether within the U.S. itself or in Canada, Mexico, the Caribbean or South America – the projects would be easier to manage because they’d be “closer to home.”
The fact of the matter is, regardless of where a company chooses to outsource, there is a certain relinquishment of control. It is simply not possible nor desirable to hold tightly to the reins of all aspects of an outsourced project. When the outsourced project has an offshored element, the potential increase in benefits is met with an equivalent set of risks. Cultural differences and distance alone significantly contribute to increasing both the risks and management costs. In fact, the more remote the outsourcing operation, the higher the potential cost savings and associated risks.
In a recent article for Outsource Magazine, global strategist and management consultant Brandi Moore, who specializes in teaching organizations how to work across cultures, addressed the issue of the issues inherent to outsourcing:
From a buyer’s perspective, the labyrinth created by outsource partnerships is a tangled morass that must be carefully pulled apart at the start of relationships. Customers want to know where their data will be, why it will be there, and how it will move across borders. They want details on audit protocols, security practices and personnel. Once a baseline is understood, they want an ongoing understanding of how the data continues to be managed with updates on changes before they happen.
Among the many concerns woven into this labyrinth are security, labor, accountability, dependency upon a foreign vendor and the protection of intellectual property, each of which carries an inherent risk for the corporation if not handled properly by the outsourcer.
Historically, IT organizations have not had the means to assess the real-time “technical bill of health” of their outsourced applications. QA plan compliance checks, while useful in some capacities, are normally performed via random manual code reviews and inspections by QA staff. For a typical one million-line-of-code J2EE distributed application, there is significant risk that key issues will go overlooked. Furthermore, standard functional and technical acceptance testing is simply insufficient at detecting severe coding defects that may have impact on the reliability and maintainability of an application. Finally, in the current geopolitical context, programming vulnerabilities, or even hazardous code in a mission-critical application, could easily produce disasters in production – data corruption or losses, system downtime at crucial moments – all of which negatively affect the business operations.
Unfortunately, most IT organizations have chosen to leave the technical compliance issues aside, due to either limited resources are scarce or a lack of the required skills. Instead, they all too frequently assume that tersely worded SLAs will be enough to protect them over time. In reality, while today’s SLAs routinely include financial penalty clauses, fines and legal battles, they are not all that effective in preventing system failures.
In order to be successful, companies need to acquire and deploy software solutions that help manage these global partnerships by providing greater insight into the build process through real-time access to objective data. Employing a platform of automated analysis and measurement to assess the application as it is being built, for instance, affords transparency into the outsourced work, grants discipline into how information is handled and yields metrics to evaluate results.
With that kind of real-time access and information into how a company’s software is being built or customized, it won’t matter if the outsourcer is across the hall, across the street or across the ocean. You will always know just where your software is and if the outsourcer is building it efficiently and up to your high application software quality standards.