|
What is Outsource Software Development?
Need
outsource software development and want to know how it can help deliver
projects faster and maximize return on information management
investment?
What
is traditional outsource software development?
This
term usually refers to a process where an organization (the client)
contracts with another organization (the supplier) to handle day-to-day
functions and management of software development for the client.
In
some cases, the supplier sometimes actually hires the entire staff from
the client and takes ownership for managing the software development.
In other cases, the supplier brings in it’s own set of employee’s to
handle the work
What are
some outsource software
development options?
- Contract
employee’s are individual
consultants (the supplier) who work as contract employees and receive
management direction from the employer (the client).
Contract employees are generally
employed by an IT resource-staffing
firm (the supplier). They can be a full-time employee of the supplier
or an employee of
a sub-contractor of the supplier;
- Consulting
firms also act as outsource software development suppliers. They may work on
a:
- “Time and material” basis and provide
resources on-site; or
- “Fixed price” basis where they bid for
contracts and assume most risks for project delays;
- Offshore
development refers to a process where an
organization (the client)
contracts with an “offshore” organization (the supplier) to handle
day-to-day functions and management of software development for the
client. The supplier is not physically located in
the same country as the client.
In this case, there is no real
difference between “outsource development” and off-shore development”
except the outsource supplier is “off-shore".
Offshore
development, may also be utilized directly by an organization as a form
of staff augmentation. In this case, the offshore teams are
actually employees of the organization, or may be contract employees’
of an offshore supplier.
What are some best practices to consider?
- Contract
employees must comply with information management policies,
standards
and best practices. Their work needs to reviewed for quality
to the
same
level of detail as client employees;
- Contract
employees usually work thru an IT staffing organization.
- Frequently
clients add clauses to the supplier contract, which help ensure that
the employee is not “gouged” by the staffing
organization.
- Since
sub-contractors, on a “corporation to corporation” basis, provide many
contract employees to staffing companies, it is worth considering
asking
the staffing company to insert the same employee protection clauses in
their contracts with sub-contractors.
- Consulting
firms who
provide services on a “time and materiel” basis also need to ensure
that their work products comply with information management policies,
standards and best practices.
- Their work needs to be reviewed
for
quality to the same level of detail as client
employees.
- In addition,
it is important that their project plans and “level of effort”
estimates
be
reviewed by an experienced information management
architect or data architect to ensure they conform to reasonable
expectations.
- Consulting
firms who provide services on a
“fixed
Price” basis must
also comply with information management policies,
standards and best practices.
- It is critical that the client have an
experienced information management architect or data architect
available to complete reviews in a timely manner.
- Delays in approving
deliverables could incur financial penalty.
- Off-Shore
software development presents
additional challenges: It is important to remember:
- Team
members are “off-shore” sometimes with an 8-10 hour time
difference—They cannot quickly
turn
to another team member to obtain
answers to a simple question;
- This implies that specifications
be very
detailed and it also implies slightly more time is
required to prepare
and review
the specifications;
- Off-shore development suppliers usually
insist on an
“on-shore”
coordinator or team lead—This key position should be
considered in any information management software development
methodology;
- Offshore
development is an excellent way to
achieve
impressive reductions in software development cost/time. It
should be
carefully
considered by organizations interested in reducing the
development life cycle. It also needs to be carefully
managed.
Summary...
Outsource
software development can be accomplished by contract employee’s,
consulting firms and offshore development firms. It can provide
substantial cost/benefit and this can be confirmed by a business case study.
|