Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering...
-
Upload
brianna-parsons -
Category
Documents
-
view
213 -
download
0
Transcript of Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering...
![Page 1: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/1.jpg)
Introduction to Software Project Estimation I (Condensed)
Barry SchragSoftware Engineering Consultant
MCSD, MCAD, [email protected]
Bellevue Community College
![Page 2: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/2.jpg)
System Size: Function Points 1979, A.J. Albrecht of IBM published a
Function Point metric as a ‘measure of software productivity’ or unit of work.
Used to size an application and estimate effort.
Count number of operations, apply weights and add up for FP total and multiply by productivity factor.
![Page 3: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/3.jpg)
Estimation Procedures First Estimate Size
Count Function Points as a size measurement
Determine Productivity Hours/FP Calibrate using local history
Total Effort Hours Size FP * Hours/FP
![Page 4: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/4.jpg)
System Size: Function Points
Albrecht considered five operations The inputs to the application The outputs from it Inquiries by users The data files that would be updated
by the application The interfaces to other applications
![Page 5: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/5.jpg)
The generic application
Data values inOutput simple data
Output Calculated data
Data store
Application
![Page 6: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/6.jpg)
Modern Function Points Empirical weighting factors became a
standard The number of inputs was weighted by 4 The outputs by 5 Inquiries by 4 The data file updates by 10 The interfaces by 7
These weights change based on number of data fields used by each operation
![Page 7: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/7.jpg)
Generic Application
Data values inExternal Input
Output Calculated data
Data store(Internal Logical Files)
Application
Output simple data
![Page 8: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/8.jpg)
External Outputs (EO)
An elementary process in which derived data passes across the boundary from inside to outside the application
e.g. a report where data is calculated
![Page 9: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/9.jpg)
External Inputs (EI)
Is an elementary process in which data crosses the boundary from outside to inside the application
![Page 10: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/10.jpg)
External inQuiry (EQ)
An elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files
e.g. a report where data is pre-calculated
![Page 11: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/11.jpg)
Internal Logical Files (ILF)
A group of logically related data within the application boundary
e.g. storage location for the users profile, for product, system control info…
![Page 12: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/12.jpg)
Rating Logical Files
Weight is adjusted by how many data elements are in the file. 10 is average weight.
![Page 13: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/13.jpg)
External Interface Files (EIF)
Data used for reference purposes which resides entirely outside the application and is maintained by another application
This is an Internal Logical File for another application
![Page 14: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/14.jpg)
Function Point Terms Diagram
![Page 15: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/15.jpg)
Calculate FP Count The number of External Inputs __ *4= __ The External Outputs __ *5= __ External inQuiries __ *4= __ The Internal Logical Files __ *10= __ The External InterFaces __ *7= __
TOTAL FP Estimate = __TOTAL Defects Estimate = FP * 5
= __
![Page 16: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/16.jpg)
Calculate FP count The number of External Inputs 2*4= 8 The External Outputs 2*5=10 External inQuiries 2*4= 8 The Internal Logical Files 1*10= 10 The External InterFaces 1*7= 7
TOTAL FP Estimate = 43
TOTAL Defects Estimate = FP * 5 =215
![Page 17: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/17.jpg)
Hours to release
TOTAL FP Estimate = 43EFFORT = FP * process efficiency
(hrs/fp)Now apply the variables -- 43 function points * 12 hours/fp =
516 hours to release Note that 12 is a LOW estimate of
process efficiency
![Page 18: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/18.jpg)
Historical Measurement Thousands of projects Consistent sizing with FPA Record of time for each activity Trends emerge
Some activities are not performed on every project
Cost for the activity doesn’t vary based on project type
![Page 19: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/19.jpg)
National Average Productivity
Work Hours per FPActivity Minimum Mode Maximum
Requirements 0.38 0.75 2.64
Prototyping 0.53 0.88 5.28
Architecture 0.26 0.44 1.32
Project Plans 0.09 0.26 0.66
Initial Design 0.33 0.75 2.64
Detailed Design 0.44 0.88 5.28
Design Reviews 0.33 0.59 1.76
Coding 0.66 2.64 8.80
Reuse Acquisition 0.07 0.22 0.33
Package Purchase 0.09 0.33 0.38
Code Inspections 0.44 0.88 1.76
Independent verification and validation 0.66 1.06 1.76
Configuration Management 0.04 0.08 0.13
Integration 0.26 0.53 0.88
User Documentation 1.32 1.89 6.60
Unit Testing 0.33 0.88 1.89
Function Testing 0.44 0.88 5.28
Integration Testing 0.33 0.75 1.76
System Testing 0.26 0.66 1.32
Field Testing 0.26 0.59 1.76
Acceptance Testing 0.22 0.38 1.76
Independent Testing 0.44 0.66 1.32
Quality Assurance 0.44 0.88 4.40
Installation and Training 0.22 0.38 0.88
Project Management 0.66 1.32 8.80
Total hours per Function Point 9.50 19.56 69.39
Minimum = small team, maximum = big team (less productive)
![Page 20: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/20.jpg)
EFFORT is Estimated by
Perform organization calibration to
get Hours per Function Point Historical Data gets better over time
![Page 21: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/21.jpg)
Estimation Influences Are
Additive Error due to Size Effort hours
Schedule Error in Size Estimate Error in Effort Estimate
Productivity changes due to New team size Work tasks change Hours available to work are altered
![Page 22: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/22.jpg)
Effort Estimation Issues Effort = Size * Productivity
Productivity measured as hours/Function Point
Use local productivity Data and ISBSG averages
Team history and cohesion do affect results
Main point - Record hours worked
![Page 23: Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA barryschrag@hotmail.com Bellevue.](https://reader035.fdocuments.us/reader035/viewer/2022070403/56649f295503460f94c43189/html5/thumbnails/23.jpg)
Conclusion
Choose an estimating technique Make it part of your process at each
step and for each change requested It can reveal process efficiency Track error over time and use to
predict cone of uncertainty in the next cycle