Measurement objectives document the reasons why software measurement and analysis are performed. Measurement objectives consider both the perspectives of the organization as well as the project. The sources for measurement objectives may be management, technical, project, product or process implementation needs, such as:
- Deliver software by the scheduled date.
- Improve cost estimation.
- Complete projects within budget.
- Devote adequate resources to each process area.
Corresponding measurement objectives for these needs might be:
- Measure project progress to ensure it is adequate to achieve completion by the scheduled date.
- Measure the actual project planning parameters against the estimated planning parameters to identify deviations.
- Track the project cost and effort to ensure project completion within budget.
- Measure resources devoted to each process area to ensure they are sufficient.
According to NPR 7150.2, NASA's software measurement programs are designed to meet the following high-level goals:
- To improve future planning and cost estimation.
- To provide realistic data for progress tracking.
- To provide indicators of software quality.
- To provide baseline information for future process improvement.
Centers may further refine these objectives or add some Center-specific objectives. The measurement objectives a project defines are to be based on their Center's objectives and NASA's objectives. Usually project objectives are focused on the information needs the project has to provide information for managing and controlling the project. When establishing measurement objectives, ask what questions will be answered with the data, why you are measuring something and what types of decisions will be made with the data. A project may also have additional objectives to provide information to their Center or to NASA. This information may be used for process improvement or for developing the organizational baselines and trends. For example, Goddard Space Flight Center (GSFC) has defined two high-level objectives for its software projects as follows:
- To assure that the effort is on track for delivery of the required functionality on time and within budget.
- To improve software development practices both in response to immediate customer issues and in support of the organizational process improvement goals.
As you can see, one of these objectives focuses on the project's ability to manage and control the project with quantitative data and the other objective focuses on organizational process improvement.
In addition, GSFC's Measurement Planning Table Tool found in the Tools listing in the of this SWE, lists the following more specific measurement objectives for their projects:
- Ensure schedule progress is within acceptable bounds.
- Ensure project effort and costs remain within acceptable bounds.
- Ensure project issues are identified and resolved in a timely manner.
- Deliver the required functionality.
- Ensure the performance measures are within margins.
- Ensure that the system delivered to operations has no critical or moderate severity errors.
- Minimize the amount of rework due to defects occurring during development.
- Ensure requirement are complete and stable enough to continue work without undue risk.
- Support future process improvement.
Projects typically check with their Center to ensure they have chosen objectives that support their Center-level objectives.