WHEN TO CONSIDER DEVELOPMENT OUTSOURCING

by Ian S. Hayes

 

Whenever a company is considering developing a new system, it must first determine whether to build the new system from scratch or buy an off-the-shelf solution. If the new system is strategic or so unique that a prepackaged solution does not exist, then it makes sense to build the system from scratch. Building a system from scratch can be done using internal resources alone or by outsourcing the effort (or portions of it) to a development outsourcer. If the new system is not strategic and not unique, then it makes sense to investigate prepackaged alternatives. These alternatives include software packages, application service provider (ASP) offerings, and component-based solutions. Purchasing one of these prebuilt solutions is a form of outsourcing in its broadest sense, since an outside party was responsible for designing and building the system.

Build Versus Buy Decision

The build versus buy decision is never black and white. There is actually a range of build and buy options that varies, based on the level of customization, resource requirements, and degree of difficulty and risk. A decision to buy a software package may require some development work, and a development project may involve the use of prepackaged components.

There are many prebuilt solutions on the market today, from application software packages to ASP services, that can provide a company with robust and extensive functionality to rival any inhouse-developed software. With such a diverse range of options, there is apt to be a solution or combination of solutions that will match, or come close to matching, the functionality sought by a company. In many cases, an off-the-shelf application software package can be customized to fit a company's specifications exactly. Package implementation and customization work can be performed by the IT organization or can be outsourced either to the software vendor or to third parties with expertise in the package being purchased.

Purchasing a software package or ASP services can eliminate the need for a development project, but much depends on how well the purchased or rented application fits the company's specific requirements, as well as the amount of customization needed. With purchased components, the level of custom programming involved can range from minimal to extensive, eventually approximating the scope of a pure development project. Frequently, the purchase and installation of software packages, and even ASP services, are just pieces of larger development projects. To get the functionality they need, companies combine these purchased components with applications built from scratch, interfaces, and utilities. As an example, many e-commerce development projects rely on commerce platforms and software from vendors such as CommerceOne, Ariba, Art Technology, and others, plus interfaces to back-end fulfillment systems.

Many customer relationship management development projects use a third-party database products and off-the-shelf data mining and analysis tools, along with home-grown applications to explore and exploit the data. The decision to go with standard packages and/or ASP services can simplify and speed up the overall development project, but there may still be quite a bit of development work to tie the packages together and integrate the Web-based systems with their legacy brethren.