Imagine a construction project in India implemented for an American
client. The project has been estimated, priced and initiated although
no building blue prints were produced. The client has never visited
the construction site, nor has he met the project manager or any of the
construction staff. The client has not yet firmly decided whether to
build a residential tower or a shopping mall. In a regular weekly
phone conversation, the Indian project manager generally reports that
the project is progressing exactly on schedule. The workers' field of
vision is restricted to the particular wall being built at the moment.
After construction actually began, the floor structure was built using
asbestos, but as work progressed it was switched to an innovative
structural system based on the use of feather-weight cardboard panels.
Would you want to buy an apartment (or shop) in this project?
Offshore outsourcing for software development is one of the most
challenging fields handled by offshore outsourcing providers. Much has
been written about the challenges involved in a software development
process conducted by a third party contractor operating in another
country. To be fair, the crux of the problem is largely in the
software development process itself, which is essentially an art rather
than a science.
Everything may look fine and complete on paper with most of the
development process based on the Waterfall model. The project plan
covers requirements analysis, software design, development, testing
& quality assurance, integration, application and maintenance in a
linear streamlined process. However, in reality much is lacking. The
analysis of requirements is commonly inadequate. Furthermore, the
market is very dynamic and requirements that were valid three months
before are now irrelevant due to changing market conditions, constant
technological change and new versions released by competitors.
Moreover, the critical problem is that the client's feedback to the
delivered products generally results in change requests and often also
in regression to the requirements analysis phase. In the development
phase, developers often return to the design phase and even to the
requirements analysis phase. That is common experience.
These problems are accentuated when the work is done by a foreign
outsourcing contractor operating in another country. In this context,
a "broken telephone" syndrome is experienced due to geographic distance
and mentality differences. Let's face it, people who see each other in
the flesh communicate a lot better. As an example, in Hindi, "no
problem" means that "there is a major problem but you are the customer
and I cannot disagree". On the surface, the combined effects of the
inherent problems in the development process subject to the
offshore-related "broken telephone" syndrome seem to be insoluble.
Yet there are signs that there is a way to efficiently outsource
software development projects to an offshore provider. When Offshore
Outsourcing meets Agile development methodologies things look
different.