My boss wants me to manage this offshore project! Avoiding the offshore IT project nightmare
The use of offshore information technology (IT) project resources is becoming a widespread phenomenon. Technological and communications advances have reduced the distances between far-reaching areas of the globe. Having a dispersed team in Boston and Bangalore is as feasible as one in Boston and Baltimore. Also, in a culture of cost cutting, companies are increasingly considering the use of offshore talent in staffing IT projects. Talented IT resources are available in places such as India at a tremendous labor cost advantage. With the use of offshore development teams come additional complexities and issues that project managers must be cognizant of in order for projects to succeed. This paper is will discuss offshore outsourcing and will provide techniques for managing globally source IT projects.
How pervasive is offshore outsourcing?
Offshore outsourcing is growing at a tremendous rate. This has been fueled by corporations attempting to reduce costs during the recent economic down-turn and the availability of enabling technologies. In addition, the ready pool of talented well-educated developers at substantially reduced rates has made offshore projects attractive. Gartner, IDC, Forrester, and others have predicted sky-rocketing growth in offshore activity. Like the proverbial ‘Genie in a Bottle’ it will be difficult to put offshore outsourcing ‘back in the bottle’.
Why is this important for Project Managers
U.S. corporations, seeking to reduce information technology costs, will continue to look at offshore sourcing of technical resources as a means to that end. Project teams will increasingly be composed of team members residing in a distant land, as well as locally. As the rate at which IT projects are sourced offshore accelerates, the likelihood that project managers will be required to manage offshore resources will increase. This being the case, it makes sense that one prepares for this eventuality. Most likely, the actual programming, testing, and implementation will be done offshore. There will still be a need for local project management as well as local analysis and design activities. Project managers must prepare for a future where their teams are not a few cubes over, or down the hall, but on a different continent. The wise project manager will embrace an offshore opportunity as a way to ensure future employability.
Challenges and Recommendations
Are you ready?
When saddled with the task of managing an offshore project, the first thing a project manager should do is ascertain whether this particular project is appropriate for offshore development. Senior management has most likely identified this project for offshore work, but the diligent project manager will ensure that the labor is sourced in such a way to as to ensure project success. Generally, projects with the following characteristics are ideal for offshore sourcing:
- Labor intensive construction and implementation phases
- Well defined projects with the ability to provide extremely detailed specifications
- Projects that do not have hard critical deadlines and can tolerate slack for potential rework
In addition, astute project managers will evaluate both their own offshore skills and the organization's experience with offshore projects. One should not jump into a large scale, year long project if they have not done any previous offshore work. It would be wise to start out with a few small pilot projects involving non-critical systems. This allows for the project manager, as well as other involved constituents, to learn from involvement in pilot projects.
There are many options with regard to location for your offshore team. Countries that may be considered include China, Russia and other former members of the Soviet Union, Israel, The Philippines, Singapore, Malaysia, Ireland, and India. The authors believe that at the present time, India offers several advantages. Most often, project managers will have the labor source country determined for them. If this is not the case, you will have to evaluate the available source country resources to determine the best course of action for your project with regard to labor sourcing.
In order for offshore development to be effective, an organization needs to have a well defined development methodology. This is important first for use in partitioning the work between local and offshore resources, and second, for ensuring that the necessary tasks and deliverables are synchronized appropriately for efficient offshore work. Typically, a project manager constructs his work breakdown structure by selecting portions of the development methodology that are appropriate for a particular project, customizing to fit. At the conclusion of this activity, a project plan is created. During this activity, tasks that are targeted for offshore assignment are identified. Aggregating the time for each offshore activity will provide an estimate of the total offshore effort. This should allow for determination of staffing levels.
In order to be successful, astute project managers will create a separate plan for use by the offshore team. This separate plan will contain agreed upon time-frames and well defined deliverables that have been agreed upon by offshore management. The main plan will contain dependencies for these deliverables. Regular review with offshore management on deliverable progress will help to ensure that deadlines are not missed. Be certain to plan for some slack since in the plan since there is a higher than normal likelihood of rework.
The project manager has added staffing complexities in an offshore project. He must not only determine his local team, but he needs to evaluate the technical, functional, and analytical skills of the offshore resources. This is not small task. Enlisting the assistance of onshore team members is advisable. Early on, assign local resources with the task of coming up with devices for screening offshore resources. For instance, a local database expert should be able to fashion a list of questions for evaluating an offshore resource.
Selection of onshore personnel is as critical, if not more critical than offshore staffing. The onshore team members need to have the following characteristics:
- Deep functional business understanding
- Work well with business users
- Detail oriented
- Good communication skills
- Skilled at analysis and design
- Able to create specifications which little or no ambiguity
- Not prejudiced against offshore labor
In an offshore project, the analysis and design becomes extremely important. There is little room for errors or half done analysis. Most organizations will see their projects shift expended hours from the construction phase into analysis and design. The problem many organizations face is losing the very people that fit into this job profile. If not communicated correctly, these highly skilled and knowledgeable employees may leave the organization fearing that their jobs are in jeopardy. Project mangers should enlist the assistance of upper management in development of retention programs so that systems knowledge existing in the heads of these employees does not walk out the door.
If possible, one should consider enlisting the assistance of onshore personnel that have had actual experience in offshore work. In addition, a valuable asset to the team would be someone originally from the offshore country. This person, having had knowledge of both cultures can assist in removing roadblocks and speed communications.
Most likely, your offshore team will have been well trained in the technology you are employing. If this is not the case, plan on providing technical training to the offshore team. Training is often available at reasonable rates locally. Functional business training may be somewhat more difficult to attain. It would be wise to include monies in the budget for sending local experts to the offshore offices in order to provide training. Conversely, it may make more sense for a handful of offshore resource to travel to the U.S. Even with the travel expenses, the labor cost benefits are still there.
How are we going to communicate across the globe?
Working hours also present a challenge for the offshore project. For instance, India is 9 ½ hours ahead of the U.S. East Coast. In order for there to be any overlap in working days, one group of employees will have to move to a non-standard work day. It is often not possible for onshore hours to be dramatically shifted, since they need to work directly with business users. Most likely, members of the offshore team will need to adjust their working hours. The entire offshore team need not work flexible hours, but employees that handle the primary interface with onshore resources will need to work overlapping interface hours. Project managers should publish the working hours in a project orientation document at the onset of the project to avoid any confusion. In addition, one should be certain to plan for local holidays and festivals in the working hours. Forgetting this can have a detrimental effect on the project.
Development of appropriate communications protocols will also assist in alleviating the work hour difficulties. It is important that a communications system be employed that becomes a repository of project communications. For example, offshore developers need a way to record questions and concerns that can be replied to by onshore personnel. Email is a great tool, but lacks the ability to centrally track communications. Employment of a project knowledge management repository and an issues tracking repository are highly recommended in order to provide accurate communications. In addition, it is now possible to set up accurate and reliable telephone communications with offshore development sites. This also should be done in order to allow for direct conversations during interface hours. If the appropriate communications infrastructure is not present, then the costs of implementing these communications measures must be figured into the project.
Process Control and Quality Management
Software module source management and control activities are especially tricky in a globally dispersed project. Consideration of this issue should not be overlooked. This could become a nightmare if not managed appropriately. Purchase of a source code management package that accommodates global development should be considered. In lieu of this, considerable work effort will be expended on controlling software changes. In addition, rigorous software control processes should be instituted. Offshore and local code walkthroughs should be conducted. Modules will not be promoted to production unless appropriate inline code documentation is completed. If at all possible, feedback on module suitability should be communicated back to the offshore group sooner than later, in order to avoid any further non-conformances to specifications. In addition, it is quite possible that any documentation will need to be ‘Americanized’ since most of the rest of the world speaks the King's English, not American English.
Many offshore development groups have achieved Capability Maturity Model (CMM®) certification as a way to differentiate themselves from other labor providers. While this is a notable accomplishment, this should not be relied upon as a ‘security blanket’. Just because an organization attains CMM level 5 Certification this does not mean that it actually runs projects that that conform to the model. Vendors should be asked for examples of where their projects have been evaluated for CMM conformance. In addition, quality control and testing processes should be evaluated. Should the offshore partner organization be unable to provide adequate measures in these areas either the project manager must attempt to institute them, or obtain local or third party resources to accomplish these needed tasks.
When is the Offshore Team done?
Consideration should be made with regard to when hand off of construction activities occurs. One possible point is after user acceptance testing. At this point, a local team of developers, along with minimal offshore assistance, can begin to take over construction activities. The very nature of fixing non-conformances is more conducive to an iterative approach which is easier to accomplish onsite.
Project managers need to be certain that they have fully planned for uncertainties. It is better to build some slack into the project, if at all possible. Uncertainties to plan for include both offshore and onshore attrition, strikes, and political unrest. Project mangers must keep a close eye on these situations and have a backup plan. These items should be clearly identified in the risk management plan along with the identification of mitigation activities. Also, it is important to plan for some rework. Even with all the appropriate communications devices, it is likely that some requirements have been missed or misunderstood.
Offshore labor sourcing of IT projects is definitely a trend that will continue into the foreseeable future. Project managers working in sizable IT organizations (>50 developers) will inevitably be affected by this movement. For the sake of their careers, and the success of their corporations, project managers must be diligent in applying sound tactics for managing offshore projects. Strong project management and solid adherence to methodology are even more important in coordinating the activities of a globally dispersed project team.
Proceedings of PMI® Global Congress 2003 – North America
Baltimore, Maryland, USA ● 20-23 September 2003