Management by fact has become an increasingly popular concept in the Software Engineering and Information Technology communities. It is one of the key factors leading organizations to focus attention on measurement and the use of objective information to make decisions. Quantitative performance information is essential to fact-based management. Practical Software Measurement: Objective Information for Decision Makers, describes an approach to management by fact for software project managers based on the concepts of integrating a measurement information model and a measurement process model. While the concepts apply to non-software activities as well, the examples and terminology presented in the book focus on software to facilitate understanding within that community. The information needs of the decision maker drive the selection of software measures and associated analysis techniques. This is the premise behind the widely accepted approaches to software measurement, including Goal/Question/Metric 1 and Issue/Category/Measure 2. Information needs result from the efforts of managers to influence the outcomes of projects, processes, and initiatives towards defined objectives. Information needs are usually derived from two sources: 1) goals that the manager seeks to achieve and, 2) obstacles that hinder the achievement of these goals. Obstacles, or issues, include risks, problems, and a lack of information in a goal related area. Unless there is a manager or other decision-maker with an information need, measurement serves no purpose. The issues faced by a software project manager are numerous. Typically they include estimating and allocating project resources, and tracking progress, and delivering products that meet customer specifications and expectations. A measurement information model defines the relationship between the information needs of the manager and the objective data to be collected, commonly called measures. It also establishes a consistent terminology for basic measurement ideas and concepts, which is critical to communicating the measurement information to decision makers. The information model in Practical Software Measurement (PSM) defines three levels of measures, or quantities: 1) base measures, 2) derived measures, and 3) indicators. It is interesting to note that the three levels of measurement defined in the PSM information model roughly correspond to the three level structures advocated by many existing measurement approaches. Examples include the goal/question/metric 1, factor/criteria/metric 3, and issue/category/measure 2) approaches already in use within the software community. A similar approach for defining a generic data structure for measurement was developed by Kitchenham, et al, who defined their structure as an Entity Relationship Diagram 4. An effective measurement process must address the selection of appropriate measures as well as provide for effective analysis of the data that is collected. The measurement process model describes a set of related measurement activities that are generally applicable in all circumstances, regardless of the specific information needs of any particular situation. The process consists of four iterative measurement activities: Establish, Plan, Perform, and Evaluate. This process is similar to the commonly seen Plan-Do-Check-Act 5 cycle. Recognition of a need for fact-based, objective information leads to the establishment of a measurement process for a project or an organization. The specific information needs of the decision makers and measurement users drive the selection and definition of appropriate measures during the measurement planning activity. The resulting measurement approach instantiates a project specific information model, and identifies the base measures, derived measures, and indicators to be employed, and the analysis techniques to be applied, to address the project’s prioritized information needs. As the measurement plan is implemented, or performed, the required measurement data is collected and analyzed. The information product that results from the perform measurement activity is provided to the decision makers. Feedback from these measurement users help to evaluate the effectiveness of the measures and measurement process so that they can be improved on a continuing basis. The basic concepts presented in this book are evolved from extensive measurement experience and prior research. They were previously introduced in sequentially released versions of Practical Software Measurement 2, and were formalized in ISO/IEC Standard 15939 - Software Measurement Process 6. The measurement process model and measurement terminology work from ISO/IEC 15939 have also been adopted as the basis of a new Measurement and Analysis Process Area in the Software Engineering Institute’s Capability Maturity Model - Integrated (CMM-I) 7. This book explains how software development and maintenance organizations can implement a viable measurement process based on the proven measurement concepts of ISO/IEC 15939 and the CMM-I in a practical and understandable manner. In simplistic terms, implementing an objective "measurement by fact" process for a software intensive project encompasses defining and prioritizing the information needs of the project decision makers through the development of a project specific information model, and then tailoring and executing a project specific set of measurement process activities. The PSM approach to accomplishing this integrates prior experience and research from many sources across many application domains. To enhance understandability, the authors limit further references to suggestions for additional reading on specific topics.
References 1 V. Basili and D. Weiss, A Methodology for Collecting Valid Software Engineering Data, IEEE Transactions on Software Engineering, October 1984. 2 J. McGarry, D. Card, et al., Practical Software Measurement, Joint Logistics Commanders and Office of the Undersecretary of Defense for Acquisition, 1997. 3 G. Walters and J. McCall, Factors in Software Quality, Rome Air Development Center, 1977. 4 B. Kitchenham, S.L. Pfleeger, and N. Fenton, Towards a Framework for Software Measurement Validation, IEEE Transactions on Software Engineering, December 1995. 5 W.E. Deming, Out of the Crisis, MIT Center for Advanced Engineering Study, 1986. 6 K. el Emam and D. Card (Editors), ISO/IEC Standard 15939, Software Measurement Process, International Organization for Standardization, January 2001 (final coordination draft). 7 CMMI Development Team, Capability Maturity Model - Integrated Systems/Software Engineering (Version 1), Software Engineering Institute, 2000. 0201715163P06112001