© 1998 Carnegie Mellon UniversityTutorial - 1 1 The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.

Slides:



Advertisements
Similar presentations
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Advertisements

The Personal Software Process (PSP) Lecture #1 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 Pittsburgh, PA Lecture 6: Team Planning.
Personal Software Process
The Software Process Strategy The Software Process Strategy Part III.
CS 350: Introduction to Software Engineering Slide Set 5 Software Quality C. M. Overstreet Old Dominion University Spring 2006.
Aplicaciones de Ingeniería de Software
Fundamental of Software Project Management Team Assignment 1 – K15T2 – Team 07.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Capability Maturity Model
Personal Software Process Software Quality CIS 376 Bruce R. Maxim UM-Dearborn.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #14 Software Engineering.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
N By: Md Rezaul Huda Reza n
Disciplined Software Engineering Lecture #8 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
1 9/19/2015ã 2007, Spencer Rugaber Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Disciplined Software Engineering Lecture #6 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #8 Software Engineering.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
The Personal Software Process Alan Kelon Oliveira de Moraes May 15, Recife.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Spring 2006.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
A possible solution: Personal Software Process (PSP)
Capability Maturity Model
Capability Maturity Model
Team Software Process (TSP)
Presentation transcript:

© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made available for downloading by the SEI at Carnegie Mellon University. Many in academic and industrial environments, including myself, owe the SEI many thanks. P. Comer.

© 1998 Carnegie Mellon UniversityTutorial Tutorial Objectives To describe the personal software process (PSP) To show where and how the PSP can be used to improve individual software engineering performance To show how the PSP can enable software organizations to improve their capability To describe the status and plans for the PSP

© 1998 Carnegie Mellon UniversityTutorial The Software Problem Poor software quality in delivered systems is expensive. expensive service and enhancement potential for accident or loss of life Organizational progress with process improvement is limited because process improvement takes time / hard to sell The PSP addresses these problems by providing convincing evidence of the benefits of process improvement exposing the engineers to the benefits of using effective processes in their work teaching the engineers effective process improvement methods providing the historical data to better manage cost, schedule, and quality

© 1998 Carnegie Mellon UniversityTutorial The PSP Paradigm The PSP is based on process improvement principles. Software engineers establish personal process goals they define the methods to use they measure their work they analyze the results based on the results, they adjust their methods to improve towards personal goals

© 1998 Carnegie Mellon UniversityTutorial The PSP Strategy Start with the s/w engineer’s current process Gradually introduce new methods Practice these methods on module-sized programs The engineers then see for themselves how these methods help them.

© 1998 Carnegie Mellon UniversityTutorial PSP Overview - 1 The PSP is a process for individuals to use. It applies to most structured tasks. writing small programs or documents defining requirements or processes conducting reviews or tests, etc. It is extendible to team development of large-scale software systems.

© 1998 Carnegie Mellon UniversityTutorial PSP Overview - 2 Individuals learn the PSP in 7 process steps (next slide). When learning PSP s/w engineers write 10 module-sized programs using the PSP steps. they gather and analyze data on their work based on these analyses they improve their working methods The PSP exercises provide the rapid feedback needed for effective learning.

© 1998 Carnegie Mellon UniversityTutorial The PSP Is an Evolving Process PSP0 Current process Basic measures PSP1 Size estimating Test report PSP2 Code reviews Design reviews PSP3 Cyclic development Team Software Process PSP2.1 Design templates PSP1.1 Task planning Schedule planning PSP0.1 Coding standard Process improvement proposal Size measurement

© 1998 Carnegie Mellon UniversityTutorial The PSP0 Process With PSP0, engineers use their current design and development methods. They gather data on their work. the time spent by phase the defects found in compile and test They analyze and report these data.

© 1998 Carnegie Mellon UniversityTutorial The PSP0 Process Lessons With PSP0, engineers learn to use a basic personal process. they gather data on their personal work and personal processes they learn how and why to measure the sizes of the products they produce

© 1998 Carnegie Mellon UniversityTutorial The PSP1 Process The PSP0 is augmented to include coding standards size estimating resource estimating schedule estimating test report earned value tracking process improvement proposal (PIP)

© 1998 Carnegie Mellon UniversityTutorial The PSP1 Lessons With PSP1, engineers estimate the sizes and development times of the work they produce. they use their historical data to improve their estimates they project the likely statistical ranges of their estimates and learn how to reduce these ranges

© 1998 Carnegie Mellon UniversityTutorial PSP2 and PSP3 Lessons With PSP2, engineers use their historical data to improve the quality of the program modules they produce. they measure the efficiency of their defect removal methods they use various process quality measures, including yield, COQ (cost of quality), and A/FR (appraisal/failure ratio) With PSP3, engineers learn how to adjust their personal processes for different types of work.

© 1998 Carnegie Mellon UniversityTutorial The Basic PSP Elements A process script A project plan summary form A time recording log A defect reporting log A defect type standard

© 1998 Carnegie Mellon UniversityTutorial Process Script Scripts guide the engineers through the process. purpose inputs required process phases exit criteria

© 1998 Carnegie Mellon UniversityTutorial Project Plan Summary The project plan summary form holds project plan data actual project results - size - times - defect data cumulative data on all PSP projects to date

© 1998 Carnegie Mellon UniversityTutorial Time Recording Log Time spent working on each PSP phase is recorded. start time stop time interrupt time phase comments

© 1998 Carnegie Mellon UniversityTutorial Defect Recording Log Information on each defect found in reviews, compiling, and test is recorded. Number type phase injected phase removed find/fix time description

© 1998 Carnegie Mellon UniversityTutorial The PSP Process Flow Requirements Process scripts Project plan summary Finished product Project and process data summary report Time and defect logs PSP Process Development Planning Design Code Compile Test Design review Code review Postmortem guide

© 1998 Carnegie Mellon UniversityTutorial PSP Planning In the PSP, engineers use their personal data to make plans. Planning consists of size estimating resource estimating schedule estimating In the PSP, lines of code (LOC) are used as the size measure Other measures could be used.

© 1998 Carnegie Mellon UniversityTutorial Why Estimate Size? To make better plans to better size the job to divide the job into separable elements To assist in tracking progress can judge when job scope changes can better measure the work Value for the PSP learn estimating methods build estimating skills

© 1998 Carnegie Mellon UniversityTutorial Size Estimating Principles Estimating is an uncertain and intuitive process. The estimating objectives are to make consistent estimates understand estimate variability balance under and over estimates Advantages of a defined estimating method are You have a known practice you can improve. It provides a framework for gathering data. consistent method + historical data = consistent estimates

© 1998 Carnegie Mellon UniversityTutorial The PSP Quality Strategy - 1 In the PSP, defects are the basic quality measure. Note --defects are not important to the user as long as they do not affect operations cause inconvenience cost time or money cause loss of confidence in the program’s results

© 1998 Carnegie Mellon UniversityTutorial The PSP Quality Strategy - 2 Low defect content is essential to a quality software process. Experienced software engineers typically inject around 100 defects per KLOC. Defects are injected at the ‘PSP level’ and this is where the engineers should remove them determine their causes learn to prevent them

© 1998 Carnegie Mellon UniversityTutorial The PSP Quality Strategy - 3 If you want a quality product out of test, you must put a quality product into test. testing removes only a fraction of the defects test is only meant to find defects - correction goes to developers (PC) To manage defects, they must be addressed where they are injected - by each software engineer.

© 1998 Carnegie Mellon UniversityTutorial The PSP Quality Strategy - 4 Data show that it is much more efficient to find defects in reviews than in testing. in unit test, typically only about 2 to 4 defects are found per hour code reviews typically find about 10 defects per hour experienced reviewers can find 70% or more of the defects in a product unit test rarely exceeds a 50% yield PSP data show that reviews find 2 to 5 times as many defects per hour as unit test.

© 1998 Carnegie Mellon UniversityTutorial PSP Reviews In a personal design or code review Professionals privately review their products. Their objective is to find all defects before the first compile and test. Reviews are most effective when structured and measured. Reviews can be used for requirements, designs, and code.

© 1998 Carnegie Mellon UniversityTutorial The Cost of Quality (COQ) Failure costs repair, rework, and scrap PSP failure costs are compile and test time Appraisal costs costs of inspecting for defects PSP appraisal costs are design review and code review time Prevention costs are finding and resolving defect causes.

© 1998 Carnegie Mellon UniversityTutorial PSP - Principles to Remember 4A defined and measured process provides a repeatable basis for improvement. 4The PSP quality strategy will help engineers produce high quality products.