To sustain itself in the tough competitive field, businesses need to be exceptionally good in providing quality, prompt in delivery; all the more in the case of offshore software outsourcing. With the advent of Quality System Standards, outsourcing firms as well as the outsourcer have to accomplish different objectives regarding the quality of the software.
(Like any other business, software outsourcing in India too has its risks.)
To provide software development outsourcing one should uphold the following views.
- Needs of the clients with respect to software quality, prompt delivery, security and costing must be fulfilled. That is the benefit of clients in software development outsourcing to India.
- Make the client confident that the prescribed software quality standards are met continuously during the development process.
- Be confident enough about your software quality management and accuracy maintenance.
Offshore software outsourcing in India consists of:
- Product component outsourcing: Where a part or portion of the overall system is contracted to be developed, mainly when the client may neither possess the skill nor the technology required for the development process.
- Process component outsourcing: Where allowing a part of the function of one or more of their process steps or components is being outsourced.
- Total outsourcing: Where each and every activity related to software like design, development, testing etc. are outsourced.
Thus, offshore software outsourcing in India is a contract / subcontract with an external service provider for purposes like development of complete or partial software products or projects and the purchase of packaged or customized software products.
Advantages of Software Outsourcing to India:
- Through software outsourcing in India, one can make use of one's own valuable time by concentrating on his / her core competencies.
- Software outsourcing to India guarantees flexible technology and service.
- Software outsourcing to India allows you to adopt innovative skills and techniques while financial risks will be in the hands of the vendor.
- Software outsourcing to India minimizes cost and facilitates business transition.
- Joining hands with the professionals skilled at software outsourcing in India (like in a joint venture) takes you to new markets and opens a new world of profits with minimal effort.
Guidelines for software development outsourcing
The documents that are inevitable for a successful deal in software outsourcing to India are the following:
- Requirement Specification documents.
- The Proposal Analysis document.
- The Contract Execution document.
- The Software Development Plan.
1. The Requirement Specification document for software outsourcing contains,
- The aim: This document furnishes the basic objective, along with details regarding the industry & software development team. This facilitates fast & simple inferences about your software project to find the well defined offshore software solutions required.
- The goals: Goals are set to bound a race. It is actually a list of the required outcome to fit various stages in the true solution and, must be specified clearly.
- The consistency factor: Issues dealing with compatibility has to be approached at the initial stage of a project & steps are to be taken to avoid complications. These issues come up when the software that is under development forms a part of the existing software or hardware system.
- Prominent characteristics: The diversified features involved in the projects must be identified and defined, so that those involved in the development process, will clearly understand the various modules in the process.
- Issues related to "look and feel": The way in which the people visualize the finished product is subjective and cannot be well defined while developing ecommerce solutions. The revival of user interface in later stages will prove to be expensive, costly and will cause delay in delivery. Therefore, this must be clarified in the initial stages itself.
- Support and maintenance: Round the clock support has to be imparted to software applications that are being developed as a part of the contract. Your outsourcing company must be maintained in such a way that its excellent communication network is widely known.
- Complete Documentation: The whole development activities involved, including logic & coding must be documented. A detailed user manual has to be prepared; if one is dealing with upgrades of software applications.
- Terms and conditions: As this is a contract it is necessary to furnish all terms and conditions, lest it leads to controversies in future. The people involved in this deal can make inquiries in accordance with the completion of the document.
2. The Proposal Analysis document is actually a refinement document usually proposed by the vendors of India. This consists of the compromises and fade-offs made, so that the final output comes out in accordance with your requisites. Time related matters like the winding time for the project development are fixed begore the commencement. This stage also witnesses, boith parties making their views crystal clear to each other, about their ideas, capabilities, risks, etc. This document furnishes:
- The overall scope: This entails the picture of your software applications from the service provider's viewpoint, i.e. how he has perceived your project and your requisites. It may also contain the views, limitations and suggestions from the part of the provider.
- b. Payment criterion: The payment amount depends on two factors namely time and money. Our offshore software development firm in India follows these payment models:
- In India the provider charges for the man-hours spent on software development.
- Both the outsourcing firm and the client agree on bulk payment for the completion of the entire application. Most of the firms handling software outsourcing in India follow this method.
- Both agree to pay at various deliverable stages.
3. The Contract Execution document
If the proposal is accepted by the client, the next step is to execute the contract. The Contract Execution Document includes all the details about the Intellectual property rights, delivery date, deliverables, and responsibilities of each party, terms and conditions concerning nondisclosure, payment terms, and functional specifications provided by the client.
4. The Software Development Plan.
The project manager (preferably the vendors) maintain the basic project development plan. Both the parties must sign this document before software outsourcing to India. This consists of three steps which are explained as follows.
A detailed plan of the offshore software development outsourcing gives an indication that your work is being executed finely.
The software development outsourcing plan may contain the details of the human resources involved, their skill sets and the time of completion of work at each stage.
This software development outsourcing plan reveals the complexities and basics that may occur in the course of the project development and will help corrective measures to be taken, if required.
Software Development and Design Specification
Software development and design specification is peculiar to software development outsourcing companies in India. The vendor after creating a whole range of diverse alternate sophisticated design must, give the client an exposure to these designs. Later the provider can carry on the application design process and mould the design specification.
The Software Design Specification followed by the software development outsourcing firms in India are discussed under the following titles.
- An overview
- Requisites for the system
- Naming conventions and Database conventions
- Diagrams and Parameter passing
- Design priorities
- Programming tools
- Handling errors
- Storage and description of data records
All the functionalities of Functional Specification are included in this.
Quality Assurance Plan.
The quality assurance plan goes along cycles like Alpha criteria, Beta criteria, Final code submission criteria, Acceptance criteria and Alpha entry. Some of the salient points of the Quality assurance plan are as follows.
- The vendor agrees on an alpha entry criterion
- The vendor supplies quality assurance for Alpha submission
- The QA engineers follow the acceptance test plan and report bugs to the software development engineers.
- QA engineers further continue regression testing to ensure fixing of bugs
- The incorporation of minor feature enhancements in the software, as agreed by the client and the vendor is done.
- Final Code Submission, where both client & vendor agrees up on the final code submission.
- Acceptance testing, the client performs acceptance testing of the software as specified by the QA test plan.
- Operation guarantees the client a warranty period of technical support, which depends on the size of the project (normally 30 days).
- Maintenance - Separate contracts are given for fulfilling requirements of the software application development like
- Adding features
- Fixing bugs
- Giving technical support to the client.
Project plan revised : The project plan is being revised in accordance with the needs that arise out of the design specification and Acceptance plan.
Terms & Conditions
Ensuring that both the parties involved in the contract have agreed on the conditions & nothing remains unclear between them.
The IT industry is more dependent on the transfer of information and communication, than any other industry in India. The software development outsourcing companies in India are keen about maintaining a healthy communication with their clients. Barriers of any form that threaten to hamper the smooth flow of information at any stage can be disastrous to the whole outsourcing process, which may in turn lead to unnecessary negotiations and modifications.
The major medium used for the transfer of information in outsourcing includes Internet, e-mail, chat, videoconferencing, collaborate tools & project management software.
Analysis has to be done by the client and the vendor for the following.
- Functional Specification, made by the vendor and signed by both parties must containl;
- A description of all the components & deliverables
- Acceptance criterion
- Main objectives & special system requirements
- Overview of the application/system
- Client-vendor communication interfaces/protocols
- A method for negotiating specification changes.
- Responsibilities of parties, terms, conditions, and assumptions.
- The Initial Design a. High-level design of application / system as a whole b. Description of user-interaction, data flow & data storage.
- Development Proposal
- Final version of analysis proposal and
- The Executive contract
- Misunderstanding can arise between the vendor and the client if the discussion regarding the software application is not based on the final document.
- Misunderstandings may also arise, if the vendor representative and the client are not close to each other, as it is virtually impossible to explain all the finer details during the course of the conversation/discussion.
- The possibility of cultural clashes between most of the offshore professionals who are in the East and clients in the West, cannot be overlooked.
- The difference in the time zones between that of the vendor and that of the client could be yet another barrier. Mutual adjustments have to be made in such situations.
To delete RISKS in software development outsourcing.
Before software outsourcing in India, the client and Vendor should sit for an open talk, stating:
- The original objectives and proposed solutions
- Organization and method of the project
- Comparison of estimates and actual results
- Successful aspects of the software application
- Problems involved and suggestions to avoid them in future.
The guidelines for software development outsourcing, documents required, risks involved, etc,. has been discussed above. For further technical, professional aid and software outsourcing in India; do get in touch with us. At ITOI, we are eager to be of help to you.