26
Chapter 19 Process Quality

Chapter 19 Process Quality. 山东大学计算机学院 2 outline Then meaning of process quality Process measurement COQ Failure costs, Appraisal costs, Prevetion

Embed Size (px)

Citation preview

  • Chapter 19 Process Quality

  • outlineThen meaning of process qualityProcess measurementCOQFailure costs, Appraisal costs, Prevetion CostsSimplifications of COQ- Failure costs, Appraisal costsA/FR: The Appraisal/Failure RatioThe calculation of A/FR

  • Process measureQuality of programQuality of processThe way you workBetter programChange the way you workKnow your processMeasure the quality of process

  • Quality MeasurementIt concerns:The volume of products produced;The quality of the products;The time and resources required.In this class, only the perspective of defect injection and defect removal are being addressed.

  • What not introduced?RequirementUsabilityCompatibilityInterface

  • Defect-Removal Paradox One interesting phenomenon: Defect-removal rates decline as product quality improves. It seems like a paradox, but its natural.Clearly true for reviewing and testing;Less true for compiling.

  • Defect-Removal StrategyDefects can divided into two classes:Involve only one moduleInvolve interactions among the modulesDefect removal strategy:Strive to develop modules of the highest possible quality;Do thorough inspections of all the modules interfaces and interactions.Inspect the requirements to ensure that all of the important capablities are properly understood, designed, and implemented;

  • Defect-Removal StrategyInspect the system and program design against the requirements to ensure that it properly address all the key requirements.Do exhaustive unit testing after the code has been inspected;Do comprehensive intergration testing;Do thorough system testing.The first step is up to you,but most important!

  • Cost of Quality---COQBalance the time spent and quality of products produced.COQ (cost measured in time)Failure costs of quality All the costs of fixing defects.Fixing defects time; Debugging time; redesigning, retesting or recomiling;Appraisal costs of quality all the work to assess the product to see if it has defects.Code reviewing time; compiling and testing time; Exclude the time spent on defects fixing in above phase.Prevention costs of quality modify the process to avoid injecting defectsDo analysing time; process of development work to improve the requirements, design, or implementation; Building prototypes.

  • Simplifying the calculation of COQPSP counts all compile time as failure costs.Even include some defect-free compile time.PSP counts all test time as failure costs.PSP counts all review time as appraisal costs.Appraisal COQ: sum of all review time as a percentage of total development time;Failure COQ: sum of all compile and test time as a percentage of total development time;See the example of table 19.1

  • A/FR-Appraisal/Failure RatioSimpler calculate: code review time/(compile time+test time);It measures the relative amount of time spent finding defects before the first compile. You should attempt to achieve A/FR of 2 or more.Why? See figure 19.1-19.6 Improving the product quality;Saving test time.

  • PSP Project Plan Summary

    Student

    Student x

    Date

    03/30/04

    Program

    Program #

    15

    Instructor

    Mr.liu

    Language

    Ada

    Summary

    Plan

    Actual

    To Date

    Minutes/LOC

    5.48

    4.60

    5.35

    LOC/Hour

    10.95

    13.04

    11.21

    Defects/KLOC

    92.53

    52.6

    86.7

    Yield

    40.0

    100.0%

    45.5

    A/FR

    0.375

    1.93

    0.44

    Program Size (LOC):

    Plan

    Actual

    To Date

    Total new and changed

    49

    57

    392

    Maximum Size

    62

    Minimum Size

    36

    Time in Phase (min.)

    Plan

    Actual

    To Date

    To Date %

    Planning

    17

    20

    140

    6.7

    Design

    29

    38

    233

    11.1

    Code

    116

    119

    911

    43.4

    Code review

    21

    29

    174

    8.3

    Compile

    15

    5

    105

    5.0

    Test

    41

    10

    289

    13.8

  • How to achieve A/FRs above 2.0 ?Putting more time on code reviewing;This will not improve program quality!!!It is important to productively use review time in finding defects.Code review with high quality.For frequently missed defects.Insert appropriate steps in checklist.Take more time,find more defects,increase A/FR

  • Improving review ratesContinue check the defect dataContinue update your personal checklist.How?

  • Calculating the true COQBreak the review, compile, and test times to their respective appraisal and failure time.C=CF+CA; R=RF+RA; T=TF+TA.Appraisal COQ=100*(RA +CA +TA)/totaltimeFailure COQ=100*(RF +CF +TF)/totaltime.See example in table 19.1 and table 19.3.To use this method,you need a stopwatch!

  • SummaryProcess measurement;COQ and its calculation;Meaning of A/FR. The value of A/FR should be equal to or more than 2.0.Why? How?

  • assignmentDetermine the value of A/FR for all the programs you have written.Show the relations of A/FR and test defects/KLOC like figure 19.1

  • Chapter 20A Personal Commitment to Quality

  • outlineWhy you should establish quality as your highest priority?Personal life purposes.Just for discussion, no content for examination.

  • The important of qualityQuality of software will be critically important to your employers and to your customersSoftware defects can cause economic damage and even physical harm.Airplane,auto,air traffic, factories, power plant, nuclear power plants.

  • The increasing risk of poor qualityAny defect in a small part of a large program could potentially cause serious problem.Safety system also made of software. Most common cause of problem is simple oversights and goofs.Feel simple mistakes will be simple find.The quality of large system depend on small programs.

  • Making a commitment to qualityTo decided that quality is importantTo establish the goal of producing defect-free programTo manage our fallibility().Care enough to continue doing.

  • Your personal objectivesWhat do you want from your life?This is a big problem!One way is to have status or power.Is it good?No answer!

  • The rewards of accomplishmentWhatever you build ,quality will be key!Sloppy job will destroy your pride in the work and it will limit your satisfaction with life.When do quality work, you will be proud.So ask yourself the question:Do I want to feel proud of what I do?

  • Challenge yourself to do superior work and you will be surprised at what you can accomplish.

  • The endThanks very much!