Profiting
from offshore software outsourcing
a systematic approach
For most companies, outsourcing is an interesting option, but
they are reluctant to explore this option. Many companies are not
even aware of outsourcing possibilities. Occasional failures of
outsourced software projects have been discouraging people to entertain
the various options that the fast changing globally competitive
markets have to offer. Whether it is a service or a product to
sustain an organization's competitiveness, one has to relentlessly
pursue cost reduction goals without compromising the quality of
the solutions. Thanks to the Internet and the experience of Indian
software professionals, outsourcing software has become an excellent
service for the talent starved high tech industries.
Much like any other business, the pioneers reap the best benefits,
although the early attempts are full of small failures. Thanks to
the pioneers, the model has now been perfected and offers a complete
scope for all types of companies to venture into outsourcing software
to promising IT companies.
Contrary to popular perceptions, the potential benefits are derived
best from small and growing companies. They are flexible and focus
on delivery of services and solutions in time without compromising
quality. Also when you work with such companies, chances are that
you will often deal with the top management of the companies who
understand the importance of working with clients and satisfying
their needs.
There are a few logical and important guidelines that any organization
has to follow to be successful in outsourcing software to offshore
businesses. India has established itself as one of the most competitive
destinations for software development services.
Unlike in house development or on site development, the offshore
development has certain peculiarities associated with its process.
Most of the steps that are involved in onsite development are present
in offshore development. Critical steps have been included in the
process to ensure successful completion of the project.
Are you confused about what to expect when you need to outsource
software development?
There are common steps in the process, which may vary according
to the size of the project.
Defining Requirements Specification
The first step towards successful offshore software development
is the creation a complete and thorough document, which may be difficult,
however it is worth it.
In the interest of the project, the client must ensure delivery
of a complete set of documents, which clearly state the following.
The Purpose of the Project:
This is more of a vision-like document, which clearly spells
out the business objective behind the project. The document should
also explain, to the development team, some basic information about
your industry.
This is common even when you develop specific applications meant
for a target industry. The knowledge will pave way for an easier
and quicker understanding of the project and the underlying logics
that may be applied to the case. In most cases, software solutions
are not just purely technical solutions, but business solutions
as well. Therefore, the functional knowledge is as equally important
as the technical knowledge. The Internet can be a useful guide.
Information about your business is usually available on the net
and therefore, you are able to direct consultants to the right locations
in the Internet.
Goals:
Goals direct the efforts to specific deliverables. For example,
a business, which launch's its Internet site may want to provide
all of its offerings through the website. However, this particular
phase of the project may have specific goals, such as streamlining
the sales process using Internet technologies and facilitating order
placement by the customers. Such goals help narrow down the thinking
of the developers to see the specific solutions in the global context
and fit them into the project at the proper stages. In future the
same system can be expanded and integrated with the other business
processes.
Major Features:
Major features help people further redefine the scope of a project
and open lines of communication to enhance understanding between
the client and the vendor. For example, a web project for a retail
store may have several features such as admin module, inventory
module, storefront and backend database. These modules are identified
with a name and hence easy for the people to understand each other.
It is also advisable to define specific terms with specific explanations
in a glossary section so that all terminology is understood completely.
The language used should be simple, concise and to the point. However,
wherever explanations are required, it is better to explain them
with examples and in great detail. Ambiguity can often lead to
serious complications as a project moves forward.
Compatibility issues:
Compatibility issues arise when software that is under development
becomes part of an existing software or hardware system. It is best
to address these issues at the commencement of a project thus taking
steps to avoid further complications during implementation.
Human Interface Issues:
Human interface issues, at times, relate to the way the people
envision the finished product. This is also subjective and cannot
be exactly defined especially when you are developing e-commerce
solutions. The web interfaces are what matters to the customers.
It is often better to freeze the human interface as quickly as possible
so that the developers will be able to comprehend and visualize
the system from the beginning of the project. It helps to have complete
graphic documents, screen shots, mock pages and interfaces made
even at the beginning of the project.
It is well known that revising the user interface late in the
project is costly, expensive, adds to the bugs and will delay the
delivery.
Maintenance and Support:
Software that is developed by a vendor, especially an overseas
vendor, should be covered by round the clock support. This would
be part of the contract. You must also make sure that the software
company has presence internationally as well as connection to the
Internet in the same manner and staffed adequately to handle such
contingencies. Make sure the contract explicitly mentions all of
these terms.
Documentation and Training:
It is important that you insist on complete documentation of the
entire process including logic and coding. Also insist that the
software developed be supplied with a good user manual so that users
can easily understand it. If you are interested in working with
the upgrades of the software, it would be immensely useful.
Terms and Conditions for the project:
Here you will spell out your terms and conditions for the project
so that the vendor can adequately prepare its offer, taking in to
consideration all terms and conditions. Undefined or unclear terms
and conditions can lead to misunderstanding of the project at a
later stage leading to development delays and additional costs.
Depending on the completeness of this document, vendor(s) involved
in the proposal process may need to make inquiries and revisions
to it before it becomes an adequate basis for a bid.
Analysis Proposal
When all of these previous documents are supplied, the vendor
will come back and deliver a document. These documents may be a
refinement of your prior supply of documents. The refinement would
help both side understand the terms, requirements and deliverables.
Normally there are some compromises and trade-offs made at this
stage so that the final delivery meets with your expectation in
all aspects. Also the vendor is clear of the scope and terms.
The scope of
the project
Cost and time
estimates
A basic project
plan
A definition
of deliverables
Acceptance criteria
Any terms and
conditions required
Any assumptions
used to make the proposal
The scope of the Project:
The scope explains the exact understanding of the vendor based
on your requirement elicitation.
This document would help you assess the vendors understanding
of your requirements. In some cases, you will be able to improve
upon your requirement or limit the same, based on the vendor's advice,
capabilities and other constraints such as time for launch of the
software and your business objectives.
Cost and Time estimates:
When it comes to cost and time estimates, there are three approaches
with off shore projects.