point
Menu
Magazines
Browse by year:
May - 2003 - issue > Technology
Extending Software Development To India
Amit Zavery
Wednesday, April 30, 2003
EVERY DAY WE HEAR OF COMPANIES PLANNING TO start operations in India. Unfortunately, most of the announcements do not really concern the type of work that is being moved to India. More often than not, companies are moving the “less desirable” work to India. If India is to become a software powerhouse, it is important that the IT work in India includes core software product development. For most of the companies, Indian operations will never be critical if its offshore units in India do not own core product development. India will always be seen as a necessary evil for cost-cutting, but once the costs starts increasing in India or the US economy improves, then there will not be any hesitation to decrease the dependence on India.

So how does India spur companies to start doing software product development in India? There are quite a few concerns which companies have before they can consider moving their critical work to an offshore unit.

To provide some background, I started Oracle's CRM product development center in India in May 2001. The plan was to hire a small team of engineers to work on three products in a year. By the time we staffed the first project team in India and got them to develop the new module, feedback from the U.S. team was quite positive.

The other U.S. teams heard good things about the India teams and the immense talent that could be hired in India that we started fast-tracking the other approved projects. We achieved our initial goal for number of employees in four months and, in a year, we had hired more than four times our initial staffing plan with teams in India working on most of the CRM modules as an extension of our U.S. teams. Within a year, my team in India looked like a replica of the U.S. team and was involved with all aspects of software product development.

However, as many would expect, this growth was not easy. We faced a host of challenges and went through a great deal of growing pains as any new organization would go through. Some of the challenges were typical distributed development challenges but other challenges were function of doing software development in India.

MANAGEMENT
People with solid management experience are in high demand in India. It is important that a company that is planning to build packaged software in India hires managers who understand how to build proper processes in India and to manage expectations in the U.S. Ideally, the key management for the India development center should be comprised of some U.S. return managers. Such managers understand the processes and professionalism of the U.S. workers and will help create the appropriate work environment in India, also knowing how to deal with U.S. expectations and understand how not to overcommit.

INTERNAL BUY IN
It is very important that the group responsible within a company for setting up the India software development group or outsourcing development to a third-party creates a sound plan to get U.S. managers and development staff to buy into the model. In this economy, most U.S. employees fear losing their job security. It is important that the U.S. team realizes that the benefits of India development will make the company stronger and allow them to be competitive in the long term.

Some of the ways to encourage U.S. managers and employees to buy into the Indian development model is to have a weekly meeting with U.S. managers and employees to address their issues and concerns-these meetings usually begin negatively but quickly turn into tactical meetings to figure out how to make things work in India. Also, a regular videoconference with the India team helps to put faces to email addresses and ensures that both teams start understanding and respecting each other.

FINDING SOFTWARE ENGINEERING SKILL SETS
To successfully develop software products, it is important that most of the candidates working on product development understand software engineering. They need to understand that software development is not only about writing code. There are four potential sources for finding candidates for software development jobs in India: college graduates; employees of consulting companies in India; employees of software companies in India; folks working in software/consulting companies in U.S. looking to move back to India.

MODULARIZATION
For any software product to be built in a distributed environment, the requirements have to be well-defined and documented, and the design must be modularized. Most software companies are notorious for changing requirements frequently and not really updating design documents whenever requirements change. In a distributed development environment, a loose development process would not allow the product to be delivered on time or guarantee completeness.

By distributing development, software companies would be forced to start thinking about their development processes and would have to force themselves to define a formal process to allow for successful product delivery. One of the benefits of doing software development in India is in getting the U.S. software engineers to start thinking about how to make their product more modular and eventually more manageable. I would argue that in the long-term, the U.S. office would produce a better quality product by distributing development and building proper development processes.

Managing a balance between structure and flexibility is a challenge for any team doing distributed development. In the U.S., the work environment allows teams to develop their own processes and to be flexible in their approach to methodologies, but this cannot be rewarded in a distributed development. At Oracle, this was a key hurdle for us to overcome to ensure that we delivered products that reconciled cultural differences in development philosophies.

CONCLUSION
There are quite a few other challenges such as communication, infrastructure, travel, training, etc. that a company will face when starting development centers in India. These challenges are not too difficult to overcome with some initial planning and with the right team in place to create and execute the plans. There is immense talent in India to meet any of the software development requirements a company might have. With the right development model and good leadership, software product development can be successful in India.

Twitter
Share on LinkedIn
facebook