Outsourcing - BPO
A Recipe For Outsourcing Your Software Development
Outsourcing your software development can save you time and money
if you know what you need. Too often US companies attempt to outsource
without a good understanding of what their software should do,
and this is the biggest cause of outsourcing failure. It is unreasonable
to expect your outsourcing team to have a menu of software, pre-prepared,
so you can just select the items you want.
Ever go to a restaurant with a picky eater? They tell the waiter
in excruciating detail how they want their food prepared. And
heaven forbid that the food arrives different from what was requested!
Back to the kitchen it goes to be "fixed" to make the
picky eater happy.
Sometimes US companies hire an outsourced partner as if they
were going to a restaurant. They select the cuisine based on the
flavor of the technology they require. Chinese .NET or Indian
Java? How about some Russian C++? Unfortunately there is rarely
a menu for the exact items you might like to order from an outsourced
team.
Are you approaching outsourcing your software like you are walking
into a restaurant? Are you expecting the outsourcing team to advise
you, like an attentive waiter, on the way your software should
look, be prepared and presented to your customers?
Instead, bring your own recipe when you start work with an outsourcing
team. Unlike your dining experiences, you cannot ask for the daily
special. You have to provide a specific description of what you
would like to have, and how it should be prepared. Without such
a recipe, your outsourced software development efforts can be
starved for success.
Poorly specified software is often the result when "subject
matter experts" are involved. Subject matter experts, or
SMEs, know a lot about a particular subject, like IC design, business
process workflow, inventory management, etc., but very little
about designing software. SMEs can struggle to get their ideas
encoded in the software. They need to work with someone that knows
the best way to design and develop software.
Sometimes, there is a fear of getting bogged down in the details.
Since some software executives are great with people, they feel
much more comfortable hiring a person to handle the details. They
know how to manage a person here, better than they can manage
an offshore team of programmers in a remote offshore location.
One Accelerance client is in this situation. The CEO wants to
outsource the development of a new software product. But there
is no specification. In this case Accelerance is acting as a virtual
CTO, responsible for the design, and development of the client's
software.
The client is essentially saying, "Design the software for
me, and I'll tell you if it matches what I am thinking."
This can work because the cost of outsourcing is so low that rework
and multiple design iterations are affordable.
This type of arrangement only works when paying on a Time and
Materials basis. There is no way to offer fixed pricing because
the end product is not defined.
Of course, not having a specification may not stop you from asking
for a fixed price bid! In this case, you can outsource the creation
of a specification that defines your software for a fixed price.
Then the resulting complete design specification is used to create
a second fixed price bid for writing your software.
Another factor comes into play when you pay a fixed price amount
for a software design specification. You usually have to pay at
least half up front. This is to protect the outsourcing company
from delivering a specification for creating the software and
then not getting paid.
Because software design often occurs at the beginning of a relationship,
both parties seek to minimize their risk. You minimize your risk
by selecting an outsourcing team with a proven track record and
great references. The outsourcing team reduces their risk by getting
partial (sometimes full) payment before starting.
There are multiple deliverables that should be produced during
the design phase of creating your software, whether you do it
yourself, or outsource the design:
* Marketing Requirements
* Storyboard Demo
* Functional Specification
* Multiple Release Milestone Schedule
* Detailed Task Schedule for First Release
* Detailed Design Specification (optional)
Unfortunately, software development has not progressed to the
point where ready-made modules are available to order and combined
to create your software. There is not yet a menu of choices available
to anyone that is hungry for new software. Instead, you must provide
your own recipe for what you need. The good news is low cost outsourced
software design and development resources are now available to
create your custom software to meet your exact specifications.
Steve Mezak is a successful Silicon Valley technical entrepreneur
and global outsourcing expert. Get your copy of his free report
on "The Seven Deadly Dangers of Outsourcing Your Software
Development and How Companies Like Yours Can Avoid Them"
by visiting his Accelerance outsourcing company web site now.
Article Source: http://EzineArticles.com/
|