Summary

The purpose of Product Integration (PI) (CMMI-DEV) is to assemble the product from the product components, ensure that the product, as integrated, behaves properly (i.e., possesses the required functionality and quality attributes), and deliver the product.

Description

Introductory Notes

This process area addresses the integration of product components into more complex product components or into complete products. The scope of this process area is to achieve complete product integration through progressive assembly of product components, in one stage or in incremental stages, according to a defined integration strategy and procedures. Throughout the process areas, where the terms “product” and “product component” are used, their intended meanings also encompass services, service systems, and their components. A critical aspect of product integration is the management of internal and external interfaces of the products and product components to ensure compatibility among the interfaces. These interfaces are not limited to user interfaces, but also apply to interfaces among components of the product, including internal and external data sources, middleware, and other components that may or may not be within the development organization’s control but on which the product relies. Attention should be paid to interface management throughout the project. Product integration is more than just a one-time assembly of the product components at the conclusion of design and fabrication. Product integration can be conducted incrementally, using an iterative process of assembling product components, evaluating them, and then assembling more product components. It can be conducted using highly automated builds and continuous integration of the completed unit tested product. This process can begin with analysis and simulations (e.g., threads, rapid prototypes, virtual prototypes, physical prototypes) and steadily progress through increasingly more realistic increments until the final product is achieved. In each successive build, prototypes (virtual, rapid, or physical) are constructed, evaluated, improved, and reconstructed based on knowledge gained in the evaluation process. The degree of virtual versus physical prototyping required depends on the functionality of the design tools, the complexity of the product, and its associated risk. There is a high probability that the product, integrated in this manner, will pass product verification and validation. For some products and services, the last integration phase will occur when they are deployed at the intended operational site. For product lines, products are assembled according to the product line production plan. The product line production plan specifies the assembly process, including which core assets to use and how product line variation is resolved within those core assets.
In Agile environments, product integration is a frequent, often daily, activity. For example, for software, working code is continuously added to the code base in a process called “continuous integration.” In addition to addressing continuous integration, the product integration strategy can address how supplier supplied components will be incorporated, how functionality will be built (in layers vs. “vertical slices”), and when to “refactor.” The strategy should be established early in the project and be revised to reflect evolving and emerging component interfaces, external feeds, data exchange, and application program interfaces. (See “Interpreting CMMI When Using Agile Approaches” in Part I.)

References

Refer to the Requirements Development (RD) (CMMI-DEV) process area for more information about identifying interface requirements.
Refer to the Technical Solution (TS) (CMMI-DEV) process area for more information about designing interfaces using criteria.
Refer to the Verification (VER) (CMMI-DEV) process area for more information about performing verification.
Refer to the Validation (VAL) (CMMI-DEV) process area for more information about performing validation of the product components and the integrated product.
Refer to the Risk Management (RSKM) (CMMI-DEV) process area for more information about identifying risks and mitigating risks.
Refer to the Decision Analysis and Resolution (DAR) (CMMI-DEV) process area for more information about analyzing possible decisions using a formal evaluation process that evaluates identified alternatives against established criteria.
Refer to the Configuration Management (CM) (CMMI-DEV) process area for more information about tracking and controlling changes.
Refer to the Supplier Agreement Management (SAM) (CMMI-DEV) process area for more information about managing the acquisition of products and services from suppliers.

Contains

PI.SG 1 Prepare for Product Integration
Preparation for product integration is conducted.
PI.SG 2 Ensure Interface Compatibility
The product component interfaces, both internal and external, are compatible.
PI.SG 3 Assemble Product Components and Deliver the Product
Verified product components are assembled and the integrated, verified, and validated product is delivered.