A Distant Shore
Is moving your development
project offshore the right move for you?
by SUDHI RANJAN SINHA
Continued from Page 1
The Offshore Movement Methodology
The methodology you use to execute an offshore project - or any
software project - affects its success or failure. Although many
organizations have defined standards for the software development
life cycle (SDLC), such as the CMM by the Software Engineering
Institute of Carnegie Mellon University at Pittsburgh, offshore
development has no industry standards. These projects follow their
individual paths. The offshore movement model (OMM) is a generic
process you can follow to execute offshore projects.
Project definition. Define your business reasons for initiating
the IT project. Here, you specify the project's scope and decide what
technical platforms and tools to use on the project. You should avoid
all possible ambiguity by stating the project's objectives in precise
and measurable terms.
Offshore justification. Explain why the project should be done
offshore: time and money savings, flexibility, expertise, a
combination of all these factors, or something else. The reasons are
critical because project expectations develop from this assessment.
You also need to evaluate your current IT labor strategy. How will
a move offshore affect your existing resources? Do you have a
consensus on transferring critical or strategic projects offshore?
Partner selection. Once you decide what you need to move offshore
and why, you should look for a suitable partner. People and processes
can make or break a project. The important criteria you should use to
evaluate a vendor include:
- Available skill resources
- Experience executing similar projects
- Infrastructure capabilities
- Development methodologies and quality processes.
Initiation. This phase is the first interaction between the
on-site and offshore staff that will be working on the project. It
ideally covers a pilot study so that both parties can increase their
mutual comfort and compatibility levels. This exercise must be
carried out at your or your partner's site, with the team from the
other side visiting.
The initiation explains the project's scope, definition, and final
requirements and establishes the ground rules for the project's
communication, methodology, and execution. The pilot's cost will save
you money later when meeting tight schedules and deliverables makes
time valuable. The best contribution of the initiation phase is
determining the details of the next phase - kickoff.
Kickoff. I list this phase separately from the initiation phase,
even though it is entwined with it. The boundary line between
initiation and kickoff is thin and flexible. The differences are in
the tasks that you need to accomplish. During kickoff, you create
templates for all the work performed during the project's execution.
Kickoff comprises the following four major components:
- During the infrastructure setup, you determine logistics, create
a remote link between sites, and establish Internet and intranet
connections. Compatible hardware configurations and relevant software
systems are installed.
- Resource identification involves carefully selecting onsite and
offshore coordinators and other project staff. The coordinators
should have sufficient exposure to your business processes and
possess industry and management experience, with prior experience in
an offshore model a big bonus. The development team should be
screened for their technical and personal skills and experience. You
should also appoint a single point of contact for issue resolution
and project monitoring. The offshore vendor may appoint a
relationship manager who can tackle the nontechnical issues so that
others can concentrate on delivery.
- The structure stage involves creating a project hierarchy,
defining people's roles and responsibilities, and establishing
processes for escalating issues, quality verification, and change
management. Outlining a development methodology and performance
management plan, such as collecting project metrics, is also
important.
- Soft communication encompasses selecting a group-ware
application such as Lotus Notes so project members can communicate
with each other effectively. Simply synchronizing the email systems
of both the partners may be suitable in some instances. You also need
to create the technical standards for the project's execution and
documentation templates and standards for an easy knowledge storage
and transfer.
Execution, delivery, and quality analysis. Once all the outlining
is complete in initiation and kickoff, the stage is set for action.
The project starts with design and follows the standard path of SDLC
in coding, unit testing, system or integration testing, acceptance
testing, and documentation. Some activities, like acceptance testing,
may need to be carried out on-site with support from the offshore
team. Each step of the process includes quality reviews and
collecting metrics for improving the development process (See sidebar
"Important ODC Metrics,"). Many industry standards handle
this phase of the project, so I will not delve further into the
topic.
Acceptance. This phase begins during the acceptance testing in the
previous phase and includes system end-user training, implementation
or go-live, proper knowledge transfer to your company, and some level
of infant care support ranging between 30 to 90 days.
Close-up analysis. This phase captures the lessons derived from
the offshore experience and provides feedback on all previous stages.
It also delves into the project's long-term maintenance strategy or
recommends other offshore initiatives.
What Goes Offshore?
IT leaders frequently ask, "What projects are suitable for
offshore development?" Existing network and communication
technologies provide the capability to do practically any project
offshore. But you must assess your ability to effectively manage an
offshore relationship. Critical factors to consider are the quality
and maturity of your relationship with the offshore partner. If the
relationship is relatively new and untried, you would be wise to
start with small, less critical projects that let all parties become
familiar with work habits, deliverable quality, and other aspects of
offshore projects. Once the working relationship is proven, you can
consider more complex or mission-critical projects.
Several types of projects are good prospects for offshore work:
- Projects that are currently being handled by high cost vendors
- Projects that are discretionary
- Any development project with fairly stable and defined requirements
- Any project that requires extensive tooling or rapid team size
modulations (conversion and migration projects)
- Maintenance and support activities that do not need same-day
resolutions
- Packaged implementations (with the functional and strategy
design being done on-site).
ODCs provide enormous advantages, but companies need to take the
first step and pursue the process with utmost sincerity. Success will
come. International Data Corp. estimates that outsourcing will soon
grow to a $100 billion industry - and offshore development is a large
portion of that figure. The possibilities are practically limitless.
Sudhi Ranjan Sinha (sudhisinha@hotmail.com) works for Tata
Consultancy Services (TCS) and specializes in analysis, design, and
transformation of business systems. He has been involved with several
offshore initiatives between TCS and its clients.