An off-the-shelf component is usually provided by a commercial vendor or open source software (OSS). Such a component usually has been used in many other systems, and should have fewer defects, or have had more bugs shaken out of it.
Motivations for using commercial off-the-shelf (COTS) components include hopes for reduction of overall system development and costs (as components can be bought or licensed instead of being developed from scratch) and reduced long-term maintenance costs. In software development, many considered COTS to be the silver bullet (to reduce cost/time) during the 1990s, but COTS development came with many not-so-obvious tradeoffs—initial cost and development time can definitely be reduced, but often at the expense of an increase in software component-integration work and a vendor lock-in, i.e., a dependency on third-party component vendors.
- ^ Li J, Conradi R, Slyngstad OPN, Bunse C, Khan U, Torchiano M, Morisio M (2005). "An empirical study of off-the shelf component usage in industrial projects". Prod Focused Software Proc Improv. 3547 (2005): 54–68. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.109.5651&rep=rep1&type=pdf.
- ^ Clements PC (Nov 1995). "From subroutines to subsystems: Component-based software development". Amer Programmer 8 (11): 1–8. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.729&rep=rep1&type=pdf.
- ^ McKinney D (2001. Accessed January 28, 2009.). "Impact of Commercial Off-The-Shelf (COTS) Software and Technology on Systems Engineering". http://www.incose.org/northstar/2001Slides/McKinney%20Charts.pdf.
- ^ http://en.wikipedia.org/wiki/Off-the-shelf_component