Software can be developed internally, purchased or rented from a vendor, or, in some cases, leased from a third party. Table 7.1 lists criteria useful in making the develop-versus-buy decision. Within the organization, a systems development staff usually writes programs that are large and complex and involve a number of organizational units. Software development by users normally is appropriate when the program will be used by a small group or an individual, and must be tailored to that limited use. As more software becomes available, especially enterprise systems with many modules and add-on features, the option of in-house development has become increasingly rare.
Organizations not wishing to or unable to develop software in-house may purchase, rent, or lease a commercially available software package. Some organizations have rented software packages and used them to benchmark software being developed in-house. The rented software may also provide an interim solution while a system is developed in-house and might be retained on a long-term basis if it proves superior to the in-house solution.
What are the external sources of software?
Software can be acquired from computer manufacturers, software vendors, mail-order houses and retail stores (for personal computer software), as well as outsourcing firms, including service bureaus, systems integrators, and application service providers.
In general, outsourcing is the assignment of an internal function to an outside vendor. An organization can outsource its accounting, payroll, legal, data processing, strategic planning, or manufacturing functions, and so on. Since 1989, when the Eastman Kodak Company signed an agreement with IBM whereby IBM would own and operate Kodak’s data centers, outsourcing has increasingly been an option for organizations willing to have an outsider provide some or all of their Information Systems services. The Gartner Group asserts that “outsourcing has become a noncontroversial, mainstream approach to managing IT . . . and senior executives (IT and non-IT) endorse and promote its judicious use within multiple processes across their enterprise.” 1 These projections show that, in addition to software, outsourcing is also a major alternative for the external acquisition of hardware and networks.
A service bureau is a firm providing information processing services, including software and hardware, for a fee. The service bureau owns and manages the software and hardware, which is installed on the service bureau’s property. Most of the services are on a fee-for-service basis, thus minimizing cost to the contracting organization. Many companies contract with service bureaus for payroll processing.
What is a systems integrator?
Systems integrators are consulting/systems development firms that develop and install systems under contract. EDS, Accenture, CAP Gemini, and other professional services firms are major players in systems integration. Advantages of systems integrators and consultants to develop systems include:
- Consulting firms have broad experience and knowledge of specialty and leading edge technology, helpful if a project involves a substantial upgrade in technology beyond available in-house expertise.
- Consulting firms have experience and may specialize in organization change, helpful to organizations not accustomed to change.
- Quick action must be taken to catch up with aggressive competition. Consultant expertise is flexible and rapid, and usually readily available for required services.
There is evidence, however, that the use of systems integrators doesn’t always work out. For example, one study looked at 16,000 IT projects and found that none of the projects that had heavy participation by big systems integrators was completed on time and within budget. 2 Technology Excerpt 7.1 proposes seven steps to preventing these disasters.
Technology Excerpt 7.1
Guidelines for Effective Use of Systems Integrators
Here are seven steps that may help prevent the disastrous situations associated with IT projects led by systems integrators (SI).
- Before submitting a request for proposal, define the key project objectives and measures of success. If these can’t be defined, don’t proceed.
- Review the SI’s proposal to determine that they have conducted due diligence in developing their proposal and that the project sponsors—IT and business process owners—understand the proposed solution.
- Break the project into chunks of six months and tie contract payments to specific milestones.
- Ensure that the roles and responsibilities of the SI and sponsoring team members have been defined and that the qualifications of these team members have been determined.
- At project kickoff, determine high-risk factors and contingency plans to deal with those factors.
- The project sponsor must meet regularly with the project manager to determine that the project is progressing as planned.
- Before completing the project, ensure the achievement of project objectives and milestones.
A rapidly developing segment of the outsourcing market is the application serviceprovider (ASP). Technology Insight 7.1 discusses ASPs. ASPs are similar to service bureaus and other outsourcing options. The ASP, however, provides its services via an easy-to-use Web browser over public networks, rather than more expensive private lines. Several ASPs exist that specialize in providing enterprise system services to organizations. As the current generation of enterprise systems moves to Web-enabled clients that function through use of browser software, the usability of enterprise systems in an ASP environment should become less complex and make this model of delivery even more cost effective.
The Gartner Group predicted that only 20 percent of the ASPs in existence at the end of 2000 would survive through the end of 2003. 3 Therefore, an organization should consider carefully the type of applications that it outsources. The outsourcing of critical applications should probably be kept in-house. They may be too important to hand over to another organization. Support applications such as human resources and accounting might be better outsourcing candidates.
Summary of Software Acquisition Alternatives
An organization should consider the financial implications of the decision to develop (make) versus buy. Because software vendors can allocate software development costs across many products and across multiple copies of each product, the prices they charge to recover development costs are usually less than the organization would pay to develop the package in-house. Generally, software developed in-house for a mainframe computer can cost up to 10 times more than purchased software. And, annual maintenance of in-house software is typically 50 percent of the development cost, while annual maintenance for purchased software normally costs only 25 percent of the purchase price.
What is an application service provider (ASP)?
Technology Insight 7.1
Application Service Provider (ASP)
An application service provider (ASP) is an external organization that hosts, manages, and provides access to application software and hardware over the Internet to multiple customers. The fee is typically a rental based on usage, similar to the rental pricing model used by service bureaus. ASPs, like most external sources of software and hardware, relieve the organization of the burden of developing (or even buying) and installing software and hardware. Because ASPs are accessed over the Internet, a user needs only a Web browser and an inexpensive PC or Internet appliance to obtain the ASP service.
When using an ASP, a user obtains consistently updated software. The user does not need to install or update software on a client or a server and does not need to hire technical staff to operate the application. ASPs are a good choice for noncritical, niche applications such as human resources, employee travel and expense reporting, and disbursement, although some companies use them for their complete enterprise system solutions.
To increase the potential market for a software package, vendors develop packages for a wide audience. This strategy leads to products that seldom possess characteristics exactly matching any particular organization’s requirements. Organizations not satisfied with these generic packages can contract with a vendor to modify one of the vendor’s existing software packages or develop a custom-tailored software package written specifically to meet the organization’s unique requirements.
What is the bottom line from Table 7.1? When a suitable standard package exists, buy it rather than try to reinvent it in-house. Notice the emphasis on suitable. Other considerations must include the organization’s internal resources (personnel, capital) and available vendor support. Enterprise systems, for example, are off-the-shelf packages that are highly configurable, but still require compromises to benefit from the off-the-shelf nature and cost savings.
Many external sources of software, such as ASPs, require little up-front implementation expense and provide the benefits of some of the best software solutions available. Even when providing enterprise systems services, ASPs tend to shorten implementation time for an organization drastically, albeit limiting the amount of tailoring that can be done to match a system with a business process. On the other hand, ASPs can provide business process reengineering specialists to help organizations implement best practices into their business processes and to match the processes with the enterprise system provided. In general with ASPs, implementation, operations, and maintenance requirements are minimal, freeing organization personnel time to focus on their mission.
Contracted, in-house development is a software development option that combines some advantages of both in-house development and software purchase. An organization hires contract (nonemployee) analysts and programmers to develop a system. Because the services of these persons end at the completion of the project, the contracting option provides short-term labor and expertise that the organization requires. Some organizations use contractors to train their personnel to work with new technologies. When benefits are figured in, the contractors cost about the same as employees. These contractors can be on-site or they can be outsourced from anyplace in the world. For example, outsourcing of systems development services is a $6.2 billion industry in India. Services provided include maintenance of existing (i.e., legacy) systems, e-business development, and integration of applications. 4