I have been researching on the topic of offshore development to find out why how many people are skeptical about this model? Even after huge cost saving why certain small and medium size companies are not ready to adopt this model? Let me put up some points here with possible solutions of them.
1. A Clash of Expectations and Delivery, this is a very common problem
A client expects a project of software development to perform certain things, the developer works on it and delivers it and at the end of the project either the client is happy nor the developer is happy. Let me put some points to resolve this.
A. The client should understand that although he has hired a software developer, he is a technical person and he needs domain expertise through client's inputs. A good document relating requirement can avoid the surprises.
B. "Clone this", this is a killing dialogue by some of the clients. As a developer I always ask my clients to be specific about requirements and I suggest them to write it down on paper. Because cloning some sites is difficult job; you can not define boundaries of the project for a cloning version of sites. At the middle of the project the client starts asking questions and modifications that are not present in original site and the result does not please any of the parties. So avoid the word cloning, request for details or prepare details on your own.
C. Changes in requirements can be another factor that could end up in misunderstanding between two parties. There should be a clear discussion right at the beginning that how the changes in software development will be managed. Who should approach for changes and who should signoff with proper price and time tags?
2. Communication issues between client and software development companies
In offshore software development model, the communication plays a vital role, none of the party should take it easy for this particular process. If the communication between developer and client is not frequent and clear, the end result of software project could be not as expected. Let me highlight some points to avoid the communication issues.
A. The developer, designer and client should have each other's email id, messenger ids and telephone numbers. Either of the medium should be frequent and efficient for both of the parties. Sometimes Indian developers are not so great in voice communication that should not stop them doing their job well, they can communicate by emails and chat. Likewise clients should also understand that English is a foreign language of Indians so they should encourage developers to write emails and do texts chat.
B. Scheduling a Chat session or telephone conference is always a good idea for asking questions to each other, updating each other on project and planning for future update. Setting a schedule is psychological advantage as well, because both parties agree on same time and they make each other available by 100% during that time.
C. Communication should start with a prior plan. Unplanned communication can end up in disaster. An offshore developer should have a list of questions and suggestions for a client, and simply a client should have a list of issues and plan to be discussed with the developer.
3. Payment terms & Development model could prevent the ongoing issues in offshore software development
Payment terms play a major role in any kind of business, the whole system of business works on payments. If there is not clarity then a good project could also go on long ending delay or sometimes such efforts go in vein if the client does not go online with given web based solution. Let me describe some tips to avoid such issue.
A. A client and developer should discuss in detail about payment terms of the software project. Both parties should agree on how the full and partial payments will be sent to developer, at what stages the payments will be received by developers.
B. Certain projects can not be estimated with exact time and delivery terms, in that case the projects should be done in hourly development model or monthly fixed payment model. Such monthly or hourly model is suitable to ongoing projects, very large projects or maintenance projects.
Finally some quick advises only for micro, small and medium size businesses for offshore development.
1. Do not just run after a cheap quotation. A cheap can cost you more, do proper due diligence before selecting a software company or software developer.
2. Please accept that developer is not physically present to you so he can not understand your feelings or expectations unless you put everything on paper.
3 . Define good terms of payment and delivery, so you can attract good offshore development companies, they will save your cost and time both.