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