Summary

Establish and maintain estimates of work product and task attributes.

Description

Size is the primary input to many models used to estimate effort, cost, and schedule. Models can also be based on other attributes such as service level, connectivity, complexity, availability, and structure.

Estimation methods include using historical acquirer and supplier data and standard estimating models to compare projects of similar complexity. Where historical size data are not available, develop an estimate based on the understanding of the design of similar products.

Estimation models can be built based on historical data as part of organizational process performance, and estimates for any project can be validated using these models.

Refer to the Organizational Process Performance (OPP) (CMMI-ACQ) process area for more information about establishing process performance models.


 

Examples of attributes to estimate include the following:
  • Number of logic gates for integrated circuits
  • Number of parts (e.g., printed circuit boards, components, mechanical parts)
  • Physical constraints (e.g., weight, volume)
  • Number of pages
  • Number of inputs and outputs
  • Number of technical risk items
  • Number of functions
  • Function points
  • Source lines of code
  • Amount of code to be reused versus created
  • Number of classes and objects
  • Number and complexity of requirements
  • Number and complexity of interfaces
  • Volume of data
  • Maturity of the technology specified in the technical solution
  • Amount and complexity of the work potentially assigned to suppliers
  • Number of locations where the product is to be installed
  • Experience of project participants
  • Team velocity or productivity
  • Geographic dispersal of project members
  • Proximity of customers, end users, and suppliers


The estimates should be consistent with project requirements to determine the project’s effort, cost, and schedule. A relative level of difficulty or complexity should be assigned for each size attribute.

Example Work Products



  1. Size and complexity of tasks and work products
  2. Estimating models
  3. Attribute estimates
  4. Technical approach


Subpractices



1. Determine the technical approach for the project.

The technical approach defines a top-level strategy for development of the product. It includes decisions on architectural features, such as distributed or client/server; state-of-the-art or established technologies to be applied, such as robotics, composite materials, or artificial intelligence; and the functionality and quality attributes expected in the final products, such as safety, security, and ergonomics.

The technical approach provides a basis for interoperability and supportability of the technical solution developed by the supplier. The technical approach is often developed as part of and included in the acquisition strategy.



2. Use appropriate methods to determine the attributes of the work products and tasks to be used to estimate resource requirements.

Methods for determining size and complexity should be based on validated models or historical data.

The methods for determining attributes evolve as the understanding of the relationship of product characteristics to attributes increases.

 

Examples of attributes include the following:
  • Maturity of the technology specified in the technical solution
  • Amount and complexity of the work potentially assigned to suppliers
  • Number of locations where the product is to be installed



3. Estimate the attributes of work products and tasks.

 

Examples of work products for which size estimates are made include the following:
  • Deliverable and nondeliverable work products
  • Documents and files
  • Operational and support hardware, firmware, and software