Status Report - Semantic Scholar

4 downloads 5065 Views 63KB Size Report
guidebook still are distributed free of charge, although the most current version ... The information needs of the decision maker drive .... web site. The guidebook provides an overview of the measurement process, along with sample measures.
Status Report: Practical Software Measurement David N. Card, Software Productivity Consortium Cheryl L. Jones, US Army [email protected]

Abstract This article summarizes the basic concepts of Practical Software Measurement (PSM), explains their relationship to prior work, then describes the status of its transition into practice within the software industry. PSM is rapidly becoming the most popular approach to measurement for process management. It is based on the collective experience of a working group representing universities, industry, and government. Key elements of PSM have been documented as an international standard and incorporated into the Capability Maturity Model – Integrated.

1. Introduction “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” [1]. While the Goal-Question-Metric (GQM) approach to measurement [2] remains popular with researchers, Practical Software Measurement (PSM) [1] has rapidly become the most widely practiced approach to management by fact for software project managers. PSM was developed as the result of an unusual collaborative effort among industry, government, and academic organizations. This has facilitated its rapid adoption and continues to support its evolution as additional experience is gained. This article outlines the PSM development approach, summarizes the key concepts, and describes the status of PSM transition into practice.

2. Development Approach The PSM initiative began as an effort by the U.S. Department of Defense to improve the management of large software acquisition projects. Almost immediately, it became clear that this objective could

not be accomplished without improving the measurement practices of contractors supporting the Department of Defense. Moreover, software and information technology organizations unrelated to the government also shared similar concerns. Thus, the idea of collaboration was born. The project team also desired to maintain intellectual rigor in this pursuit, so it encouraged the university community to participate. The PSM initiative initially focused on developing a guidebook on software measurement for project managers. However, ensuring the adoption of the documented approach required the provision of additional technology transition support including an annual conference, formal training, special reports (e.g., measurement of object-oriented software development), and tools. Early versions of the guidebook still are distributed free of charge, although the most current version has been published commercially [1]. Figure 1 shows the main functional elements of the PSM collaborative organization. The names and composition of the groups has changed over time, but the functions have remained fairly constant.

S te e r in g C o m m itte e

A u th o r T e a m

W o r k in g G r o u p Figure 1. PSM functional Organization The Steering Committee is small group of influential leaders responsible for obtaining funding, defining 1

strategic direction, and encouraging participation in the initiative. The Author Team develops and maintains the PSM guidebook. The Working Group serves as a source of examples and experience input to the author team, as well as reviewing the output of the author team. The Working Group helped keep the Author Team focused on practical measurement techniques. The Working Group represented the eventual customers or potential adopters of PSM – software project managers. The activities of these elements are coordinated by a project manager supported by the US Army Government participants in the Working Group included the Department of Defense and many civil agencies, such as NASA and FAA. More than 50 large and small companies, as well as 4 universities participated. Virginia Polytechnic Institute was especially supportive. Early on, the PSM team established close relationships with the ISO and IEEE standards groups. The technical lead of the Author Team served as co-editor of a parallel standard [6]. That standard, in turn, relied on a general measurement vocabulary previously developed by ISO [9]. The author team made every effort to integrate PSM with existing and emerging standards. The results of this become apparent later in the article.

3. Key Concepts Three key concepts define the foundation of PSM: information needs of project managers, the measurement information model, and the measurement process model. The practical experience of the PSM team drove the evolution of these concepts from earlier ideas. The information needs of the decision maker drive the selection of software measures and associated analysis techniques. This is the premise behind other familiar approaches to software measurement, including Goal/Question/Metric [2] and Factor/Criteria/Metric [3]. 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 related to a goal. 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. PSM

organizes them into seven classes or categories for planning purposes: • • • • • • •

Schedule and progress Resources and cost Product size and stability Product quality Process performance Technology effectiveness Customer satisfaction

Each of these classes of information needs is further decomposed into measurable concepts. These are different views or dimensions of the corresponding class of information needs. For example, six measurable concepts are defined within Product Quality based on ISO Standard 9126 [9]. These measurable concepts are as follows: • • • • • •

Functional correctness Supportability-maintainability Efficiency Portability Usability Dependability-reliability

The two word names in the list above indicate adaptations of the ISO concepts to make them applicable to systems, in general, not just to software. They reflect the broader scope of systems concerns. 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, as shown in Figure 2. 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 [2] and factor/criteria/metric [3] 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 in terms of an Entity Relationship Diagram [4].

Information Product

Level of Analysis and Flexibility

Combination of Indicators and Interpretations

Base or Derived Measure With Decision Criteria

Indicator

Level of Data Collection and Standardization

Derived Measure

Function of Two or More Base Measures

Base Measure

Quantification of a Single Attribute

Characteristic of a Process or Product

Attribute

Figure 2. PSM Measurement Information Model 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

Objectives and Issues

information needs of any particular situation. The process consists of four iterative measurement activities: Establish, Plan, Perform, and Evaluate, as shown in Figure 3. This process is similar to the popular Plan-Do-Check-Act [5] cycle.

Technical and Management Processes

User Feedback Analysis Results

Core Measurement Process

Establish & Sustain Commitment

Plan Measurement

Improvement Actions

Measurement Plan

New Issues

Perform Measurement

Evaluate Measurement

Analysis Results and Performance Measures

Scope of PSM

Figure 3. PSM Measurement Process Model 1

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 helps to evaluate the effectiveness of the measures and measurement process so that they can be improved on a continuing basis.

Status of Transition The PSM initiative was intended to affect practice, not just produce a textbook. The transition of an approach into practice can be viewed from two perspectives: direct adoption of the approach and acceptance of the approach by industry groups such as standards organizations. PSM has been successful from both perspectives. Courses and workshops are provided by twenty-five PSM transition organizations. Figure 4 shows the number of people receiving PSM training over time. This data includes training delivered in the USA, Canada, Brazil, Australia, Taiwan, and other countries. PSM instructors must go through a threeday Train-the-Trainer course and be observed in the classroom in order to be recognized as qualified trainers. The two-day PSM course is accepted for credit by the Project Management Institute.

PSM Transition Activity (Cumulative as of Jun 02) 3500

3000

Number of Students

2500

1/2 Day Course

2000

1 to 2 Day Course Meas. Planning Workshop

1500

1000

500

M

ar Ju -96 n Se -96 p D -96 ec M -96 ar Ju -97 n Se -97 p D -97 ec M -97 ar Ju -98 n Se -98 p D -98 ec M -98 ar Ju -99 n Se -99 p D -99 ec M -99 ar Ju -00 n Se -00 p D -00 ec M -00 ar Ju -01 n Se -01 p D -01 ec M -01 ar Ju -02 n Se -02 p D -02 ec M -02 ar -0 3

0

Date

Figure 4. Summary of PSM Training Over five thousand people have been trained on the PSM process, through half-day, one-day, or two-day classes. The training classes provide information on the PSM measurement process, including how to plan measurement, perform measurement, establish and sustain commitment, and how to evaluate measures

and the measurement process. In addition, training provides a basis for common definitions through the measurement information model. In addition to training, over one thousand people have participated in measurement planning workshops. In these workshops, project or organizational-specific 1

information needs are identified and prioritized, relevant measures are selected, and measurement plans are documented. The PSM web-site (www.psmsc.com) also contains several experience reports from adopters.

date, almost twenty thousand copies of the guidebook (versions 3 and 4) have been downloaded from the web site. The guidebook provides an overview of the measurement process, along with sample measures and case studies. Almost eight thousand copies of all versions the free PSM Insight tool have been downloaded from the PSM web site. The special reports addressing measurement in new technology areas are also very popular.

Earlier versions of the PSM guidebook, special reports, and the PSM Insight tool are available from the PSM web-site (www.psmsc.com). Figure 5 shows the number of downloads of the principal assets. To

PSM Web Downloads Data as of February 2003 14000

12000

Number of Downloads

10000

8000

6000

4000

2000

0

PSM Book

Guidebook 3.1a

Draft Guide 4.0b

MPM

Tech Papers

Insight 3.x- Insight 4.1.x Insight 4.2.1 4.0x

Guidebook Products

Figure 5. Summary of PSM Web-site Activity PSM has also been well received by influential industry groups and organizations with international impact. Many of the basic concepts of PSM have been formalized in ISO/IEC Standard 15939 Software Measurement Process [6]. Moreover, the measurement process model and terminology resulting 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]. Further facilitating its application, PSM is being integrated with a popular software development environment [10].

5. Summary 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.

[4] B. Kitchenham, S.L. Pfleeger, and N. Fenton, Towards a Framework for Software Measurement Validation, IEEE Transactions on Software Engineering, December 1995.

The PSM initiative provides a good example of collaboration among universities, industry, and government to capture experience, package it, and transition it to industry practice. This initiative has been unusually successful at affecting industry practice, as opposed to simply publishing research. Organizations attempting to establish collaborative relationships for similar purposes would do well to study the PSM example.

[5] W.E. Deming, Out of the Crisis, MIT Center for Advanced Engineering Study, 1986.

6. References

[7] CMMI Development Team, Capability Maturity Model Integrated Systems/Software Engineering (Version 1), Software Engineering Institute, 2000.

[1] F. McGarry, D. Card, et al., Practical Software Measurement, Addison Wesley, 2002. [2] V. Basili and D. Weiss, A Methodology for Collecting Valid Software Engineering Data, IEEE Transactions on Software Engineering, October 1984. [3] G. Walters and J. McCall, Factors in Software Quality, Rome Air Development Center, 1977.

[6] International Organization for Standardization, ISO/IEC Standard 15939, Software Measurement Process, 2002.

[8] International Organization for Standardization, ISO/IEC Standard 9126, Software Quality Characteristics and Metrics, 1991. [9] International Organization for Standardization, International Vocabulary of Basic and General Terms in Metrology, 1993. [10] Practical Measurement in the Rational Unified Process, the Rational Edge, January 2003