Practical Software Measurement: Measuring For Process .

3y ago
23 Views
2 Downloads
896.78 KB
246 Pages
Last View : 6d ago
Last Download : 3m ago
Upload by : Ronan Garica
Transcription

11Practical SoftwareMeasurement: Measuringfor Process Managementand ImprovementWilliam A. FloracRobert E. ParkAnita D. CarletonApril 1997GUIDEBOOKCMU/SEI-97-HB-003

GuidebookCMU/SEI-97-HB-003April 1997Practical Software Measurement:Measuring for Process Management and ImprovementWilliam A. FloracRobert E. ParkAnita D. CarletonSoftware Engineering Measurement and AnalysisUnlimited distribution subject to the copyrightSoftware Engineering InstituteCarnegie Mellon UniversityPittsburgh, PA 15213

This report was prepared for theSEI Joint Program OfficeHQ ESC/AXS5 Eglin StreetHanscom AFB, MA 01731-2116The ideas and findings in this report should not be construed as an official DoD position. It is published in theinterest of scientific and technical information exchange.FOR THE COMMANDER(signature on file)Thomas R. Miller, Lt Col, USAFSEI Joint Program OfficeThis work is sponsored by the U.S. Department of Defense.Copyright 1997 by Carnegie Mellon University.Permission to reproduce this document and to prepare derivative works from this document for internal use isgranted, provided the copyright and “No Warranty” statements are included with all reproductions andderivative works.Requests for permission to reproduce this document or to prepare derivative works of this document forexternal and commercial use should be addressed to the SEI Licensing Agent.NO WARRANTYTHIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIALIS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NOWARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTERINCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE ORMERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL.CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITHRESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.This work was created in the performance of Federal Government Contract Number F19628-95-C-0003 withCarnegie Mellon University for the operation of the Software Engineering Institute, a federally fundedresearch and development center. The Government of the United States has a royalty-free governmentpurpose license to use, duplicate, or disclose the work, in whole or in part and in any manner, and to have orpermit others to do so, for government purposes pursuant to the copyright license under the clause at 52.2277013.This document is available through Research Access, Inc., 800 Vinial Street, Suite C201, Pittsburgh, PA 15212.Phone: 1-800-685-6510. FAX: (412) 321-2994. RAI also maintains a World Wide Web home page. The URL ishttp://www.rai.comCopies of this document are available through the National Technical Information Service (NTIS). Forinformation on ordering, please contact NTIS directly: National Technical Information Service, U.S.Department of Commerce, Springfield, VA 22161. Phone: (703) 487-4600.This document is also available through the Defense Technical Information Center (DTIC). DTIC providesaccess to and transfer of scientific and technical information for DoD personnel, DoD contractors andpotential contractors, and other U.S. Government agency personnel and their contractors. To obtain a copy,please contact DTIC directly: Defense Technical Information Center / Attn: BRR / 8725 John J. KingmanRoad / Suite 0944 / Ft. Belvoir, VA 22060-6218. Phone: (703) 767-8274 or toll-free in the U.S. — 1-800 2253842).Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademarkholder.

It is not surprising to encounter not just a few, but manyindividuals who have been entrusted with continuousimprovement responsibilities who cannot define an in-controlprocess, who cannot accurately distinguish between processcontrol and process capability, who cannot distinguishbetween process capability and product capability, who do notunderstand the basic structure of a control chart, who do nothave practical knowledge of the fundamental theorem ofstatistical process control, and who do not understand thesignificance and relative importance of various signals ofspecial causes of variation.Robert Hoyer & Wayne Ellis, 1996

Table of ContentsAcknowledgmentsixPrefacexiGuidebook Roadmapxiii1The Role of Measurement in Process Management1.1 Why Measure?1.2 Process Measures Are Driven by Goals and Issues1.3 What Is a Software Process?1.4 What Is Software Process Management?1.5 Responsibilities and Objectives of Software Process ManagementDefine the ProcessMeasure the ProcessControl the ProcessImprove the Process1.6 The Relationship of Process Management to Project Management1.7 Integrating Measurement with Software Process Management1125678991011122The Perspectives of Process Measurement2.1 Performance2.2 Stability2.3 Compliance2.4 Capability2.5 Improvement and Investment1517202428303Planning Measures for Process Management3.1 Identifying Process IssuesSteps for Identifying Process IssuesThe Role of Mental ModelsCommon Process Issues3.2 Selecting and Defining MeasuresSelecting Process MeasuresDefining Process MeasuresCriteria for Operational DefinitionsExamples of Operational DefinitionsCreating Your Own Definition Frameworks3.3 Integrating Measures with the Software ProcessAnalysis of Existing Measurement ActivitiesDiagnosis of Existing MeasuresAction to Integrate 97-HB-003i

Tasks for Defining Your Measurement ProcessesAction Plans45455Applying Measures to Process Management—Part 1: Collecting andRetaining Data4.1 General Principles4.2 Collecting DataProcess Performance DataProcess Compliance Data4.3 Retaining DataDatabase Planning IssuesDatabase Operation IssuesDatabase Management Issues5758596061626365655Applying Measures to Process Management—Part 2: Analyzing Data5.1 Separating Signals from Noise5.2 Evaluating Process StabilityThe Importance of StabilityStability Concepts and PrinciplesThe Structure of Control ChartsThe Distinction Between Variables Data and Attributes DataDetecting Instabilities and Out-of-Control SituationsThe Stability Investigation Process5.3 Control Charts for Variables DataX-Bar and Range ChartsIndividuals and Moving Range Charts for Continuous DataIndividuals and Moving Range Charts for Discrete Data5.4 Frequency Histograms and Natural Process Limits5.5 Control Charts for Attributes DataDistributional Models and Their Relationships to Chart TypesU ChartsZ ChartsXmR Charts for Attributes Data5.6 Evaluating Process CapabilityCapability HistogramsFraction NonconformingCapability IndicesSpecification TolerancesA Procedure for Assessing Process 1081081101121121156Applying Measures to Process Management—Part 3: Acting on theResults6.1 General PrinciplesThe Additional Roles of MeasurementThe Need for Additional Information117117117119iiCMU/SEI-97-HB-003

6.2Establishing StabilityFinding and Correcting Assignable CausesNoncompliance as an Assignable CauseImproving the ProcessWhere to Look When Seeking ImprovementsEffects of Changing a Process: Look Before You LeapAfter the Change: Examine the ResultsConditions for SuccessTools for Finding Root Causes and SolutionsScatter DiagramsRun ChartsCause-and-Effect DiagramsHistogramsBar ChartsPareto ChartsTechnologies and Methodologies for Changing or Improving 135138141142More About Analysis and Use of Process Measures7.1 Statistical Inference as a Basis for ActionEnumerative StudiesAnalytic Studies7.2 Reviewing and Assessing Collected DataCriterion 1: VerifiedCriterion 2: SynchronousCriterion 3: Self ConsistentCriterion 4: Valid7.3 Assessing Predictive Validity7.4 Control LimitsWhy 3 Sigma?The Central Limit Theorem and the Role of the NormalDistributionGetting Started: Constructing Control Charts with Limited DataRevising and Updating Control LimitsTesting for and Sustaining Statistical Control7.5 The Problem of Insufficient Granularity in Recorded Values7.6 Rational Sampling and Rational SubgroupingRational SamplingRational Subgrouping7.7 Aggregation and Decomposition of Process Performance Data7.8 World-Class 184iii

89Principles of Successful Process Measurement8.1 Process Measures Are Driven by Business Goals8.2 Process Measures Are Derived from the Software Process8.3 Effective Measurement Requires Clearly Stated OperationalDefinitions8.4 Different People Have Differing Measurement Views and Needs8.5 Measurement Results Must Be Examined in the Context of theProcesses and Environments That Produce Them8.6 Process Measurement Spans the Full Life Cycle8.7 Retaining Data Provides Factual Baselines for Future Analyses8.8 Measures Are the Basis for Objective Communication8.9 Aggregating and Comparing Data Within and Across ProjectsRequires Care and Planning8.10 Structured Measurement Processes Improve Data 92193Appendix A: Locating Key Information195Appendix B: Template for a Measurement Action Plan199Appendix C: Example—A Practitioner’s ReportC.1 BackgroundC.2 ProblemC.3 Selecting a Set of DataC.4 Data Analysis—Round 1C.5 Data Analysis—Round 2C.6 Round 2 Wrap-UpC.7 Data Analysis—Round 3C.8 Round 3 Wrap-UpC.9 ConclusionsC.10 Future 7Index223ivCMU/SEI-97-HB-003

List of FiguresFigure1-1:Business Goals, Project and Process Issues, and RelatedMeasurable Attributes4Figure1-2:Definition of Process6Figure1-3:The Four Key Responsibilities of Process Management8Figure1-4:The Relationship Between Process Management and ProjectManagement11Measurement Activities and Their Relationship to the KeyResponsibilities of Process Management12Figure1-5:Figure2-1:The Control-Process Responsibility15Figure2-2:Guidelines for Selecting Product and Process Measures19Figure2-3:The Concept of Controlled Variation21Figure2-4:The Concept of Uncontrolled or Assignable Cause Variation22Figure2-5:Control Chart for the Backlog of Unresolved Problems24Figure2-6:Examples of Entities and Attributes that Can Be Measured toAddress Process Compliance26Figure2-7:Inspection Process Use27Figure2-8:Inspection Use by Document Type27Figure2-9:Histogram Reflecting Process Capability28Figure 2-10:Aligning Process Performance to Process Requirements29Figure 2-11:Lynch and Cross’s Performance Pyramid for Business OperatingSystems30Figure 2-12:Examples of Indicators for Business Operating Systems31Figure 2-13:Sources of Early Indicators for Customer Satisfaction, Flexibility,and Productivity31Measurement Planning and the Key Responsibilities of ProcessManagement33Figure3-1:Figure3-2:The Principal Activities of Measurement Planning33Figure3-3:A Generic Process Model36Figure3-4:A Simple Process Model for Defect Tracking36Figure3-5:Example of a Control-Flow Diagram37Figure3-6:Measurement Planning Activities—Step 239Figure3-7:Measurable Entities in a Software Process43Figure3-8:Measurable Attributes Associated with Software Process Entities44Figure3-9:A Checklist-Based Definition for Counting Defects (page 1 of 2)49Measurement Planning Activities—Step 351Figure 3-10:CMU/SEI-97-HB-003v

Figure 3-11:Sources for Problem-Tracking Data52Figure 3-12:Checklist for Preparing a Measurement Action Plan55Figure 3-13:Status of Action-Planning Activities56FigureHow Applying Measures Relates to the Key Responsibilities ofProcess Management574-1:Figure4-2:Applying Measures: The Subactivities58Figure5-1:Chapter Focus : Analyzing the Data You Collect67Figure5-2:Interpretation Requires Analysis68Figure5-3:An Idealized Process in Statistical Control71Figure5-4:X-Bar and Range Charts for a Process That Is in Control71Figure5-5:An Idealized Out-of-Control Process73Figure5-6:X-Bar and R Charts for an Out-of-Control Process73Figure5-7:Control Chart Structure75Figure5-8:The Steps for Using Control Charts to Evaluate Process Stability81Figure5-9:Procedure for Calculating Control Limits for X-Bar and R Charts85Figure 5-10:Constants for Computing Control Limits for X-Bar and R Charts85Figure 5-11:Hours of Product-Support Effort for a 16-Week Period86Figure 5-12:X-Bar and R Charts for Daily Product-Service Effort87Figure 5-13:Testing for Patterns in Weekly Product-Service Data88Figure 5-14:Dispersion Adjustment Factors for Range Data90Figure 5-15:XmR Charts for Daily Customer-Service Effort92Figure 5-16:Report of Unresolved Problems93Figure 5-17:Weekly History of Unresolved Problem Reports93Figure 5-18:XmR Charts for Unresolved Problem Inventory95Figure 5-19:A Histogram of Measurements from a Stable Process96Figure 5-20:Table of Control Charts for Attributes Data98Figure 5-21:Time-Sequenced Plot of Code Inspection Results101Figure 5-22:Data from Code Inspections102Figure 5-23:U Chart for a Module Inspection Process103Figure 5-24:U Chart with Assignable Cause Removed104Figure 5-25:An Example Z Chart105Figure 5-26:XmR Charts for a Module Inspection Process106Figure 5-27:XmR Charts with Assignable Cause Removed107Figure 5-28:A Process Capability Histogram109Figure 5-29:Process Capability Histogram with Specification Limits110Figure 5-30:Assessing the Capability of a Stable Process115viCMU/SEI-97-HB-003

Figure6-1:The Focus: Act on the Results117Figure6-2:The Actions that Follow Evaluations of Process Performance118Figure6-3:Compliance Issues and Potential Sources of Noncompliance123Figure6-4:Three Ways to Improve Process Capability124Figure6-5:Inputs that Affect Process Performance125Figure6-6:Application Areas for Analytic Tools130Figure6-7:Example of a Scatter Diagram131Figure6-8:Example of a Run Chart with Level Performance132Figure6-9:Example of a Run Chart with a Rising Trend133Figure 6-10:Example of a Run Chart with a Falling Trend133Figure 6-11:Example of a Sequential Run Chart134Figure 6-12:A Process Classification Cause-and-Effect Diagram136Figure 6-13:A Cause Enumeration Cause-and-Effect Diagram137Figure 6-14:A Simple Histogram for Continuous Data138Figure 6-15:The Number of Cells to Use When Plotting Histograms139Figure 6-16:Ishikawa’s Recommendations for Number of Histogram Cells140Figure 6-17:A Bar Chart That Compares Three Discrete Distributions141Figure 6-18:Example of a Pareto Chart143FigureAn Empirical Rule for the Dispersion of Data Produced by aConstant System of Chance Causes1607-1:Figure7-2:Measured Values as Recorded and Subsequently Rounded167Figure7-3:XmR Charts Constructed from Values as Originally Recorded168Figure7-4:XmR Charts Constructed from Rounded Values168Figure7-5:Module Fanout Data172Figure7-6:X-Bar and Range Charts for Module Fanout Data174Figure7-7:Data Organization of Module Fanout Counts for ConstructingXmR Charts175Figure7-8:Individuals and Moving Range Charts for the Four Design Teams176Figure7-9:Data Organization for Measuring Fanout Variation BetweenDesign Teams177X-Bar and Range Charts for Fanout Variation Between DesignTeams177Figure 7-11:X-Bar and S Charts for Fanout Variation Between Design Teams178Figure 7-12:A Summary of Defect Types Found During ComponentInspections182XmR Charts for the Total Number of Defects Found inComponent Inspections182Figure 7-10:Figure 7-13:CMU/SEI-97-HB-003vii

Figure 7-14:Control Charts for Individual Defect Types183Figure 7-15:The Loss Function Associated With the Classical Concept ofProcess Capability185A Simple Loss Function Showing Taguchi’s Concept ofCapability186Process Models Help Us Construct Indicators—Fault-StreamAnalysis188Figure C-1:Inspection Report206Figure C-2:Defect Report207Figure C-3:Code Inspection Pie Chart208Figure C-4:Code Inspection C Chart208Figure C-5:Code Inspection Pareto Chart210Figure C-6:Logic U Chart210Figure C-7:Combined/Weighted (factor of 10) Code Inspections212Figure C-8:Short-Run Attribute Control Chart for Logic Errors212Figure C-9:Short-Run Attribute Control Chart for Logic Errors After Eliminating Reviews with Special Causes213Total Number of Defects Found, with Escaped Defects ShownBelow the Shaded Line213Figure 7-16:Figure8-1:Figure C-10:viiiCMU/SEI-97-HB-003

AcknowledgmentsWe were assisted in much of our early work by the efforts of Andrew Huber of Data GeneralCorporation, who worked closely with us during the year and a half in which he was aresident affiliate at the Software Engineering Institute. We thank him for the help and ideashe provided, and especially for helping us to ensure that the ideas and practices we illustrateget explained in ways that are understandable and of practical value to managers andpractitioners in both industry and government.The following people have also contributed to assembling this information, either asreviewers of drafts or as experts whose advice we sought and used as we prepared thesematerials. We thank them for helping make this guidebook as useful and readable aspossible.Steven BurkeComputer Sciences CorporationWatts HumphreySoftware Engineering InstituteDavid CardLockheed MartinJohn McGarryNaval Undersea Warfare CenterJoseph DeanTecolote Research, Inc.James RozumSoftware Engineering InstituteJohn GaffneyLockheed MartinNorman SchneidewindNaval Postgraduate SchoolWolfhart GoethertSoftware Engineering InstituteEdward WellerBull HN Information SystemsJim HerbslebLucent TechnologiesDavid ZubrowSoftware Engineering InstituteScott HissamSoftware Engineering InstituteCMU/SEI-97-HB-003ix

xCMU/SEI-97-HB-003

PrefaceThis guidebook is about using measurements to manage and improve software processes. Itshows how quality characteristics of software products and processes can be quantified,plotted, and analyzed, so that the performance of activities that produce the products can bepredicted, controlled, and guided to achieve business and technical goals. Although many ofthe principles and methods described in the guidebook are applicable to individual projects,the primary focus is on the enduring issues that enable organizations to improve not justtoday’s performance, but the long-term success and profitability of their operations.If you are a software manager or practitioner who has responsibilities for quality orperformance that extend beyond just the project of the day, and if you are experienced indefining, collecting, and using measurements to plan and manage projects, then thisguidebook is for you. It will start you on the road to using measurement data to control andimprove process performance. Not only will the discussions here introduce you to importantconcepts, but they will also point you to additional things that you will ultimately want toknow to fully implement and use the power of quantitative information.On the other hand, if your organization does not yet have basic measurement processes inplace, you should make establishing measures for planning and managing projects your firstpriority. Handbooks such as Practical Software Measurement: A Guide to Objective ProgramInsight [JLC 96] and Goal-Driven Software Measurement [Park 96a] make excellent startingpoints, as do the examples and advice found in books by people such as Watts Humphreyand Robert Grady [Humphrey 89, Grady 87, Grady 92].The discussions in this guidebook will not attempt to teach you all that you need to knowabout using measurements to manage and improve software processes. Nor will theyattempt to teach you everything there is to know about using control charts and otherempirical tools of quality and process improvement. The mechanics associated with thesetools are explained adequately elsewhere, and we provide numerous pointers to books thatprovide instruction on these subjects. Instead, this guidebook focuses on things that webelieve to be more important—the concepts and issues that lie behind the empirical(statistical) methods, and the steps associated with effectively implementing and using themethods to manage and improve software processes.This document, then, is a guidebook in the sense that it describes and illustrates the bestpractices that we

1.6 The Relationship of Process Management to Project Management 11 1.7 Integrating Measurement with Software Process Management 12 2 The Perspectives of Process Measurement 15 2.1 Performance 17 2.2 Stability 20 2.3 Compliance 24 2.4 Capability 28 2.5 Improvement and Investment 30 3 Planning Measures for Process Management 33

Related Documents:

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

10 tips och tricks för att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare känner säkert till Cobb’s paradox. Martin Cobb verkade som CIO för sekretariatet för Treasury Board of Canada 1995 då han ställde frågan

service i Norge och Finland drivs inom ramen för ett enskilt företag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett för tv (Sveriges Television , SVT ), ett för radio (Sveriges Radio , SR ) och ett för utbildnings program (Sveriges Utbildningsradio, UR, vilket till följd av sin begränsade storlek inte återfinns bland de 25 största

Hotell För hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C är acceptabel men att motiven för en högre standard är starka. Ljudklass C motsvarar de tidigare normkraven för hotell, ljudklass A/B motsvarar kraven för moderna hotell med hög standard och ljudklass D kan användas vid

LÄS NOGGRANT FÖLJANDE VILLKOR FÖR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill använda Apple-mjukvara (enligt definitionen nedan) för att utveckla en eller flera Applikationer (enligt definitionen nedan) för Apple-märkta produkter. . Applikationer som utvecklas för iOS-produkter, Apple .

och krav. Maskinerna skriver ut upp till fyra tum breda etiketter med direkt termoteknik och termotransferteknik och är lämpliga för en lång rad användningsområden på vertikala marknader. TD-seriens professionella etikettskrivare för . skrivbordet. Brothers nya avancerade 4-tums etikettskrivare för skrivbordet är effektiva och enkla att

Den kanadensiska språkvetaren Jim Cummins har visat i sin forskning från år 1979 att det kan ta 1 till 3 år för att lära sig ett vardagsspråk och mellan 5 till 7 år för att behärska ett akademiskt språk.4 Han införde två begrepp för att beskriva elevernas språkliga kompetens: BI

**Godkänd av MAN för upp till 120 000 km och Mercedes Benz, Volvo och Renault för upp till 100 000 km i enlighet med deras specifikationer. Faktiskt oljebyte beror på motortyp, körförhållanden, servicehistorik, OBD och bränslekvalitet. Se alltid tillverkarens instruktionsbok. Art.Nr. 159CAC Art.Nr. 159CAA Art.Nr. 159CAB Art.Nr. 217B1B