Forum Outsourcer Indonesia

OUTSOURCING DEVELOPMENT

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:

primteksolusindoai mengatakan...

Best IT Company and it's services also.
Thanks for sharing this information with us.
IT outsourcing consulting Indonesia

Posting Komentar

your advertising

iklan anda iklan anda iklan anda iklan anda iklan anda ikla anda iklan anda iklan anda iklan anda iklan anda iklan anda iklan anda iklan anda iklan anda iklan anda ikla anda iklan andaiklan anda iklan anda iklan anda iklan anda iklan anda ikla anda iklan andaiklan anda iklan anda iklan anda iklan anda iklan anda ikla anda iklan anda