16 Critical Software Practices 

Design Twice, Code Once

Analytical Metrics
 
  Design is literally the foundation upon which the entire software superstructure is going to be built. Design is not easy since it is an inherently mental process. The difficulty can be reduced, however, by following good design principles. First and foremost, the Software Development Plan should outline a structured process for accomplishing and inspecting the design effort. This process should then be followed with appropriate evidence produced. The measurement relationships for this practice are described in the table.
 

Practice Area Leading Indicator(s) Secondary Measures Contributing Practice Area  
Design Twice Code Once Design Churn

Baselined Design Components

Design Coverage

Validated Design Components

Project Integrity

Track Defects Against Quality Targets

 
 

Product Integrity 

Inspect Requirements and Design 

Manage Testing As a Continuous Process

Compile and Smoke Test Frequently

 
   
   
   


 

Design Churn Leading Indicator

This measure evaluates the degree that software design is changing.Frequent changes in the software design is an early warning of cost or schedule risks becoming more likely and an indicator of design instability.

This measure is computed as a total count of changes to the software design which has been inspected and placed under control after the baselining has occurred. This measure should be evaluated from two perspectives with targets established. Is the churn excessive and is the churn increasing?

The measure tracks change to baselined design components as a percentage of all baselined components.

 

Design Twice, Code Once Secondary Measures

Baselined Design Components provides a time history of the number of design components which have been inspected and placed under CM control vs. the number that were scheduled to be controlled by this time. It is an accurate identification of the backlog resulting from design.

This measure quantifies the degree that the software design traces backward to the system requirements through a established traceable link. The metric is calculated by dividing the number of total baselined requirements/the number which have an established link to a baselined software design. This ratio should be evaluated against a predefined profile which tracks the software definition and baselining schedule.

Validated Design Components monitors the number of software design components that have successfully passed a structured inspection versus the total number of components that have been developed. It provides a measure of the quality risk associated with the software design as well as the backlog of software design verification activities. The measure is expressed as a percentage of the total number of design components.

top
16 Critical Software PracticesGlossary of Terms