Phonological Probe Phonological Probe – Item 1 Phonological Probe – Item 2.
PROBE Size Estimating Approach - CSSEcsse.usc.edu/csse/event/1996/COCOMO/17_Brown PROBE.pdf ·...
Transcript of PROBE Size Estimating Approach - CSSEcsse.usc.edu/csse/event/1996/COCOMO/17_Brown PROBE.pdf ·...
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 What is PSP - Context for PROBE I I Overview I
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
PROBE - The PSP Size Estimating Approach
What is PSP - Context for PROBE I PSPO Process Flow (Framework)
PSPO Process Flow
Requtrements
Q 1996 A. Winsor Brown BESIMSEE
Planning
Design
Code
Compile
Test
Postmortem
Fintshed Product
Time Defects
Plan Summary
PROBE-SE DOC-4
Project and Process Data Summary Report
I 1
PROBE - The PSP Size Estimating Approach - - -
What is PSP - Context for PROBE I PSPO.l Project Plan Summary
Student Program Instructor
Program Base(5)
Date Proaram # Language
Size (LOC)
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
PIan
Total
PIan Actual To
Actual
Date
To Date To Date %
6 1996 A. Winsor Brown BESIMSEE PROBE-SE DOC-5
I
PROBE - The PSP size Estimating Approach
What is PSP - Context for PROBE PSPO.1 Project Plan Summary (cont.)
Defects Injected Planning
Design
Code
Compile
Test
Total Development
Defects Removed Planning
Design
Code
Compile
Test
Total Development
After Development
Actual To Date To Date %
Actual To Date To Date %
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 #
- --
Comments Date
O 1996 A. Winsor Brown BESIMSEE
Start Stop Interruption Time
Delta Time
Phase
PROBE - The PSP Size Estimating Approach I a h e t r v w s 1 I
Student Instructor
I n ; %king I 1 30 Build, r a c k g r 8Q Function
What is PSP - Context for PROBE I
Date
40 Assbnmnl W S w m 6O I n b d u e loo Envimnmnt
-
Program #
PSP Defect Recording Log
Date Number Type Remove Fix Time Fix Defect ID1 Description:
Date Number Type Remove Fix Time Fix Defect I c z z l l Description:
Date Number Type Inject Remove Fix Time Fix Defect I t I I I I [ I I E I Z l - Description:
(O 1996 A. Winsor Brown BESIMSEE PROBE-SE DOC-8
PROBE - The PSP Size Estimating Approach
I What is PSP - Context for PROBE I PSP Methods, Techniques and. Technologies
Cyclic development
Design Verification: Object state machines, Verifying program correctness Defining and evolving processes
1 Process benchmarking
Quality Code reviews Yield management Management Design reviews Defect removal and prevention strategies
Design Notations Correlation Operational scenarios Checklists for reviews Functional, State & Logic specifications Goal-Question-Metric Paradigm -
Personal PsPl .? Prediction Intervals Planning Size estimating Task planning Time and schedule estimating Process Test report Earned Value Tracking
PsPo.1 LOC Standard
Personal PSPO Coding standard Object and LOC Counters Current process Size measurement Defect Analysis
Process Time recording Process improvement Baseline Defect recording proposal (PIP)
Defect type standard I Linked Lists Statistics overview and standard deviation
Q 1996 A. Winsor Brown BESIMSEE PROBE-SE.DOC-10
PROBE - The PSP Size Estimating Approach
What is PSP - Context for PROBE I 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
PROBE - The PSP Size Estimating Approach
What is PSP - Context for PROBE I 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
PROBE - The PSP Size Estimating Approach
What is PSP - Context for PROBE I 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 1 3
PROBE - The PSP Size Estimating Approach
PROBE - The PSP Size Estimating Approach Outline
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 Object and LOC counter(s)
Historical data for standard component object LOC
Historical relationship of Object - LOC to Program - LOC
0 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 Programming Exercises 2 & 3
LOC and LOC per Object results for Programming Exercises 1 ..3: called for as "test results" from Proramming Exercise 3
Historical data for standard component object LOC
Program Number 1A
2A
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 - 0911 1196
Object Name ABC DEF GHI
. . .
Number of Methods 3 2 4
Object LOC 86 8 92
Total Program LOC
212
I
PROBE - The PSP Size Estimating Approach
PROBE Process Details PSPO.1 Postmortem Process - Size Data
I I ... -- .. .- ...... .- ..-....... .- . PSPol PsPol watts* /
j 8 Real~st~c PSPO1-Planning PSPO1 -Development PSPO1-Postmortem Postmortem I Size-data only /
i v0.2 9 / 1 m 1 i <PPOlWPsS bdez i
PSPO.1 Project
Summary
? .- .i .............................. p,p ...................................
PSPO1-Postmortem
1-Defects-Injected Complete-PIP: Complete
PIP forms describing process problems.
improvement suggestions. and lessons learned.
2- Defects-Removed 4-Actual-Time
I
Counter
Project Exerc~se Source
(PESC)
Time Recording
(TRL)
completed
Determine-LOC: Determine the base.
reused, deleted. modified. added.
total. total new and changed. and
new reused LOC
I 1 Enter- Data. I ~nterthese data on the
R e v R L Enter-t1me-per-phase-on~P01 PPS Rev~ew the I 4 completed Time
Enter the total time spent m each PSPOl phase under Actual on the
I . /I ~ e c o r d i n ~ Log I! ~ro j&t Plan Summary form.
Q 1996 A. Winsor Brown BES/MSEE PROBE-SE DOC-18
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
I most like new ones I
Repeat until the product parts are
the right size
Estimate the new Repeat for part's relative size all parts
Sum the estimated sizes of the new parts
I
I Estimate the total product size I Size Estimate
Q 1996 A. Winsor Brown BESIMSEE
+ PROBE-SE DOC-19
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^ METHODS REL. SIZE LOC (NewReuse*)
TOTALNEWOBJECTS (NO) => => => => => => =>
O 1996 A. Winsor Brown BESIMSEE PROBE-SE DOC-20
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 Estimated Estimated Prediction
Newand Changed LOC: N = po + p,*(P+M) Total LOC: T = N + B - D - M + R Total New Reused (sum of * LOC): Range: Range
Upper Prediction Interval: Lower Prediction Interval: Prediction Interval Percent:
UP1 = N + Range LPI = N - Range
Q 1996 A. Winsor Brown BESIMSEE PROBE-SE DOC-21
PROBE - The PSP Size Estimating Approach
PROBE Process Details I Estimating Method
Start
Design
I . Identify Objects
Number of Object Methods Type
Relative Reuse Size Categories
Calculate Added and Modified LOC
Q 1996 A. Winsor Brown BESIMSEE
Estimate Program Size
I Calculate Prediction Interval
PROBE - The PSP Size Estimating Approach .- PROBE Process Details
I Process and Statistical Refinements
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
PROBE Process Details I PSPl Framework
Planning
I Customer I
I
I I I I I
Produce the I I
conceptual design. I I I
PSP 1 . 1 PROBE 8 Planning Framework
0 Items
C] Tasks
I I I I I
Estimate the product size. (Chapter 5 )
I I I I I
Estimate the I I
resources. (Chapter 6)
I I I I I I
Produce the schedule.
(Chapter 6)
I
Management
I t- I
I
I Develop the I I Analyze the
product I I schedule data process. I I I I I I
I I
63 1996 A. Winsor Brown BESIMSEE vl .O - 0911 1/96
PROBE - The PSP Size Estimating Approach
Conclusions Actual Results - Estimating Error
UNISYS PSP Class
Actual Size Range
- Program Number
WCU PSP OC2
Actual Size Range
1 2 3 4 5 6 7 8 9 1 0 1 - - - - - Min I - Program Number
Q 1996 A. Winsor Brown BESIMSEE
UNISYS PSP Class
Size Estimating Error Range
1 2 3 4 5 6 7 8 9 1 0
Program Number
I ---- M a x
I- Clas:
wcu PSP o c 2
Size Estimating Error Range
200 .
Program Number
150
100
50
r -50 ..
-100 -
/'\ .. / \
/ \ - .. , \
-1' Clas:
0 . e - -. _ . - .___- - . .
1 2 3 4 5 6 7 8 9 1 0