Home Page > Publications > Contracts & Code Quality When Offshoring Development

Contracts & Code Quality When Offshoring Development

In today's competitive environment, companies have embraced offshoring to maintain service levels with tighter budgets. The offshoring of software development has become widely accepted as a part of the business model of many FTSE 100 companies, and while many CIO's can celebrate cost reductions due to labour arbitrage, it does come with inherent risk around quality & productivity. In this analysis we will address how you can effectively address these risks.

Timeline
There are far too many projects being offshored with unrealistic timelines. The enormous time pressure to produce quality applications in a shorter timeframe, results in developers sacrificing quality for speed. There are two solutions that will help mitigate this risk. First, whatever timeline your project manager estimates multiply it by a factor of 2. Secondly, use third-party components with proven code quality, but do a thorough investigation on licensing cost to ensure project stays on budget. Morpheus was a peer-2-peer technology that forgot this important lesson, and after not paying the appropriate fees to one of the third party component providers (Joltid) 28 million users were left without a service.

The Contract
When offshoring software development employ a legal team with industry experience to ensure that the contract is set up to protect your business from poor quality code. Frequently, developers will reuse existing code in your application. If and when this happens, ensure that there are no conflicts around code ownership. Additionally, many development companies (regardless of location) will try to retain some rights over the code they develop. Depending on the nature of your application, this may be an acceptable way to reduce price, but it is an area that must be considered before signing a deal. Finally, code standards and quality reviews should be included in the contract - only consider suppliers that have demonstrated these quality capabilities with proven case studies.

Other Ways To Minimise Risk And Improve Quality...
- Invest in a team or a person with solid programming experience that has a thirst for learning new languages and technologies.
- Set up a team/person to be responsible for creating code standards & communicate one code convention for the organisation.
- Review work from the offshore provider weekly, and have an official sign off process before accepting any software.
- Organise regular meetings between a legal expert and the IT architect to review code licensing requirements. This collaborative effort should ensure the organisation adheres to best practices in software compliance management.
- Invest in software that can monitor code quality like FxCop, FindBug or TestNG, and set up the correct communication plan for feedback to provider on improving code.
- Negotiate an awards process with the service provider where developers offshore that produce high quality code get recognised.

Regardless of your software development sourcing model, it is necessary that your business invests in the right people, processes and vendors to maintain or improve software quality. Furthermore, include the legal team to ensure the software delivered doesn't infringe on any patents, copyrights, and unexpected licensing restrictions. With fast growing open source community software like Linux, Apache, MySQL be extra vigilant on reviewing the source code to ensure licensed code was not inserted for the sake of meeting aggressive timelines. With the appropriate investment in retained talent, carefully vetted supplier, legal expertise and processes in-house your organisation will be able to enjoy high quality software development from an offshore destination.  
 

Quick Contact Form
Company Name
Contact Name *
Telephone Number *
Email Address *
Message