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.

In the followoing posts I will describe how we, at Ignite, utilize Agile development methodology to leverage offshore development.