Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

21
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department of Defense © 2006 by Carnegie Mellon University October 2006 Pittsburgh, PA 15213-3890 PSP II - Using PSP2 - 1 Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

description

Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2. Tutorial Objectives. After this tutorial, you will understand the new PSP2 process elements know how to use the PSP2 scripts and forms be prepared to use PSP2 for program 5. PSP2 Objectives. - PowerPoint PPT Presentation

Transcript of Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

Page 1: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees.

Sponsored by the U.S. Department of Defense© 2006 by Carnegie Mellon University

October 2006

Pittsburgh, PA 15213-3890

PSP II - Using PSP2 - 1

Personal Software ProcessSM for Engineers: Part II Tutorial: Using PSP2

Page 2: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 2

Tutorial ObjectivesAfter this tutorial, you will• understand the new PSP2 process elements• know how to use the PSP2 scripts and forms• be prepared to use PSP2 for program 5

Page 3: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 3

PSP2 ObjectivesThe objectives of PSP2 are to introduce• design and code reviews• methods for evaluating and improving the quality of

your reviews

Page 4: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 4

New Process ElementsThere are two new process elements.• design review checklist• code review checklist

Design and code review checklists are described separately.

PSP2 adds two key capabilities to the PSP• design and code reviews• quality planning

The PSP2 project plan summary supports these two new capabilities.

Page 5: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 5

Design and Code Reviews

Two phases have been added to the process1. Design reviews (DLDR)2. Code reviews (CR)

Time and defect data from these phases are summarized on the PSP2 Project Plan Summary.

1

2

1

2

1

2

Page 6: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 6

Quality PlanningPSP2 introduces quality planning.

Quality planning involves• estimating the total number of defects that will be

injected• estimating the number of defects that will be

injected and removed in each process phase• estimating the amount of time needed for design

and code reviews• adjusting these parameters as needed to ensure a

high quality result

Page 7: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 7

Estimating Total DefectsTo estimate the total defects injected and removed, use the estimated program size and to-date defect density to calculate the estimated total defects.

Use this formula

Planned total defects =

To-date total defects/KLOC ×

Planned Added and Modified LOC / 1000

Page 8: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 8

Estimating Defects by PhaseTo estimate defects injected and removed by phase, distribute the planned total defects injected and removed based on historical data.• Planned Total Defects• To Date % defects injected in each phase• To Date % defects removed in each phase

Page 9: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 9

Estimating Review TimeThese PSP benchmarks can be used to estimate design review and code review time in phase.

5 to 10 defects/hourCode review

Design review

> 2.0A/FR (appraisal to failure ratio)

3 to 5 defects/hourDefect removal rate

< 200 LOC/hourCode review rate

Planning TargetBenchmark

5 to 10 defects/hourCode review

Design review

> 2.0A/FR (appraisal to failure ratio)

3 to 5 defects/hourDefect removal rate

< 200 LOC/hourCode review rate

Planning TargetBenchmark

For manual calculations, starting with the code review rate is recommended.

Page 10: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 10

Estimating With Review Rates -1Benchmark data on code review rates can be used to estimate review time.

From PSP data, we know that code review rates under 200 LOC/hour generally give high yield.

Using planned added and modified LOC, code review time can be calculated using this formula.

20060

LOC Modified and AddedPlannedtimereview Code

Assume a similar rate for design reviews.

Page 11: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 11

Estimating With Review Rates -2To add review time to your plan• increase the total minutes, and/or• reduce compile and test time

As a final check of your estimate, make sure that• review rates are less than 200 LOC per hour• defect removal rates are between

- 3 to 5 per hour for design review- 5 to 10 per hour for code review

• A/FR is about 2.0

Page 12: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 12

Estimating ConsiderationsInitially no historical data are available for planning defects injected and removed in review phases.

Until you have data for design and code review phases, you may want to consider• defects injected are 0• defects removed should be based on your yield goal

Your yield goal should be based on your interim report analysis. If you do not have a yield goal, you should try to achieve greater than 60% yield.

Page 13: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 13

Estimating Defects RemovedDefects removed in a review phase are calculated using• number of defects escaping from prior phases• number of defects injected in a phase• percentage of defects removed, i.e. Phase Yield

Defects present = escapes + injectedDefects removed = present × phase

yield

Page 14: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 14

PSP2 Project Plan SummaryComplete your estimates of

1. Time in phase2. Defects injected in phase3. Defects removed in

phase

Enter these values on the PSP2 project plan summary.

1

2

3

Page 15: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 15

Derived Quality MeasuresPSP2 also provides the following derived quality measures.• Defect removal efficiency• Defect removal leverage• Test defects per KLOC• Total defects per KLOC• Yield

Page 16: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 16

Defect Removal EfficiencyDefect removal efficiency is calculated automatically and shows the number of defects removed per hour for1. Design review2. Code review3. Compile4. Test

(minutes) phase in Time

phase in removed Defectsefficiency removal Defect 60

4

3

2

1

Page 17: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 17

Defect removal leverage is calculated automatically and compares removal efficiency for1. Design Review vs. Unit Test2. Code Review vs. Unit Test3. Compile vs. Unit Test

Defect Removal Leverage

test unit for hour per removed Defects

phase compile orreview a for hour per removed Defects

leverage removal Defect

3

2

1

Page 18: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 18

Test Defects Per KLOC1. Test defects per KLOC is calculated automatically

and is an indicator of the quality of the program that you put into test.

(LOC) Modified and AddedTotal

test in removed DefectsOCdefects/KL Test 1000

1

Page 19: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 19

Total Defects Per KLOC1. Total defects per KLOC is calculated automatically

and is a measure of the total defects injected during the process.

(LOC) Modified and AddedTotal

removed defects TotalOCdefects/KL Total 1000

1

Page 20: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 20

Yield1. Yield (actual and to-date) is calculated

automatically for the entire process and is the percentage of defects injected and removed before the first compile.

compile before injected Defects

compile before removed Defects(overall) Yield 100

1

Page 21: Personal Software Process SM for Engineers: Part II Tutorial: Using PSP2

© 2006 by Carnegie Mellon University October 2006 PSP II - Using PSP2 - 21

Messages to RememberYou will see more improvement from design and code reviews than any other process change you make.• Quality will improve.• Productivity will increase.

PSP2 provides data that allows you to• plan for specific quality levels• control quality during development• improve the quality of your PSP• increase productivity without sacrificing quality