Choosing Off-the-Shelf Software-Systems Acquisition
Choosing Off-the-Shelf Software
Once you have decided to purchase off-the-shelf software rather than write some or all of the software for your new system, how do you decide what to buy? Several criteria need consideration, and special ones may arise with each potential software purchase. For each standard, an explicit comparison should be made between the software package and the process of developing the same application in-house. The most common criteria, highlighted in are as follows:
TABLE 2-2: Comparison of Six Different Sources of Software Components
Foundations for Systems Development
FIGURE 2-2 Common criteria for choosing off-the-shelf software.?
- Vendor support
- Viability of vendor
- Response time
- Ease of installation
The relative importance of these standards will vary from project to project and from organization to organization. If you had to choose two criteria that would always be among the most important, those two would probably be vendor support and vendor viability. You don’t want to license software from a vendor that has a reputation for poor support. Similarly, you don’t want to get involved with a vendor that might not be in business tomorrow. How you rank the importance of the remaining criteria depends primarily on your specific situation.
Cost involves comparing the cost of developing the same system in-house to the cost of purchasing or licensing the software package. Be sure to include a comparison of the cost of purchasing vendor upgrades or annual license fees with the costs you would incur to maintain your own software. Costs for purchasing and developing in-house can be compared based on the economic feasibility measures. Functionality refers to the tasks the software can perform and the mandatory, essential, and desired system features.
Can the software package perform all, or just some of the tasks your users need? If some, can it perform the necessary core tasks? Note that meeting user requirements occurs at the end of the analysis phase because you cannot evaluate packaged software until user requirements have been gathered and structured. Purchasing application software is not a substitute for conducting the systems analysis phase. As we said earlier, vendor support refers to whether the vendor can provide support, and how much. Support includes assistance to install the software, to train user and systems staff on the software, and to provide help as problems arise after installation.
Recently, many software companies have significantlyreduced the amount of free support they provide customers, so the cost to use telephone, on-site fax, or computer bulletin board support facilities should be considered. Related to support is the vendor’s viability. This latter point should not be minimized. The software industry is quite dynamic, and innovative application software is created by entrepreneurs working from home offices—the classic cottage industry. Such organizations, even with outstanding software, often do not have the resources or business management ability to stay in business long.
Further, competitive moves by major software firms can render the products of smaller firms outdated or incompatible with operating systems. One software firm we talked to while developing this book was struggling to survive by working to make its software operate on any Windows, Mac OS, or mobile platform. Keeping up with hardware and system software changes may be more than a small firm can handle, and good off-the-shelf application software is lost. Flexibility refers to how easy it is for you, or the vendor, to customize the software. If the software is not sufficiently flexible, your users may have to adapt the way they work to fit the software.
Are they likely to adapt in this manner? Purchased software can be modified in several ways. Sometimes, the vendor will make custom changes for you if you are willing to pay for the redesign and programming. Some vendors design the software for customization. For example, the software may include several different ways of processing data and, at installation time, the customer chooses which to initiate. Also, displays and reports may be easily redesigned if these modules are written in a fourthgeneration language. Reports, forms, and displays may be easily customized using a process whereby your company name and chosen titles for reports, displays, forms, and column headings are selected from a table of parameters you provide.
You may want to employ some of these same customization techniques for in-house-developed systems so that the software can be easily adapted for different business units, product lines, or departments. Documentation includes the user’s manual as well as technical documentation. How understandable and up to date is the documentation? What is the cost for multiple copies, if required? Response time refers to how long it takes the software package to respond to the user’s requests in an interactive session. Another measure of time would be how long it takes the software to complete running a job. Finally, ease of installation is a measure of the difficulty of loading the software and making it operational.
Validating Purchased Software Information
One way to get all of the information you want about a software package is to collect it from the vendor. Some of this information may be contained in the software documentation and technical marketing literature. Other information can be provided upon request. For example, you can send prospective vendors a questionnaire asking specific questions about their packages. This questionnaire may be part of a request for proposal (RFP) or request for quote (RFQ) process your organization requires when major purchases are made. If you decide that new hardware or system software is a strong possibility, you may want to issue a request for proposal (RFP) to vendors. The RFP will ask the vendors to propose hardware and system software that will meet the requirements of your new system.
Issuing an RFP gives you the opportunity to have vendors conduct the research you need in order to decide among various options. You can request that each bid submitted by a vendor contain certain information essential for you to decide on what best fits your needs. For example, you can ask for performance information related to speed and number of operations per second. You can ask about machine reliability and service availability and whether an installation is located nearby that you can visit for more information. You can ask to take part in a demonstration of the hardware. The bid will also include information on cost.
Foundations for Systems Development
Of course, actually using the software yourself and running it through a series of tests based on the criteria for selecting software may provide the best route for evaluation. Remember to test not only the software, but also the documentation, the training materials, and even the technical support facilities. One requirement you can place on prospective software vendors as part of the bidding process is that they install (free or at an agreed-upon cost) their software for a limited amount of time on your computers. This way you can determine how their software works in your environment, not in some optimized environment they have.
One of the most reliable and insightful sources of feedback is other users of the software. Vendors will usually provide a list of customers (remember, they will naturally tell you about satisfied customers, so you may have to probe for a cross section of customers) and people who are willing to be contacted by prospective customers. Here is where your personal network of contacts, developed through professional groups, college friends, trade associations, or local business clubs, can be a resource; do not hesitate to find some contacts on your own.
Such current or former customers can provide a depth of insight on the use of a package at their organizations. To gain a range of opinions about possible packages, you can use independent software testing services that periodically evaluate software and collect user opinions. Such surveys are available for a fee either as subscription services or on demand. Occasionally, unbiased surveys appear in trade publications. Often, however, articles in trade publications, even software reviews, are actually seeded by the software manufacturer and are not unbiased. If you are comparing several software packages, you can assign scores for each package on each criterion and compare the scores using the quantitative method (see Chapter 7) for comparing alternative system design strategies.