Date post: | 03-Jun-2018 |
Category: |
Documents |
Upload: | guillermo-besares-veliz |
View: | 220 times |
Download: | 0 times |
of 26
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