Guidelines for
software development outsourcing
To sustain itself in the tough competitive field,
businesses need to be exceptionally good in quality, promptness and
accuracy; all the more in the case of software outsourcing in India. 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, accuracy and
safety must be fulfilled. That is the benefit of clients in software
development outsourcing in 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.
Usually 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
in 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 in India allows you to adopt innovative skills
and techniques while financial risks will be in the hands of the vendor.
- Software outsourcing in 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 to India 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 e-commerce 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 before the commencement. This stage
also witnesses, both 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.
-
Software Development
Outsourcing plan
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.
Communication
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.
- 1. Functional Specification, made by the vendor and signed by both
parties must contain;
- 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
-
Risks Involved in offshore
software development outsourcing.
- 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.
|