Within IT, outsourcing is a well-established practice. When we speak of
outsourcing, we tend to think of large-scale, long-term engagements
covering the entire IT function, data center operations or application
maintenance and support. These three types of outsourcing are certainly
prevalent, but they are by no means the only, or even the most popular
form of outsourcing in use. Hiring consulting firms to staff and manage
development projects -- development outsourcing -- is more widespread than
these traditional forms of outsourcing, yet it is often not viewed as
outsourcing per se.
The characteristics of development projects vary significantly from
traditional outsourcing engagements. Whereas traditional outsourcing
engagements are open-ended, lasting anywhere from 5 to 10 years,
development projects are more focused and finite. Development work tends
to be project based, lasting a few months to a few years, and is rarely
open-ended except where the entire development function is outsourced on a
standalone basis or along with the rest of IT. Traditional outsourcing
engagements are normally managed to a set of formal service levels while
development projects are concerned with performance requirements --
quality, responsiveness and productivity -- which are generally less
formally specified. The functions covered by traditional outsourcing tend
to be "back office" ones while development projects are often
highly strategic to the enterprise.
Whether or not IT organizations view externally staffed and managed
development projects as outsourcing, the practice is here to stay. There
are hundreds of solution providers offering IT development services from
traditional consulting firms like Andersen Consulting and IBM Global
Services to Internet upstarts like Razorfish and Scient. This Executive
Report discusses when to consider development outsourcing, the types of
development outsourcing services available, selecting a development
partner, and managing the development effort.
When to Consider Development Outsourcing
Development outsourcing is a viable option depending on the company's
situation and the characteristics of its project. Whenever a company
considers developing a new system, a predicate question is whether to
build the new system from scratch or buy an off-the-shelf solution.
Building a system from scratch is accomplished using internal expertise or
by hiring a development outsourcer, and is a good choice when the new
system is strategic or unique. Purchasing a pre-built solution such as a
software package or ASP offering is suitable for more generic systems. The
build vs. buy decision is never black and white but encompasses a range of
options based upon the level of customization needed, resource
requirements and degree of difficulty and risk.
For a company that chooses to develop a solution from scratch, there
are many considerations as to when it makes sense to outsource all or part
of the work. An IT organization should investigate using a development
outsourcer if it:
- Lacks competence in developing the types of systems in question,
- Needs to accelerate development,
- Needs specialized expertise not available in-house,
- Needs one-time expertise, or
- Wants to save costs
The characteristics of the project will also help determine if it is a
candidate for outsourcing. While there is no "ideal" development
project suitable for outsourcing, a project that has one or more of these
traits is worth considering.
- Highly specified - the more precise the project specifications, the
more amenable the project is to outsourcing. The outsourcer knows
exactly what it must do to perform its work -- the deliverables
expected, the functionality needed, the timeframes required -- and
expectations between the parties are tightly aligned.
- Ill defined, but feasible - a company may need to adopt or explore a
new technology, but may lack the internal resources to define its
requirements precisely. If the right outsourcer, using the appropriate
development methodologies, is selected, it can help the company
explore, define and refine system specifications by prototyping the
new system.
- Highly innovative - cutting edge or breakthrough projects start out
as amorphous, fuzzy concepts that require research, collaboration,
exploration and experimentation to produce results. Outsourcers with
experience in performing research and development or incubating new
ideas are good sources of help to nurture these projects.
- Little reliance on functional experts - in general, the more defined
the project, the fewer interactions required between the outsourcing
staff and the company's functional experts. The more work that the
outsourcer can perform on its own without guidance from company
experts, the more efficient and productive the process.
- Generic functionality - generic projects are perfect outsourcing
candidates. Outsourcing options are plentiful -- the pool of
consultants familiar with the functionality is larger, solutions are
well honed, and pre-built components are likely to abound.
Types of Development Outsourcing Available
There are many flavors of development outsourcing. While clients and
outsourcers are free to fashion whatever type of project they see fit,
outsourcers will tend to stick to "tried and true" formulas that
have been financially successful for them in the past.
At a very high level, development engagements vary according to their
duration, location and sources of help.
- Duration - most development outsourcing arrangements are
project-based. The outsourcer is hired to accomplish a specific task
and leaves when the job is completed. Project outsourcing is finite,
measured by months or years, and is typically broken down into
milestones or interim deliverables.
- Location - development outsourcing work may take place at the client
site or offsite. If the client has the physical space, and knowledge
transfer is important, it can be cost-effective and productive to have
the outsourcing staff co-located with the company's IT workers.
Offsite projects are performed at either a local facility, at a near
shore arm of the outsourcer or even at an offshore center.
- Sources of help -- development outsourcing help is available from a
range of resources including: traditional IT consulting firms, topic
experts, fast track project experts, innovation centers/R&D
laboratories, near shore branches and offshore firms. Each category of
firm has its own strengths. For example, fast track project experts
can accelerate development efforts by specifying requirements
concurrently with designing and developing the system, while offshore
firms can provide critical mass at lower cost.
Selecting a Development Outsourcing Partner
The fact that development projects are so focused makes choosing a
development partner even easier. Because the characteristics of a
development project are generally well understood, the universe of
potential outsourcing partners can be narrowed significantly.
Understanding why you are considering outsourcing (e.g. need to
accelerate development, cost savings), the type of project you have (e.g.
highly specified, innovative) and the types of development outsourcing
help available let you zero in on the most suitable categories of
development outsourcers. For example, if the project is ill defined yet
strategic, it would not be wise to select a pure offshore development
firm. If cost savings are the primary motivator, then a high-end IT
consulting firm may be too expensive.
Before selecting a development partner, perform your own due diligence.
This activity will involve looking at, examining and reviewing:
- References
- Work processes (methodologies, quality controls, etc.)
- Certifications and qualifications (CMM, ISO 9000, etc.)
- Expertise (including depth and turnover)
- Project and program management capabilities
- Partnerships
- Support capabilities
Once a development partner is selected, negotiations will begin over
the terms of the arrangement. With development projects, the parties
generally short cycle the negotiation phase because the term of the
contract is shorter, the dollars involved are lower and the enterprise is
perceived as being less "at risk." In reality, a development
project suffers from a high degree of risk. Many high-priced development
projects end in disaster with a wake of litigation in their aftermath.
Negotiating a fair and comprehensive development agreement can help reduce
the risk of failure. Negotiation points include pricing, performance
requirements, penalties and incentives, ownership of intellectual
property, change processes, hand off/acceptance procedures,
post-completion support and exit conditions.
Managing the Development Outsourcing Effort
There are many facets to managing a development effort. Having the
right management structure in place is a fundamental part of the project.
For simple projects -- those that last a few months or use a few resources
-- an individual project manager can usually handle the job. For larger
scale projects that involve changes to business processes, organizational
structures and enterprise-wide systems, a collective, collaborative
management structure like a Program Management Office (PMO) is essential.
In a development context, the PMO is used to manage the design,
implementation and rollout of a major system or application, and
emphasizes meeting project milestones and deliverables at acceptable
levels of quality and within budget tolerances.
Managing the development project is fraught with challenges. The sheer
number of variables involved in a project -- resources, technologies,
budgets, dependencies, timing, quality, etc. -- means that something is
bound to go awry and require correction. Common management challenges
include: managing risk, specifying requirements, scoping the project,
managing objectives and milestones, budgeting, evaluating and ensuring
quality, transferring knowledge between the outsourcer and internal
resources, documenting the system and supporting the completed
application. Metrics programs are a useful tool for measuring and
controlling the outsourcer's performance during the course of the
development project, and evaluating things such as quality of
deliverables, productivity and responsiveness.
Although it operates under many guises, development outsourcing
pervades the IT landscape. The trend is only going to grow, driven by
increases in the complexity of technology and continuing business demands
for faster implementation of new functionality. Given the many
permutations of development outsourcing, and the wide range of providers
offering those services, there is likely to be a perfect solution for
almost every IT requirement.
(Executive Summary by Ian S. Hayes, Clarity Consulting, Inc, 2004)
1 komentar:
Best IT Company and it's services also.
Thanks for sharing this information with us.
IT outsourcing consulting Indonesia
Posting Komentar