Using A Defined and Measured Personal Software Process - PowerPoint PPT Presentation

About This Presentation
Title:

Using A Defined and Measured Personal Software Process

Description:

Improved software processes lead to improved product quality. ... Postmortem. Integration System Test. Use Product. Specify Cycle. Detailed Design & Review ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 35
Provided by: gregor64
Category:

less

Transcript and Presenter's Notes

Title: Using A Defined and Measured Personal Software Process


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
PSP process evolution
  • PSP3
  • Cyclic Development

Cyclic process
PSP2.1 Design templates
PSP2 Code reviews Design reviews
Personal quality
PSP1.1 Task planning Schedule planning
PSP1 Size estimating Test report
Personal planning
PSP0.1 Coding standard Size measurement Process
improvement proposal
PSP0 Current progress Time and defect recording
Personal measurement
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
  • Planning
  • Development
  • Design
  • Code
  • Compiler
  • Test
  • Verifying

10
PSP0.1 PIP form
  • Add three additional strategies to PSP0.
  • Coding standard
  • Size measurement
  • 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
  • Schedule planning
  • 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
  • Design specification
  • 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
Specification
Specify Cycle
  • Requirements and Planning

Detailed Design Review
High-level Design
Test Development Review
High-level Design Review
Implementation Review
Cyclic Development
Compiler
Postmortem
Test
Integration System Test
Use Product
Reassess and Recycle
17
CMM-Capability Maturity Model
  • A framework.
  • Organization-focused
  • Process-improvement
  • Facilitate good work.
  • No guarantee
  • Use effective personal practices

18
CMM Level Diagram
  • Level 5 - Optimizing
  • Process change management
  • Technology change management
  • Defect prevention

Level 4 - Managed Software quality
management Quantitative process management
Level 3 - Defined Peer reviews Intergroup
coordination Software product engineering Integr
ated software management Training
program Organization process definition Organiza
tion process focus
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 programs 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 youre 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.
  • Appraisal costs
  • time spent in design and code review
  • Failure costs
  • time spent in compiler and test
  • 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
  • Inexperienced engineers have higher defects rate
    and lower LOC/hour, the PSP will increase their
    productivity.
  • 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 PSPs principal design focus is
    preventing defects.
  • Scale-Up The PSPs 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
  • Internal-static.
  • contains a static behavior of the object.
  • External-static
  • dynamic characteristics connecting its behavior.
  • Internal-dynamic
  • static relationship to other objects.
  • External-dynamic
  • The interaction with other objects.
Write a Comment
User Comments (0)
About PowerShow.com