L1 Introduction to the PSP

download L1 Introduction to the PSP

of 26

Transcript of L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    1/26

    PSP Fundamentals: L1 Introduction to the PSP September 2007

    Sponsored by the U.S. Department of Defense

    2007 by Carnegie Mellon University

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

    PSP Fundamentals

    Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    2/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    2

    Lecture Topics

    What is a Process

    What is a Personal Process

    What is the Personal Software Process

    Introducing the PSP

    PSP Results

  • 8/12/2019 L1 Introduction to the PSP

    3/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    3

    Question

    What do you know about your performance today?

  • 8/12/2019 L1 Introduction to the PSP

    4/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    4

    What do you know about your performance?

    Did I meet the commitments for:

    Content

    Schedule

    Quality

    Did the stakeholders like

    the product?

    the way in which I managedand communicated?

    Requirements Product

    Most developers understand their performance from outside the box.

  • 8/12/2019 L1 Introduction to the PSP

    5/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    5

    What do you know about your performance?

    How do I spend my time?

    Which activities take the most time,which ones the least?

    How do I make and track my plans?

    When will I be done?

    How many defects will be in the final

    product?How consistent am I?

    When are defects injected and removed?

    Am I getting better?

    Requirements Product

    But, most developers have less insight into how they do the work.

  • 8/12/2019 L1 Introduction to the PSP

    6/26

  • 8/12/2019 L1 Introduction to the PSP

    7/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    7

    What is a Personal Process?

    When you use a process for your personal work, it is called a personal

    process.

    It is usually developed from your personal experience.

    You may start with a proven process that was developed by

    someone else.

    You modify and improve the process to suit your needs.

  • 8/12/2019 L1 Introduction to the PSP

    8/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    8

    Why Define and Use a Personal Process?

    Consistency

    results are more likely to be similar.

    work becomes more predictable.

    Efficiency

    structures and guides your work (orders the steps, avoids rework)

    keeps you focused on what needs to be done now

    Basis for improvement

    gathering data on your work helps determine which steps

    take the most time

    cause you the most trouble

    are least effective

    this information helps identify improvement opportunities

  • 8/12/2019 L1 Introduction to the PSP

    9/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    9

    What is the Personal Software Process?

    PSP is a personal process for writing software.

    The PSP was developed by Watts Humphrey and is a application of

    successful industrial-strength practices distilled to a personal level.

    It is not the only process for writing software. It may not even be the

    best process for you. But we ask that you follow this process for the

    next five days.After youve completed the course you should

    examine your PSP data from the class

    review your experiences and Process Improvement Proposals

    tailor the PSP to meet your needs, or define a PSP from scratch

    to meet your needs

  • 8/12/2019 L1 Introduction to the PSP

    10/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    10

    PSP Principles

    Every developer is different; to be most effective, developers must plan

    their work and they must base their plans on personal data.

    To consistently improve their performance, developers must measuretheir work and use their results to improve.

    To produce quality products, developers must feel personally

    responsible for the quality of their products. Superior products are notproduced by accident; developers must strive to do quality work.

    It costs less to find and fix defects earlier in a process than later.

    It is more efficient to prevent defects than to find and fix them.The right way is always the fastest and cheapest way to do a job.

  • 8/12/2019 L1 Introduction to the PSP

    11/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    11

    PSP Process Elements

    Document the process entry criteria, phases/steps, and exit criteria. The purpose is toprovide expert-level guidance as you use the

    process.

    P hase P urpose To guide you in deve loping m odule -level programs

    Inputs Required Problem descriptionPSP project plan summary form

    Time and defect recording logsDefect type standardStop watch (optional)

    1 P la nn in g - P ro du ce or ob ta in a req ui rem en ts st at eme nt .- E stimate the required development time.

    - Enter the plan data in the project plan summary form.- Comple te the time log.

    2 Develo pment - D es ign th e prog ram.- Implement the design.- Compile the program and fix and log all defects found.

    - Test the program and fix and log all defects found.- Comple te the time recording log.

    3 P ostmortem C omple te the projec t p lan sum mary form with actua ltime, defect, and size data.

    Exit C ri ter ia - A thoroughly te s ted program- Comple ted project plan summary with estimated and

    actual data- Comple ted defect and time logs

    Scripts

    Measures Measure the process and the product. Theyprovide insight into how the process isworking and the status of the work.

    Student Date

    Program Program #Instructor Language

    Summary Plan Actual To Date

    LOC/Hour

    ActualTime

    Planned Time

    CPI(Cost-Performance Index)(Actual/Planned)

    %Reuse

    %NewReuse

    Test Defects/KLOC

    TotalDefects/KLOC

    Yield%

    %Appraisal COQ

    %Failure COQ

    COQA/F Ratio

    Program Size (LOC): Plan Actual To DateBase(B)

    (Measured) (Measur ed)

    Deleted (D)(Estimated) (Counted)

    Modified (M)(Estimated) (Counted)

    Added (A)(N-M) (T-B+D-R)

    Reused (R)(Estimated) (Counted)

    TotalNew & Changed (N)(Estimated) (A+M)

    TotalLOC(T)(N+ B- M- D+ R) ( Mea sur ed)

    TotalNew Reused(Estimated) (Counted)

    TotalObjectLOC(E)(Estimated) (Counted)

    Upper Prediction Interval (70%)

    Lower PredictionInterval(70%)

    Time in Phase (min.) Plan Actual To Date To Date %

    Planning

    Design

    Design review

    Code

    Code review

    Compile

    Test

    Postmortem

    Total

    TotalTime UPI(70%)

    Total Time LPI (70%)

    Forms Provide a convenient and consistentframework for gathering and retainingdata

    Standards Provide consistent definitions thatguide the work and gathering of data.

  • 8/12/2019 L1 Introduction to the PSP

    12/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    12

    Scripts

    Scripts provide expert-level guidance for doing the work.

    PSP0 Process Script

    Purpose To guide the development of module-level programs

    Entry Criteria - Problem description- PSP0 Project Plan Summary form - Time and Defect Recording logs- Defect Type standard- Stopwatch (optional)

    Step Activities Description

    1 Planning - Produce or obtain a requirements statement.- Estimate the required development time.- Enter the plan data in the Project Plan Summary form.- Complete the Time Recording log.

    2 Development - Design the program.- Implement the design.- Compile the program, and fix and log all defects found.

    - Test the program, and fix and log all defects found.- Complete the Time Recording log.

    3 Postmortem Complete the Project Plan Summary form with actual time, defect, and size

    data.

    Exit Criteria - A thoroughly tested program- Completed Project Plan Summary form with estimated and actual data

    - Completed Time and Defect Recording logs

  • 8/12/2019 L1 Introduction to the PSP

    13/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    13

    Basic Process Measures -1

    Measures help you quantify the process and the product.

    The reason to measure a process is to understand it.

    how much time is spent in various activities

    what is produced at various times

    how many defects are injected and removed, and whenWith these data, developers can better

    plan and estimate the work to be done

    evaluate the results

    improve the process for the next project

  • 8/12/2019 L1 Introduction to the PSP

    14/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    14

    Basic Process Measures -2

    To measure the process, the work is divided into a defined set of tasks

    or activities called phases.

    The measures for each phase are

    time spent in that phase

    defects injected in that phase

    defects removed in that phase

    The product size is also measured, but only when the work package is

    complete.

    These measures provide the foundation for all TSPI measurements,

    analyses, and planning.

  • 8/12/2019 L1 Introduction to the PSP

    15/26

  • 8/12/2019 L1 Introduction to the PSP

    16/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    16

    Forms

    Forms provide a convenient and consistent framework for gathering

    and retaining data.

    Example forms in the PSP are the Time Log and the Defect Log.

    The Time Log is used to record time on task data.

    The Defect Log is used to record defect information.

    Data entry on forms is almost always automated via a tool that supports

    the overall process.

  • 8/12/2019 L1 Introduction to the PSP

    17/26

    PSP F d t l L1 I t d ti t th PSP

  • 8/12/2019 L1 Introduction to the PSP

    18/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    18

    Putting the Elements Together

    Requirements

    Project

    plansummary

    Working Program Project and processdata summary forms

    Timeand

    defectlogs

    guideProcessscripts

    andstandards

    PSP0Planning

    Implementation

    Design

    Code

    Compile

    Unit Test

    Postmortem

    PSP F d t l L1 I t d ti t th PSP

  • 8/12/2019 L1 Introduction to the PSP

    19/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    19

    Characteristics of a Good Process

    A good process has some of the following characteristics

    Early defect removal.

    Easy to highlight cost of rework.

    Support for the plan, do, check, improve paradigm.

    A good process should provide expert guidance in a simple, easy to followmanner. It should not be voluminous and contain tutorial information.

    A guideline Watts Humphrey used when defining the PSP and TSP was that aprocess script should seldom be more than a page in length.

    PSP Fundamentals: L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    20/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    20

    Learning the PSP -1

    The PSP is introduced in discrete, upward-compatible steps.

    You write one or more module-sized programs at each step.

    You gather and analyze data on your work.

    You use the results to improve your personal performance.

    PSP Fundamentals: L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    21/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    21

    Learning the PSP -2

    PSP will be introduced in threesteps:

    PSP0: You establish ameasured performancebaseline.

    PSP1: You practice size

    and effort estimation. PSP2: You practice defect

    and yield management.

    This week, you will write programsusing PSP0, PSP1, and PSP2.

    PSP1Planning and Tracking

    PSP2Quality Management

    TSPTeam development

    PSP0Defining and Using

    Processes

    PSP Fundamentals: L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    22/26

    2007 Carnegie Mellon University

    PSP Fundamentals: L1 Introduction to the PSP

    22

    Course Results

    We now have data on over 30,000 programs written using the PSP.

    The following charts show how others have improved during the PSP

    course.

    size and effort estimating

    compile and test time

  • 8/12/2019 L1 Introduction to the PSP

    23/26

    PSP Fundamentals: L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    24/26

    2007 Carnegie Mellon University 24

    Compile and Test Time 810 Engineers

    0

    5

    10

    15

    2025

    30

    35

    4045

    50

    1 2 3 4 5 6 7 8 9 10

    Program Number

    Com

    pileandTestTimeas%

    of

    DevelopmentTime

    Upper

    Average

    Lower

    PSP Fundamentals: L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    25/26

    2007 Carnegie Mellon University 25

    Messages to Remember

    A personal process is a set of steps that individuals use to guide their

    work.

    Defining and using a personal process helps individuals to plan, do,

    track, and improve their work.

    Scripts, measures, forms, and standards are elements of a good

    process definition.

    PSP Fundamentals: L1 Introduction to the PSP

  • 8/12/2019 L1 Introduction to the PSP

    26/26

    2007 Carnegie Mellon University 26