PROBE

PROBE
The PSP Size Estimating Approach
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-1
-
PROBE The PSP Size Estimating Approach
r
1
Goals and Outline of Presentation
Goals
An overview Proxy Based Estimating (PROBE) in the Personal Software Process
(PSP) context
What they are & how PROBE works
Principles behind PROBE
.
PROBE'S particular advantages
How PROBE fits in PSP
Outline
What is PSP - Context for PROBE
PROBE
Conclusions
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-2
-
PROBE The PSP Size Estimating Approach
I
I
I
I
What is PSP - Context for PROBE
Overview
A process for individuals to use
Applies to structured personal tasks
Writing small programs or documents
Defining requirements or processes
Conducting reviews or tests, etc.
Introduced
In steps
With small software problems
Is a discipline for software engineering
Provides an effective foundation for large scale development practices
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-3
v l .O - 0911 1/96
- The PSP Size Estimating Approach
What is PSP - Context for PROBE
PSPO Process Flow (Framework)
PROBE
P S P O Process Flow
Requtrements
Planning
Design
Code
Compile
Test
Time
Plan
Summary
Defects
Postmortem
Fintshed Product
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-4
Project and Process Data
Summary Report
I
I
1
-
PROBE The PSP Size Estimating Approach
- -
What is PSP - Context for PROBE
PSPO.l Project Plan Summary
Student
Program
Instructor
Date
Proaram #
Language
PIan
Program Size (LOC)
Base(5)
Actual
To Date
Deleted (D)
Modified (M)
Added (A)
Reused (R)
Total New & Changed (N)
Total LOC
m
Total New Reused
Time in Phase (mh.)
Planning
Design
Code
Compile
Test
Postmortem
Total
6 1996 A. Winsor Brown BESIMSEE
PIan
Actual
To Date
PROBE-SE DOC-5
To Date %
I
I
-
PROBE The PSP size Estimating Approach
What is PSP - Context for PROBE
PSPO.1 Project Plan Summary (cont.)
Defects Injected
Planning
Actual
To Date
To Date %
Actual
To Date
To Date %
Design
Code
Compile
Test
Total Development
Defects Removed
Planning
Design
Code
Compile
Test
Total Development
After Development
O 1996 A. Winsor Brown BESIMSEE
PROBE-SE D O C 4
I
-
I
I
,
PROBE The PSP Size Estimating Approach
What is PSP - Context for PROBE
I
PSPO.l Process Time Recording Log
Student
Instructor
Date
Program #
-
Date
Start Stop Interruption
Time
O 1996 A. Winsor Brown BESIMSEE
Delta
Time
Phase Comments
- -
Iahetrvws
I
;
30 Build, r a c k g r
40 Assbnmnl
6O I n b d u e
8Q Function
n
%king
I1
1
-
PROBE The PSP Size Estimating Approach
I
W S w m
loo Envimnmnt
PSP Defect Recording Log
Student
Instructor
Date
Date
Program #
Number
I
What is PSP - Context for PROBE
-
Type
Remove
Fix Time
Fix Defect
Remove
Fix Time
Fix Defect
Remove
Fix Time
Fix Defect
ID1
Description:
Date
Number
Type
Date
Number
Type
IDescription:
czzll
I t I I I I [
Description:
(O
1996 A. Winsor Brown BESIMSEE
Inject
I I E I Z l -
PROBE-SE DOC-8
-
PROBE The PSP Size Estimating Approach
I
What is PSP - Context for PROBE
PSP Methods, Techniques and.Technologies
Cyclic development
Design Verification: Object state machines, Verifying program correctness
Defining and evolving processes
1
Quality
Management
Code reviews
Design reviews
-
Correlation
Checklists for reviews
Goal-Question-Metric Paradigm
PsPl .?
Personal
Planning
Process
Personal
Process
Baseline
Size estimating
Test report
PsPo.1
PSPO
Current process
Time recording
Defect recording
Defect type standard
Task planning
Coding standard
Size measurement
Process improvement
proposal (PIP)
Design Notations
Operational scenarios
Functional, State & Logic specifications
Prediction Intervals
Time and schedule estimating
Earned Value Tracking
LOC Standard
Object and LOC Counters
Defect Analysis
I
Linked Lists
Statistics overview and standard deviation
Q 1996 A. Winsor Brown BESIMSEE
Process benchmarking
Yield
Defectmanagement
removal and prevention strategies
PROBE-SE.DOC-10
I
-
PROBE The PSP Size Estimating Approach
What is PSP - Context for PROBE
I
PSP Size Estimating Approaches Discussed
Fuzzy logic
Divide historical product size data into size ranges and characteristics
Compare the planned product with these prior products
Based on this comparison, select the size that seems most appropriate for
the new product
Function points
Standard Components
Delphi
63 1996 A. Winsor Brown BESIMSEE
I
-
PROBE The PSP Size Estimating Approach
What is PSP - Context for PROBE
PSP Size Estimating Approaches Discussed (cont.)
Standard Components
Historical Data
- Establish the principal product size levels (components, modules, screens,
etc.)
- Determine typical sizes of each level
New Product
- Determine the component level at which estimation is practical
- Estimate how many of those components will likely be in the product
- Determine the maximum and minimum numbers possible
- Calcuate the maximum, minimum and likely sizes as total of
o number of components of each type
o times typical sizes of each type
- Calculate size = (maximum + 4*likely + minimum)/6
(D
1996 A. Winsor Brown BESIMSEE
PROBE-:;k DOC-12
I
PROBE
- The PSP Size Estimating Approach
What is PSP - Context for PROBE
PSP Size Estimating Approaches Discussed (cont.)
Delphi
Uses several estimators
- each makes an independent estimate
-
each submits estimate to a coordinator
Coordinator
-
calculates average estimate
-
enters on form: average, other estimates (anonymously), and previous
estimate
When reestimates stabilizes
- average is the estimate
- range is range of original estimates
(O
1996 A. Winsor Brown BESIMSEE
PROBE-SE D O G 13
I
- The PSP Size Estimating Approach
PROBE - The PSP Size Estimating Approach
Outline
PROBE
What is PSP - Context for PROBE
Conclusions
O 1996 A. Winsor Brown BESIMSEE
-
PROBE The PSP Size Estimating Approach
-
PROBE Process Details
PROxv Based Estimates - Proxies
Basic issues
Good size measures are detailed
Early estimators can rarely think in detail
Alternatives
Delay estimate until detail available
Make best guess - use Fuzzy Logic? Standard Components? Delphi?
identify a suitable proxy
Good proxies
Correlate closely to development costs
Are easy to visualize early in development
Should be physical entity that can be counted
Example Proxies
Function points
Objects
Product elements (components; screens, reports, scripts, files; chapters)
O 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-1 5
v l . 0 - 09/11/96
PROBE
- The PSP Size Estimating Approach
PROBE Process Details
PROxv Based Estimates - Obiects as Proxies
Correlation with development hours
Numbers of objects correlate reasonably well
Object lines of code (LOC) correlate very closely
Object LOC: estimated using the standard component estimating method
Total LOC: estimated from historical relationship Object-L0C::Total-LOC
Objects (as application entities) - can be visualized early in development
[Functions and procedures can often be estimated the same way]
Counting can be automated for
Objects, and their LOC
Functions and procedures, and their LOC
What's Needed
t
0
Object and LOC counter(s)
Historical data for standard component object LOC
Historical relationship of Object-LOC to Program-LOC
Rules for when to apply
O 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-16
-
PROBE The PSP Size Estimating
- Approach
- -
PROBE Process Details
Historical Data
LOC & LOC per Object Counters
Personal Coding and Line of Code counting standards:
developed as Report Exercises 1 & 2 in PSP course
LOC and LOC per Object counters:
developed as ProgrammingExercises 2 & 3
LOC and LOC per Object results for Programming Exercises 1..3:
called for as "test results" from Proramming Exercise 3
Program
Number
1A
Object
Name
ABC
DEF
GHI
Number of
Methods
3
2
4
Object
LOC
86
8
92
Total Program
LOC
212
2A
...
Historical data for standard component object LOC
Historical relationship of Estimated Object LOC to Actual Program LOC:
Linear Regression Parameters calculated by Programming Ex.
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE.00C-17
-
v l .O 09111196
I
-
PROBE The PSP Size Estimating Approach
PROBE Process Details
I
PSPO.1 Postmortem Process - Size Data
. -- . .- ...... .- ..-.......
PSPO1-Planning
PSPO1-Development
j
I
PSPO1-Postmortem
i
..............................
/
8 Real~st~c
Postmortem
Size-data only
v0.29 / 1 m
<PPOlWPsS bdez
1i
i
?.-
p,p ...................................
PSPO1-Postmortem
Complete-PIP: Complete
PIP forms describing
process problems.
improvement suggestions.
and lessons learned.
1-Defects-Injected
PSPO.1
Project
2- Defects-Removed
Summary
4-Actual-Time
I
Determine-LOC:
Determine the base.
reused, deleted.
modified. added.
total. total new and
changed. and
new reused LOC
completed
Counter
I
1
Enter- Data.
~nterthese
data on the
Project
Exerc~se
Source
(PESC)
I
I
4
.
/I
R e v R L
Rev~ew
the
completed Time
~ecordin
Log
~
!I
Enter-t1me-per-phase-on~P01 PPS
Enter the total time spent m each
PSPOl phase under Actual on the
~ r o j & tPlan Summary form.
Time
Recording
(TRL)
Q 1996 A. Winsor Brown BES/MSEE
PROBE-SE DOC-18
.- .
P s P o l watts*
PSPol
I
/
.i
I
-
PROBE The PSP Size Estimating Approach
PROBE Process Details
Size Estimating Overview
Product requirement
Obtain historical data
1
I
Produce conceptual design
I
Subdivide the product into parts
1
Do the parts resemble
parts in the database?
Yes
I
Select the databa
most like new ones
I
I
Estimate the new
part's relative size
Repeat for
all parts
Sum the estimated sizes
of the new parts
I
I
+
Estimate the total product size
Size Estimate
Q 1996 A. Winsor Brown BESIMSEE
Repeat until the
product parts are
the right size
PROBE-SE DOC-19
I
PROBE
- The PSP Size istimating Approach
PROBE Process Details
PSP Size Estimating Template
Student
Instructor
Date
Program #
BASE PROGRAM
BASE SIZ E(B) => => => => => => => => => =>
LOC DELETED(D) => =>' => => => => => => =>
LOC MODlFlED(M) => => => => => =>, => => =>
PROJECTED LOC
BASE ADDITIONS:
TYPE
METHODS
REL. SIZE
LOC
TOTAL BASE ADDITIONS (BA) => => => => => =>
NEW OBJECTS:
TYPE^
TOTALNEWOBJECTS (NO)
O 1996 A. Winsor Brown BESIMSEE
METHODS
REL. SIZE
=> => => => => => =>
PROBE-SE DOC-20
LOC (NewReuse*)
i
!
-
r
PROBE The PSP Size Estimatina Approach
-.
U~
PROBE Process Details
PSP Size Estimating Template (cont.)
LOC
REUSEDTOTAL(R) => => => => => => => => =>
Projected LOC:
P = BA+NO
Regression Parameter:
Po
Regression Parameter:
PI
Estimated Newand Changed LOC:
N = po+ p,*(P+M)
T=N+B-D-M+R
Estimated Total LOC:
Estimated Total New Reused (sum of * LOC):
Range
Prediction Range:
UP1 = N + Range
Upper Prediction Interval:
Lower Prediction Interval:
LPI = N - Range
Prediction Interval Percent:
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-21
-
PROBE The PSP Size Estimating Approach
PROBE Process Details
Estimating Method
Start
Design
.
I
Number of
Methods
Identify Objects
Object
Type
Relative
Size
Calculate Added and
Modified LOC
Estimate
Program Size
I
Q 1996 A. Winsor Brown BESIMSEE
Calculate
Prediction Interval
Reuse
Categories
I
-
PROBE The PSP Size Estimating Approach
.-
PROBE Process Details
Process and Statistical Refinements
I
Historical data on object LOCs
Highly variable
- language & design style influences
- helps to normalize by number of methods
Divided into basic types:
logic, control, 110, files, display, data, text, calculation, set-up, error handling
Size range for object types based on log-normal distribution
Prediction Intervals - Reality check
70% and 90% likely range around the estimate
Calculated from same data used to calculate the regression factors
Uses the student-t
63 1996 A. Winsor Brown BESIMSEE
-
PROBE The PSP Size Estimating Approach
Outline
What is PSP - Context for PROBE
PROBE
Conclusions e
Q 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-24
PROBE
- The PSP Size Estimating Approach
I
PROBE Process Details
PSPl Framework
Planning
PSP 1 . 1 PROBE 8 Planning Framework
I
I
I
I
I
Produce the
conceptual design.
0Items
C] Tasks
I
I
I
I
I
I
I
I
I
Estimate the
product size.
(Chapter 5 )
Customer
I
I
I
Estimate the
resources.
(Chapter 6)
I
I
I
I
I
I
I
I
I
I
I
I
Produce the
schedule.
(Chapter 6)
Management
I
t-
I
I
I
Develop the
product
II
I
I
I
I
I
63 1996 A. Winsor Brown BESIMSEE
schedule data
I
Analyze the
process.
I
II
I
vl .O - 0911 1/96
-
PROBE The PSP Size Estimating Approach
Conclusions
Actual Results - Estimating Error
UNISYS PSP Class
UNISYS PSP Class
Size Estimating Error Range
Actual Size Range
I ----
I-
-
Program Number
1
2
3
4
5
6
7
8
9
1
Max
Clas:
0
Program Number
wcu PSP o c 2
WCU PSP OC2
Size Estimating Error Range
Actual Size Range
200
.
/'\
150 ..
100 ..
1
2
3
4
5
6
7
Program Number
8
9
-
101-----
Min
I
50
r
,
-1'
0
.
\
\
Clas:
e
-
-.. ._ . - . _ _ _ - -
- 5 0 ..
-100
-
\
/
/
1
2
3
4
5
6
7
8
Program Number
Q 1996 A. Winsor Brown BESIMSEE
9
1
0
I
Conclusions
Teachable
Practical
Actual results indicate: Improvement over time
Improvable?: regression based on % error rather than absolute error
63 1996 A. Winsor Brown BESIMSEE
PROBE-SE DOC-27
I