1.4 What Makes Measurement Work
Many different approaches have been used to implement software measurement on a software-intensive project. Not all of them have been effective, and many have not even outlived the project itself. Some of these approaches have been based on the detailed definition of the "best" set of measures equally applicable to every project in the organization. Others have relied on automated measurement and analysis tools purchased from a vendor with little regard for the organization's processes or business practices already in place. In both of these cases, measurement became just "something else to do" and did not materially help the project achieve its objectives. What makes measurement work in an already challenging project environment? Experience across a wide range of software development and maintenance projects suggests two key characteristics of a successful measurement program:
The collection, analysis, and reporting of measurement data that relates directly to the information needs of the project decision makers. This can be characterized as an information-driven measurement approach, where measures are defined and implemented to address the specific information needs of the project on a prioritized basis, as defined by established project objectives and associated issues. As the project progresses and the information needs change, so do the applied measures. Inherent to the information-driven measurement approach is a clear understanding of the relationships between what information is needed, what is actually measured, and how the measures are defined and combined into usable results.
A structured and repeatable measurement process that defines project measurement activities and related information interfaces. This process must be flexible and adaptable to support existing software technical and management processes and environments already in place, as well as to support the characteristics of the specific application domain. The measurement process must be iterative, continually focusing measurement efforts on the most critical issues. The measurement process is in place throughout the existence of the project. It supports the measurement of evolving process and product attributes as project information needs, and related objectives and issues, change.
The information-driven measurement approach and the measurement process work together on a continual basis during the project life cycle, providing different information to the project managers as their needs change. Both are tailored to meet the specific characteristics of each project. Together they provide a basis for measurement tasks and procedures that support successful project completion and improved business and engineering performance.
To be effective, measurement must be implemented within a project or organization as a supporting software engineering process. As such, measurement must include all of the activities associated with planning, performing, and evaluating measurement-related tasks within an overall project or organizational structure. Measurement does not stand alone. It is implemented within the project environment to define what information the decision makers need and how this information is collected, analyzed, presented, and used. The measurement process combines diverse subjective and objective data into integrated information products that directly address defined project information needs.
Practical Software Measurement provides experience-based guidance on how to define and implement a viable information-driven measurement process for a software-intensive project. PSM addresses the development of a project measurement information structure using the Measurement Information Model, and it describes measurement activities and tasks using the Measurement Process Model.