TekTalk Blog: Understanding the Challenges of Offshore Development
Understanding the Challenges of
Offshore Development
By: Mubeen Bolar | Director, Project Management
Today there are numerous options for US Companies to perform offshore software development known as Offshoring, or Outsourcing. Some of the countries that specialize in offshoring are India, China, Russia, Eastern Europe, Philippines, Costa Rica and Brazil. Cost is the main reason most US Companies consider outsourcing part or most of their software development. However, the lower cost often comes with significant challenges. There are several models of Outsourcing depending on the size of the US Company and their willingness to invest in offshore development.
One of the most popular models of performing offshore software development is through Offshore IT consulting companies who are vendors to US companies. These Offshore IT Companies have branches in the US and can execute projects using highly skilled employees both in the US and abroad. Sometimes the Offshore IT Consulting Company has a long term relationship with the US Company and is more like an offshore partner. Over last decade the offshore model for developing software and providing QA and IT Support Services has matured. Offshoring if done right can result in significant cost saving and increased margins. At the same time when things don’t go well, Offshoring can result in delays, poor quality, frustration and failure.
In order for offshore software development to be a success the US Company must ensure that there is a model for executing the project that encompasses a structured approach. The resources provided by the offshore company must be interviewed before being selected to join the project team. One of the major reasons for failure is having offshore resources that are low cost but do not have the right skill set and experience. It is better to pay a slightly higher offshore rate to get the right skillset and experience. Communication between the offshore team and the US Team is critical and can make or break a project. It is important for the offshore team to have good English communication skills. Misunderstanding the requirements and design of an application can result in costly mistakes and delays. There should be a Project Manager and a Technical Lead/Architect on both the offshore team and the US team. This will avoid delays associated with the offshore developers waiting for guidance from a Project Manager or a Technical Architect located in the US due to the difference in time zone.
The offshore team must have at least a 4 hour overlap with the US team, where they are available to answer questions or get clarifications. Daily team meetings will help to keep the work on track and improve communication. Development work should not be started without proper design documentation and use cases that can be followed by the offshore team. In some models, the Offshore Technical Architect comes to the US during the technical design phase and is also one of the individuals responsible for developing the Technical Design Document. Timely demos of the functionality that has been developed and frequent code reviews should be used to flush out any issues prior to integrate testing. The US Project Manager must update the tasks in the project plan with the actual hours spent on the tasks on a weekly basis. The US Project Manager must check with the offshore team if the remaining hours on the tasks each week are sufficient to complete the tasks. Scope creep can be avoided by monitoring those tasks that are taking longer than the original estimate. This may be a sign the offshore resource lacks the right skill set.
A separate QA team must write the test cases and perform system integration testing prior to User Acceptance Testing. The estimated hours for performing QA should not be lower than 20% of the development hours. The cost of QA is even lower when an Offshore QA team is used. It does not pay to cut corners. Proper testing will help to ensure the User Acceptance Testing goes smoothly. Even when an offshore software development project is a success, Time Zone Stress and the need for additional oversight can result in significant overhead especially for the US team, who has to deliver the project to business users in the US.