Offshore software development, India! : Making the choice and making IT work! - Advantage
This article is designed to assist companies who are looking for Offshore Software Development partners In India in particular or in low cost countries in general. The paper covers the mechanics of finding an offshore software development partner, setting up the relationship and ensuring a successful and long-term partnership.
Benefits of Offshore Software Development India
Some of the advantages are listed below:
Significant cost savings, up to 80% in certain cases.
The outsourcing company is able to release resources for high value-added and priority work and can concentrate on their core competence, designing, business knowledge while delegating technical tasks, maintenance, research or routine tasks to the offshore software development company. In some cases the offshore software development company can add significant technical knowledge also.
While it can be quite difficult to recruit the expected competence in Western countries, it is a completely different scenario in India, where there are many qualified programmers with good academic training.
For temporary peaks the Outsourcing company can avoid expensive new recruitment or the high cost of local consultants and instead use lower priced consultants in the offshore software development company.
Consulting and programming capacity is available at short notice without increasing long term personnel commitments.
Outsourcing company also reaps the knowledge gained by the offshore software development and consulting assignments.
Some clients outsource their programming needs by getting programmers from India for short or long term projects to work onsite with their own design team. Others send whole or parts of projects directly to India for offshore software development in India.
Offshore Software Development India, Disadvantages
Following are some problems, which may occur if both parties are not aware of how the offshore software development process should be set up.
Language and cultural barriers
Time differences
Technical communication problems
Skill mismatches
Quality discrepancies
Security problems
Lack of a repeatable process
Bad management and hierarchical inflexible organizations
All of these can be avoided, by choosing the right offshore software development partner and working with proper and proven project management processes evolved during the earlier offshore development assignments.
Sometimes the Outsourcing company overlooks these risk factors, thinking that the cost savings is so high that these risks are well covered. But in reality this can be a major trap.
Offshore Software Development India, The Ideal projects
Not all projects are ideal for Offshore Software Development. Any task involving proprietary knowledge, which can not be safeguarded with agreements, are not suitable for Offshore Software Development. Very technical and complex tasks can also be bad projects, since the amount of communication needed may be so high that the cost advantage is eaten up by having to explain everything. Very small projects may also be unsuitable, since the time to prepare the specification might be more than the cost advantage.
But apart from these exceptions, most projects or subprojects are suitable for Offshore Software Development in India. Some of the possible areas could be:
Platform porting projects (like porting from DOS - Windows, Windows 3.11 - Windows 95/NT, UNIX -> NT.
Application conversions
GUI design
Database applications, migration and porting
Web enabling legacy systems and client server applications
Web development, designing, programming etc. e Commerce - projects
Components like ActiveX, VCL, Objects, Reports, and Modules. Object Oriented Programming is very suitable for offshore software development projects.
Technical Documentation, end user documentation and manuals
Software QA and Testing
Remote Linux / Unix administration
Remote database administration
Remote software maintenance and feature enhancements
How to find an Offshore Software Development partner India
Make sure the offshore software development partner you are looking for fulfills at least some of the following characteristics:
Good communication equipment and facilities. Leased line or ISDN connections to the Internet are essential.
Excellent English language skills.
Experience and references. Check with a few of the references and ask for their experience and advice on how you should work successfully with the company.
Visit the company and establish a good relationship with the offshore software development partner. Make sure they understand your needs and quality demands.
Also, check that the offshore software development company has adequate equipment, stable finances and good management.
How to start a offshore software development relationship
In the most successful cases, according to our experience the outsourcing company and the offshore software development company builds a strong long-term relationship. Often the outsourcing company sends 1-2 people to visit the offshore company to start a personal relationship with the programmers they are going to work with. This also helps to understand the cultural problems and settings and can therefore help to build much more confidence than is possible to build via email communication.
Starting with a small pilot project might be the best way to start and establish a long term relationship.. Some of our clients have given the same task to different offshore software development companies and then after evaluation selected the best one.
Project Management - Offshore software development
To safeguard the development process there has to be established practices where the offshore software development company keeps the the outsourcing comapny informed about the progress on a regular basis. Both parties need to follow a communication methodology wherein they acknowledge mails immediately and also ensure that emails are not lost or left unanswered. This email communication plays a vital role as most of the dialog between the engineers and the client is done via this mode. We have found that communication between the offshore software development partner and the outsourcer through document sharing intranet sites like www.intranets.com or certain chat-group-ware like ICQ to be the best means of ironing out technical problems. Please check out http://www.icq.com. This doesn't replace Email but is a very good compliment to Email.
It is also important that clear specifications are made. Based on the specs, engineers from the offshore software development company ask questions and get answers to get a full understanding of the project. Good specifications result in good quality software and considerable savings in time taken to complete projects. In the case of research or in cases when the offshore software development company actually produces the specification, this process of course has to be modified to suit actual requirements.
We believe a project should start with a meeting or an email-dialog between the parties, to define the business problem and the software solution. This meeting will also include setting project goals, milestones and time frames
For small projects email dialog might be sufficient.
Next, the offshore software development company should submit a proposal. At Savitr Software Services Private Limited we work with both non-binding and binding estimates, fixed price or running hours. What is chosen depends on what the client is comfortable with and the type and nature of project.
Generally one contact person should be defined on each side, to facilitate clear coordination. Also, proper methods for testing should be defined in the initial meeting or discussion.
Software Piracy and theft
The government of India looks at software exports as one of its key growth areas and has set up an environment, which very strongly discourages any and all forms of software piracy and theft of software in India. One such measure that has been incorporated and instituted in India is the Indian Federation Against Software Theft. INFAST is responsible for policing and tracking down any software theft, and formulating policies, which act as a strong deterrent for personnel and companies.
India is also a signatory to the GATT trade agreement and has agreed to the international laws against software piracy. Make sure your offshore software development partner signs an Intellectual Property Right Pledge and a confidentiality statement / non disclosure agreement as part of the initial stages of your partnership
Conclusions - offshore software development India
If you are careful in your selection process, we believe that you can and will achieve great success with offshore software development projects. Here are some key guidelines, which will help you:
Find a good software development partner, who has a proven record in offshore software development activities over several years
Choose suitable projects
Possibly send a pilot project to the offshore software development company and evaluate the result
Work towards establishing a long term relationship
Visit your development partner (if possible)
Establish good management practices
Don't expect too much from the start. Offshore Software Development in India is profitable in the long run; not just for one-time projects.
About the Author
Research Associate, www.savitr.com