COTS (Commercial Off-the-Shelf) is an adjective that describes software or hardware products that are ready-made and available for sale to the general public. COTS is a commercial item that specifically has not been modified for use and it differs from a Non-Developmental Item (NDI) in the aspect that a NDI is not procured necessarily through commercial avenues but still has been previously developed. MCOTS are military versions of commercial items that have been designed and built to applicable MIL-STDs (or equivalent) that are for sell from commercial companies for military procurement.

Some benefits of COTS are reduced cost, readily available and reduced risk. Also, COTS is a success in the business sense for several reasons, such as COTS products must adapt or become obsolete, open market success brings competition and lower prices, and competitive market creates broader choice. But, some drawbacks of using COTS include constant change, obsolescence and short-term availability.

NASA has shared a number of factors it found key to its success of using COTS:

  • Adoption of an “80-20 rule” that stated that if a COTS or Government off the Shelf (GOTS) product met 80% of the functional requirements, it would be adopted pending final approval for deferring the remaining 20% of requirements;
  • Employment of a software architecture that supported upgrading or replacing components without destroying the integrity of the system;
  • Development of a clear component-selection criteria that allowed it to make COTS and GOTS selections efficiently, but emphasized hands-on use as the final arbiter for product selection;
  • Hiring of experts who were knowledgeable about the new products to train personnel in design and implementation;
  • Reevaluation of COTS and GOTS products at each product release.

The standardized approach to select COTS, as defined by the NASA Jet Propulsion Lab (JPL), consists of the following steps:

  1. Define the Problem;
  2. Formulate Decision Objective;
  3. Generate the Criteria;
  4. Gather the Data;
  5. Evaluate the Data Against the Criteria;
  6. Make a Risk Assessment Chart;
  7. Assign a Risk Level.

With COTS, there always exists the risk of introducing systematic and non-systematic errors into the existing system. Systematic errors are repeatable errors and are generally more easy to spot. Non-systematic errors and/or anomalies may be difficult and almost impossible to find. 

Safety should also play a role in the selection of all COTS components in a system. To ensure proper safety, there are some methods in determining the best recommendations to put forth for COTS selection:

  • Safety Hazard Analysis;
  • Component Failure Mode and Criticality Analysis;
  • Contractual Safety Requirements;
  • Monitor and Feedback.