Quality in Offshore Delivery
By Hilda Rozenberg , IT Management Consultant on Friday, August 30th, 2013
Features in QESP NewsletterVolume 25 , Issue 1 - ISSN 1325-2070
Offshore delivery is normally referred to as the relocation of the software project delivery activities to a lower cost location in another country.
At the core of this business process is the attainment of cost savings by using cheaper resources, which are assumed to be of similar or same skill set and experience than the in-country ones.
As offshoring continues to grow, it is clear to clients and providers that the focus is shifting from cost to quality.
It is a “no brainer” to those experienced in the IT industry world-wide, that there is no real cost saving unless the product or service delivered it’s of quality, this is, it does what is supposed to do, as efficiently as originally requested. And that all cost savings can easily disappear under the mountain of dollars spent in rework and fixes.
This is not a new subject, but in the context of a global financial crisis, it has been extremely difficult for Quality practitioners, to obtain funds to properly invest in quality processes and resources to deal with effective offshoring.
Perhaps the latter has been made even more challenging, by the fact that a lot of the research we use as reference on this subject is theoretical.
In addition, testing and reviews are often contracted as part of the overall delivery agreement, which might render software quality activities a “black box” to the client.
Frequently, people complain that quality of software developed in low cost countries, is of poor quality; however projects continue to move offshore every day, and the trend will not stop any time soon.
Perhaps the issue is that we are not approaching quality entirely as we should. For as far as I can remember, software quality has been focused on defect rates. As companies use more and more offshoring, defect rates have become not as useful a measure of quality as they used to be.
The reality is that offshore providers may use many languages, platforms and applications in a single project, most of which they don’t own, and software is also often delivered as a service including functionality that is not based on code.
Defect free coding is very important; however it seems that a lot of other evidence of quality is as critical.
The key understanding in an offshore software development project is that Quality is not just about the final product. Quality starts when the decision is made to offshore any part of the project.
The following are some useful measures of quality:
- The selection of an appropriate offshore service provider
Although the most obvious one, many companies lack an effective and efficient procurement process to select contractors, causing hardship, low levels of product quality and waste.
- Careful planning
A given for any project, it is particularly difficult when involving out of country resources and activities, as well as major cultural and language differences.
- Well negotiated and comprehensive agreements
Contracts are the basis for all outcomes and relationships, and determine the degree of control that the client has on the offshore activities.
In an offshore project, service providers have greater freedom to make decisions in regard to infrastructure, staff and planning, which all affect the level of quality they deliver. These decisions are made on a daily basis, without the involvement of the client. Therefore, a strong governance structure is essential to ensure a quality outcome.
- Well defined requirements
Poorly defined requirements cause different interpretations, and therefore the chance that the end product will not meet the client’s expectations or signed agreements. The consequences of vague requirements are long known in in-house projects, its effects are even worse in the offshore environment, because of the complex geographical and organisational differences between the client and vendor.
- Well defined technical infrastructure
The ability to replicate the “client production environment” for development and testing is always a technical and budget challenge in in-house projects, and it becomes essential in offshore projects. The lack of alignment between the development environment offshore, and the final production one onshore, increases the risk of failure exponentially.
- Well reviewed designs
Important in in-house projects, is crucial for offshore projects. Any major mistakes or omissions during the design phase results in significant rework, with disastrous effects for schedules and budget; and could even leave the client exposed to penalties if subject to regulations.
- Skilled personnel
Lack of trained and experienced personnel will affect not only quality, but also timelines and costs. Training of offshore personnel in the use of the software, and its business environment, can be very costly. It should be carefully considered and estimated before engaging an offshore team.
- Relationship development and management
Monitoring and control is directly related to the quality of the product. It is vital that is well defined in the contract with the provider.
- Offshoring introduces cultural issues as a critical factor that affects the relationship between vendor and client, and ultimately the quality of the result.
- Time differences and work related behaviour.
- External Certifications: A number of offshore organisations claim to have external certifications, but they do not seem to have the proper management systems processes required by those certifications. Thus, they fail to show consistent and repeatable software development outcomes. Unfortunately, these certifications do not necessarily turn into good results in individual projects.
- Quality assurance
Whether part of the overall software development contract, or agreed separately, quality assurance sometimes is performed by offshore providers. Here some words about how quality is affected by the approach.
- Test Leads and Test Managers often cite offshore testing teams management and control, as their biggest source of job stress affecting the quality of the project outcomes.
- Offshore testing will generally increase the delay of handover between Development and Test, and the “find an error/fix the error” turnaround times. This delay increases the cost, time to completion and the chance that new errors will be introduced as a result of the fix.
- Some consideration should be given to the testing in-house of critical features. Although redundant, it often prevents massive rework, and losses, especially when heavy regulation is attached to the software functions. Very early in the project, consideration must be given to “what to test offshore and what to test in-house/onshore”.
- The Provider must have strong and verifiable testing processes. The processes should be audited before the contracts are signed, and definitely before the project starts.
- Data security is essential. During testing, is often required to access confidential or proprietary information to execute test cases. Security in an offshore environment is in general, more complicated and more expensive to implement, therefore requiring thorough planning and careful implementation.
- Value for money: undoubtedly, big savings can be realised by offshoring testing. However, it takes time and effort until offshore testers are able to efficiently and effectively find the root cause of problems. This needs to be included in budgets and plans. In addition, many times defects are reported due to offshore tester error or his/her lack of knowledge of the business environment where the software is used.
How to approach quality in an offshore project requires firstly assessing how prepared the client organisation is to deal with the challenges of this type of projects.
Thinking that once some requirements are agreed, and the contract is signed, all the responsibility for the quality of the results shifts to the offshore provider is naïve if not irresponsible.
It is very important that, companies learn from their own experiences, and analyse the results of their offshore projects once each is completed. This activity alone can produce more cost savings than any other single initiative.
Offshoring may prove useful to ensure companies are profitable and continue their successful business operations. However, it is fundamental that they recognise the real value of the approach, and understand that, quality outcomes can be only guaranteed when all quality aspects of the offshore project are taken into account.
Follow my series on “Quality in offshore delivery” in the QESP website.
Go to the QESP Forum, and have your say.
Join the conversation and tell us your experiences,
Is your company offshoring? Is quality included in project plans? Have you implemented any original processes with your offshore providers? Are your customers happy with the quality of the end product? Do you have any advice for others starting now?
The author has 30 year experience in IT, is a certified ITIL® Service Manager, ISO 9001 and ISO 20000 Lead Auditor, has extensive experience managing automated and manual Quality Assurance teams in several countries and languages.