Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.

Similar presentations


Presentation on theme: "Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8."— Presentation transcript:

1 Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8

2 Overview Improved software processes lead to improved product quality. Individuals and small teams could apply process-improvement through PSP. Benefits of fewer code defects, better planning and productivity.

3 The Personal Software Process A measurement and analysis tool. Help engineers –Understand their own skills. –Improve personal performance. –Improve organizational performance. Apply for individuals and small teams. Beyond Level 3 of CMM.

4 Why PSP for Software Process  Software Process - A sequence of steps required to develop or maintain software. It is difficult for individuals or small terms apply Capability Maturity Model. Practice before applying CMM.

5 PSP Overview It uses a family of seven steps to develop module-sized programs. Each step has a set of scripts, forms, and templates. Each program has 50 to 5,000 LOC.

6 Learn from PSP practice Personal process principles Make accurate plan Determinate the steps to improve product quality Establish benchmarks to measure process improvement Good performance

7 Personal measurement Personal planning Personal quality PSP process evolution PSP3 Cyclic Development PSP2 Code reviews Design reviews PSP1 Size estimating Test report PSP0 Current progress Time and defect recording PSP2.1 Design templates PSP1.1 Task planning Schedule planning PSP0.1 Coding standard Size measurement Process improvement proposal Cyclic process

8 Personal Measurement (PSP0) The first step where PSP starts. Engineers learn how to apply the PSP forms and scripts to their work. –measuring development time and defects. –gathering data and benchmarks.

9 Three Phrases Of PSP0 1) Planning 2) Development  Design  Code  Compiler  Test 3) Verifying

10 PSP0.1 & PIP form  Add three additional strategies to PSP0. 1)Coding standard 2)Size measurement 3)Process Improvement Proposal form  PIP form let engineers record problems, issues, and ideas to use later in improving their processes.  PIP form help engineers to gather and use process data.

11 Personal Planning (PSP1) PROBE method (for new program) –Estimate the size and development time –Based on personal data PROBE uses linear regression to calculate estimating parameters. PROBE generates prediction intervals to indicate size and time estimate quality.

12 PSP1.1 & Early Planning  Add two additional strategies to PSP1 1)Schedule planning 2)Task planning By early planning to gather enough data Experience statistical estimating method

13 Personal Quality (PSP2) Focus on defect management Implemented with defect data –Use checklists for design and code review –Focus on quality from the start –Efficiently review the defects in programs –Good skill to construct and modify checklists

14 PSP2.1 & Defect Metrics Add two strategies to PSP2 1)Design specification 2)Analysis techniques –Along with defect prevention, process analysis, and process benchmarks. –Measuring the time and the number of defects in each phase –Learn to evaluate and improve performance

15 Scaling Up (PSP3) The final step of PSP. Couple multiple PSP2.1 steps to scale up. Developing modules up to thousands LOC. Design-verification methods. Process-definition methods.

16 PSP3 – Cyclic Process Requirements and Planning Specification High-level Design High-level Design Review Cyclic Development Postmortem Integration System Test Use Product Specify Cycle Detailed Design & Review Test Development& Review Implementation & Review Compiler Test Reassess and Recycle

17 CMM-Capability Maturity Model A framework. –Organization-focused –Process-improvement Facilitate good work. –No guarantee –Use effective personal practices

18 Level 4 - Managed *Software quality management *Quantitative process management CMM – Level Diagram Level 3 - Defined *Peer reviews Intergroup coordination *Software product engineering *Integrated software management Training program *Organization process definition *Organization process focus Level 5 - Optimizing *Process change management *Technology change management *Defect prevention Level 2 - Repeatable Software configuration management Software quality assurance Software subcontract management *Software project tracking and oversight *Software project planning Requirements management Level 1 - Initial

19 PSP/CMM Relationship PSP –Bottom-Up approach –12 of 18 (marked asterisk in diagram) –Most effective near or above CMM Level 2 –Size and exercise CMM –Provide support environment –Orderly for superior work

20 PSP Methods in Practice Data gathering Size and resource estimating Defect management Yield management Cost of quality Productivity analysis

21 Method - Gathering Data With Goal-Question-Metric paradigm –Time spent –Defects found and removed –Product size in LOC Measure above data in each phase –Provide information of process quality –Appraisal and failure cost of quality

22 Method - Estimating & Planning PROBE – Proxy-Based Estimating method –Proxies are objects and functions. –Use data to judge a new program’s size and required development time. The objective is to learn to make fair judges, even with considerable errors. Estimating measure (%) – final size or develop time differs from the original ones.

23 Estimating & Planning (cont.) Planning is measured by CPI. –CPI ~ Cost-Performance Index –The ratio of planned to actual development cost.

24 Method - Managing Defects In PSP, all errors are counted. In order to understand the errors before adjust processes to find them. Defect management – find & fix. –Defect type –Fix time (from detected to fixed and verified) –Defect description –Error was injected on what phase

25 Method - Managing Yield Yield is the principal PSP quality measure. Although quality involves more than defects, the PSP focuses on defect detection and prevention. Total Process Yield – The percentage of defects found and fixed before compile and test the program.

26 Managing Yield (cont.) Main idea – Want fewer errors in test, find errors in code reviews. –If you find errors after test your program, you must review the code and fix them. –If you’re going to review the code anyway, why not review it before compiling? –At least, you save your compiling time. –Compiler serves as a quality check device.

27 Managing Yield (cont.) Why review code before compiling –Some syntax errors are hard to find –Some erroneous keystrokes are valid –Hard to find by compiler nor in test –More expensive to find them later on –Engineers get satisfaction from a quality job Example: while loop, for loop, if then clause.

28 Method – Controlling COQ PSP introduces three Cost-Of-Quality measures. (1) Appraisal costs  time spent in design and code review (2) Failure costs  time spent in compiler and test (3) Prevention cost  time spent in preventing defects

29 Controlling COQ (cont.) Appraisal-to-failure-ratio = A/FR Appraisal COQ / Failure COQ A/FR measure the relative effort spent in defect removal.  While the yield objective is to reduce the number of defects found in compile and test, the A/FR objective is to improve yield.

30 Method – Understanding Productivity Productivity relates to quality. –Productivity of a program with no test defects –Productivity of a program with many defects –Make no sense to compare those programs Produce defect-free programs, the project will be more productive.  In this article, productivity = LOC / hour

31 Understanding Productivity (cont.)  Two conclusions 1. Inexperienced engineers have higher defects rate and lower LOC/hour, the PSP will increase their productivity. 2.Experienced engineers start with low defect rate and higher LOC/hour, the PSP estimating and planning tasks drop their productivity. Get benefits from planning and quality management practice.

32 Other PSP Issues  Design: PSP’s principal design focus is preventing defects.  Scale-Up: The PSP’s objective is to extend highly productivity to large programs with experiencing small programs.  Process definition: Learn how to define, plan, and work new processes from PSP.

33 Design Issue Use design-completion rather than specific design methods. Poor design is a source of significant errors. Establish review-able design to reduce errors.

34 Design Issue (cont.)  Design-completion – Four Templates 1)Internal-static.  contains a static behavior of the object. 2)External-static  dynamic characteristics connecting its behavior. 3)Internal-dynamic  static relationship to other objects. 4)External-dynamic  The interaction with other objects.


Download ppt "Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8."

Similar presentations


Ads by Google