The utilization of commercial off-the-shelf (COTS) components is increasing within many organizations. The idea being that delivery dates, effort, cost, and the amount of custom development can all be reduced by integrating COTS components into a system. The issue however, is that many organizations lack a process oriented evaluation method for selecting off-the-shelf components they will benefit from. The result can be the selection of a component that increases development overhead rather than reducing it. A handful of COTS component evaluation methods exist, but integrating these methods within an organizations development life cycle can be challenging. The paradigm shift from complete custom developed systems to COTS-based systems “requires new understandings about the COTS marketplace and how all engineering, business, and management activities must work together harmoniously to accommodate it.” [Oberndorf 00] This report provides a high level overview of three existing COTS evaluation methods:
- The Evolutionary Process for Integrating COTS-Based Systems (EPIC)
- The PECA (Plan, Establish, Collect, Analyze) Process
- The COTS Usage Risk Evaluation (CURE) Method
It then provides suggestions on merging these evaluation techniques into an organizations development lifecycle. Any development life cycle that is supporting a COTS-based system must be iterative or cyclic in nature. This is driven by the following two key reasons:
- The COTS market is volatile in nature.
- The inter-dependencies between the system context, system architecture, and COTS component selection must be overcome.
COTS-based systems are increasing in popularity, yet methods to ensure the successful development of these systems are difficult to incorporate within the development life cycles of many organizations. While methods exist it is both the lack of knowledge as well as the lack of understanding that COTS-based systems require changes in process, culture, and techniques in order to mitigate the unique risks that arise when leveraging off-the-shelf components.