Software Outsourcing: Questions & Answers
What makes businesses outsource a software
development project?
A whole complex of reasons can influence your decision
to outsource your software development needs - it might be difficult
for you to hire the staff you need for your projects, you might be
lacking in the experience needed for your next project or you might
have quality problems with your in-house staff and need to outsource
to meet higher software quality requirements.
What kinds of software outsourcing development
resources are available on the market today?
When you need to go beyond your own organization to get
software development done, there are several types of resources you
can rely on:
"Independent Consultant" - Go for it If your
needs are small, and coordination with a lot of people is not a key
factor for you. There are a number of individuals working on their
own who have excellent skills and can be reasonably priced since they
usually work out of their own homes, which is less expensive as far
as additional costs. Make sure that the independent consultant is
a really good match of the skills you need because he/she most likely
will not have the ability to tap other people into his/her organization.
"Body Shop"- Often referred to as
"consulting firms," many of these companies are little more
than temporary agencies for software development people. They generally
provide personnel who work on your site and join your project team.
In case you have already got a solid team making satisfactory progress,
this may be a way to add a few needed people on a short-term basis.
Some body shops provide varying degrees of methodology and project
management to add value to the work their consultants do.
"Spec Converters"- These are firms that specialize
in highly efficient coding and testing - - provided you have a very
clear and unambiguous specification. However, this is often not the
case and there will be a need to find a software development partner
who can achieve a thorough understanding of your business need and
jointly develop requirements and specifications with you.
A Full-Service, Multi-Tasking and Resourceful Professional Services
Company, what e-Zest is, will be able to provide a broad spectrum
of services - from helping guide your analysis of what software to
build all the way through to delivery of a completed, high quality
product. Professional Services Firms are often able to take on larger,
mission-critical development projects and provide both the expertise
and manpower to achieve project goals. Consider this type of firm
when you are concerned about professional management of schedules
and budgets, or need other services that go beyond just coding and
testing.
How critical is it to have a contract with
your software vendor?
It depends - If you have a good working relationship with
your vendor, you won't necessarily need a contract. If the relationship
disintegrates, the best contract in the world won't save your project.
Nevertheless, contracts are both required and prudent in most cases.
What are the typical kinds of financial
contracts for software development projects?
Financial arrangements for software development payment
usually fall into one of three
Categories: fixed-bid, time and materials, or function point contract.
What is a fixed-bid contract?
With that type of contract, the client agrees to pay a
fixed amount of money for delivery of fixed software functionality.
The positive thing about a fixed-bid contract is that you know in
advance what it is going to cost you and it puts pressure on the vendor
to be efficient.
The negative side of a fixed-bid is that the vendor needs to build
in additional costs to cover the expense of items that might come
up. You also may not be as motivated as you should to cooperate with
the vendor when he needs questions answered or any kind of assistance
because you will think it won't affect the cost since it is a fixed
bid.
What is a time and materials contract?
With that type of contract, the client agrees to pay by
the hour for the effort put into their project. With this kind of
project, you will not have to worry about the issues of what is included
and what is not, like you do with a fixed bid. You and your vendor
can make decisions and press ahead with the project. It will also
be easier for you to have a say in how things are done since you will
have to pay the price if the least expensive route is not chosen.
A time and materials contract also puts pressure on you to do everything
possible to assist the vendor do a good job. This usually makes for
better projects. The negative side of this type of contract, however,
is that you will not know your exact cost ahead of time - so, if you
do not pick a good vendor, your costs can get away from you quite
easily. If you opt for that kind of contract, it is crucial that you
keep track of what you are asking for and insist on good faith estimates
so you can control your budget.
What is a function point contract?
With that type of contract, the client agrees to pay a
set cost per function point. Once you agree on a scale of costs per
function point, the industry standard Function Point Analysis
can determine the price. Scope changes are automatically priced by
changes in the Function Point Count. With this type of contract, a
lot of minor changes can result in inordinately high costs for changes.
Function Point Analysis might not cover non- functional items properly.
For example, your failure to provide required technical information
to the vendor may result in additional Fixed-bid or Time-and-material
charges that cannot be handled by your Function Point contract.
In a software development situation, how
would you describe the optimal client/vendor relationship?
You need to develop a partnership relationship with your
software development services company. Designing and developing software
requires a lot of creativity and cooperation.
The us-versus-them mentality would not be of great help. Look for
a company that will work with you over the long process of development
to make you be a real success in your marketplace, and not just promise
to meet your current need at the lowest price.
A good working relationship is like any good relationship -it takes
time and efforts to develop. As both sides learn to know each other's
needs, tastes and requirements you will be better able to work together
to produce the software you really need.
How much "free consulting" can
I expect a potential vendor to spend while preparing a project cost
estimate and plan?
The software industry has just started to build up experience.
There are still no standards set . Things have yet to be standardized
to the point where you can give a vendor a written specification and
expect your needs to be fully met and understood and a price to be
quoted.
To do a proper job, your software vendor will require to spend quite
some time, at your expense - to work through your requirements and
specifications with you, so that they can understand your needs fully
and precisely, and be able to provide a credible cost and project
plan. Both sides benefit from a better time-and-cost offer.
Sometimes the companies in need of a software outsourcing team would
issue a RFP (Request for Proposal) and expect vendors to do a lot
of free upfront consulting to gain sufficient understanding to be
able to prepare a proper professional proposal. This approach usually
produces results equally unsatisfactory to both client and vendor.