The SEI CBS work has focused on three primary categories of practices:
The engineering of COTS-based systems continues to involve significant technical risk. A good indicator of the as-yet unresolved difficulties involved in building COTS-based systems is the "glue code" used to integrate components. This code is often ad hoc and brittle, but it is needed to repair mismatched assumptions that are exhibited by the components being integrated. Without this glue code, the components would not be integrable, yet as a consequence of the code, COTS-based systems can be difficult to comprehend, less evolvable than intended, and less reliable than the constituent products.
In order to express a number of important activities involved in design and engineering of COTS-based systems, we have developed a reference model that describes the central artifacts of CBS components in various states. COTS-based systems engineering often begins with products that have many unknown qualities and intends to produce a system that supports flexible reassembly with different components. The key ideas expressed by this reference model are:
These engineering techniques are not applied in a vacuum; there must be an underpinning of a strong architectural approach and the selection and application of appropriate technologies based on assessing various tradeoffs. Simply put, a CBS approach does not remove the requirement for sound engineering practice.
We have produced books based on these techniques to aid in the COTS engineering process:
This reference model is not a process model; it does not imply a sequence of steps. Indeed, our experience is that architectural patterns may suggest a set of properties that must be discovered by component qualification and that, conversely, component properties discovered from qualification may suggest certain architectural patterns.