Implement the designs of the product components.


Once the design has been completed, it is implemented as a product component. The characteristics of that implementation depend on the type of product component.

Design implementation at the top level of the product hierarchy involves the specification of each of the product components at the next level of the product hierarchy. This activity includes the allocation, refinement, and verification of each product component. It also involves the coordination between the various product component development efforts.

Refer to the Product Integration (PI) (CMMI-DEV) process area for more information about managing interfaces and assembling product components.

Refer to the Requirements Development (RD) (CMMI-DEV) process area for more information about the allocating product component requirements and analyzing requirements.


Example characteristics of this implementation are as follows:
  • Software is coded.
  • Data are documented.
  • Services are documented.
  • Electrical and mechanical parts are fabricated.
  • Product-unique manufacturing processes are put into operation.
  • Processes are documented.
  • Facilities are constructed.
  • Materials are produced (e.g., a product-unique material could be petroleum, oil, a lubricant, a new alloy).

Example Work Products

  1. Implemented design


1. Use effective methods to implement the product components.


Examples of software coding methods include the following:
  • Structured programming
  • Object oriented programming
  • Aspect-oriented programming
  • Automatic code generation
  • Software code reuse
  • Use of applicable design patterns


Examples of hardware implementation methods include the following:
  • Gate level synthesis
  • Circuit board layout (place and route)
  • Computer aided design drawing
  • Post layout simulation
  • Fabrication methods

2. Adhere to applicable standards and criteria.


Examples of implementation standards include the following:
  • Language standards (e.g., standards for software programming languages and hardware description languages)
  • Drawing requirements
  • Standard parts lists
  • Manufactured parts
  • Structure and hierarchy of software product components
  • Process and quality standards


Examples of criteria include the following:
  • Modularity
  • Clarity
  • Simplicity
  • Reliability
  • Safety
  • Maintainability

3. Conduct peer reviews of the selected product components.

Refer to the Verification (VER) (CMMI-DEV) process area for more information about performing peer reviews.

4. Perform unit testing of the product component as appropriate.

Note that unit testing is not limited to software. Unit testing involves the testing of individual hardware or software units or groups of related items prior to integration of those items.

Refer to the Verification (VER) (CMMI-DEV) process area for more information about verifying selected work products.


Examples of unit testing methods (manual or automated) include the following:
  • Statement coverage testing
  • Branch coverage testing
  • Predicate coverage testing
  • Path coverage testing
  • Boundary value testing
  • Special value testing


Examples of unit testing methods include the following:
  • Functional testing
  • Radiation inspection testing
  • Environmental testing

5. Revise the product component as necessary.


An example of when the product component may need to be revised is when problems surface during implementation that could not be foreseen during design.