In the textbook, there were six sources of software identified. Those six sources were open source software, enterprise-wide solution software, pre-packaged software, in-house development, information technology services and cloud computing. IT services firms are used when the task requires custom support and the system cannot be built internally, and may or may not require internal staffing, depending on the application. Examples include Accenture, IBM, and HP. Packaged software is used when the supported task is generic, and some staffing is required to define requirements and evaluate packages. Examples of this include Intuit, Microsoft, Oracle, Symantec, and SAP AG. Enterprise-solutions are for complete systems that cross functional boundaries, and require consultants. Examples of this include Oracle and SAP AG. Cloud computing is for instant access to an application when the supported task is generic, and requires few internal staffing. Examples of this are big time companies such as Amazon,com, Google, IBM, and Microsoft. Open source software is used when the supported task is generic, but there is a cost issue. Some user staff are needed to define requirements and the evaluation of packages. An example of this is SourgeForge.net. Finally, in house development is used when resources and staff are available and the system has to be built from scratch. The size of staff varies upon the organization. An ‘RFP’ refers to the formalized document providing specifications of detail regarding the target ‘IS’ or information system. The name stands for request for proposal. The document is drafted to ask vendors for information on how they would go about developing the system. RFPs are used by analysts in order to complete the research that is necessary for design strategies. It is also used for the system and hardware softwares that are crucial in developing the new system. An enterprise resource planning system, or an ERP, combines the singular and traditional business functions with a plethora of modules. This is done in order to cause a seamless transaction to occur within the single information system instead of many other systems by themselves. One benefit of this approach is not only the module’s flexibility, but the single data that is used for all the aspects in a business process. A disadvantage of the enterprise resource planning system is that is is extremely complex. This could cause the completion of implementation to take a long time. There are four approaches to reuse, which is the use of previously written software resources in new applications, especially concerning objects and components. The approaches include Ad hoc reuse, facilitated reuse, managed reuse, and designed reuse. Ad hoc reuse has a reuse level of none to low, a low cost, and no policies or procedures. Facilitated reuse has a low reuse level, a low cost, and developers are encouraged to reuse but are not required to do so. Managed reuse has a moderate reuse level, a moderate cost, and the development and sharing of the reusable assets are mandated. Here, the organizational policies are established for documentation and certification. Finally, designed reuse has a high reuse level and a high cost. Here, the reuse is mandated, and policies are put into place so that its effectiveness can be measured. There may also be a corporate office for reuse. In choosing off-the-shelf software, there are eight criteria. Those include cost, functionality, vendor support, viability of vendor, flexibility, documentation, response time, and ease of installation. If the choice was between alternative custom software developers rather than prewritten packages, the criteria most likely to be used would be cost, functionality, flexibility, response time, and ease of installation. Cost involves comparing the cost of developing the same system in-house with the cost of purchasing or licensing the software package itself. Functionality is what tasks the software can or cannot perform. Flexibility refers to the ease at which the software can be customized. Response time is how fast or slow the software responds to the user’s requests. Finally, ease of installation measures the difficulty of loading the software and operating it. Each of these criterion is useful in choosing custom or pre-developed software.