1 / 34

Using A Defined and Measured Personal Software Process

Using A Defined and Measured Personal Software Process. Watts S. Humphrey CS 5391 Article 8. Overview. Improved software processes lead to improved product quality. Individuals and small teams could apply process-improvement through PSP.

norah
Télécharger la présentation

Using A Defined and Measured Personal Software Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Cyclic process PSP2.1 Design templates PSP process evolution PSP2 Code reviews Design reviews Personal quality PSP1.1 Task planning Schedule planning PSP3 Cyclic Development 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. Specification Specify Cycle Detailed Design & Review PSP3 – Cyclic Process High-level Design Test Development& Review High-level Design Review Implementation & Review Cyclic Development Requirements and Planning 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. 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 2 - Repeatable Software configuration management Software quality assurance Software subcontract management *Software project tracking and oversight *Software project planning Requirements management Level 5 - Optimizing *Process change management *Technology change management *Defect prevention 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. • 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: 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 • 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.

More Related