smu cse 7315 planning and managing a software project
DESCRIPTION
SMU CSE 7315 Planning and Managing a Software Project. Module 19 Some Popular Effort Estimation Models. Objectives of This Module. To describe the Intermediate Cocomo estimating model To discuss other popular estimating models. The Big Picture for Cost Estimating. Source Information - PowerPoint PPT PresentationTRANSCRIPT
Copyright 1995-2009, Dennis J. Frailey CSE7315 – Software Project ManagementCSE7315 M19 - Version 9.01
SMU CSE 7315Planning and Managing a Software Project
Module 19
Some PopularEffort Estimation Models
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 2
Objectives of This Module
To describe the Intermediate Cocomo estimating model
To discuss other popular estimating models
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 3
The Big Picturefor Cost Estimating
EstimateSize
EstimateEffort and
Cost
EstimateSchedule
Evaluate
Source InformationStatement of Work
RequirementsConstraintsStandardsProcesses
Historyetc.
WBS Size
Effort &
Cost
Schedule
OKCompleteDetailedPlanning
Revise &Negotiate
Not OK
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 4
Intermediate Cocomo1
Where where EAF = E1*E2*...*En
Eis are effort multipliers corresponding to a set of common cost drivers.
– The nominal value of each Ei = 1.
– Ei = 1 implies the cost driver does not apply
– Ei > 1 implies increased cost
– Ei < 1 implies decreased cost
Effort = EAF * a * Size b
1) This model is often known as Cocomo 81
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 5
Effort Multipliers
Typical values range between 0.6 & 1.66
Preset values are established for each factor
All Cocomo multipliers together can affect cost and schedule estimates by 10 times or more!
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 6
Typical Table ofEffort Multipliers
Value Low Nominal High Very High
Extremely High
Complexity .85 1.0 1.15 1.30 1.65
Language Experience
1.07 1.0 .95 .86
…
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 7
EAFEffort Adjustment Factor
EAF is the product of the effort multipliers
A value of 1 would represent a relatively easy software effort, perhaps with no cost drivers
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 8
EAFEffort Adjustment Factor (continued)
A value of 1 - 1.5 is typical today for a commercial software effort
A value of 1.5 - 2.0 is typical today for a real-time effort or a government project
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 9
EAF Has ImprovedOver the Years
The values typically reported by software projects were once a lot larger (in the 3-4 range), but due to improvements in practices and processes, they have gotten a lot better.
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 10
Intermediate Cocomo - “a” & “b”
The “mode” is the
general type of
software
Effort = EAF * a * Size b
Mode a b
Organic 3.2 1.05
Semi-Detached
3.0 1.12
Embedded 2.8 1.20
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 11
Intermediate CocomoSoftware Types (Modes)
Organic
– Fairly easy software
– software development team is familiar with application, language, and tools.
– Typically from 2-50 KLOC
Semi-Detached
– Average software, average team
– Typically 50-300 KLOC
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 12
Intermediate CocomoSoftware Types (Modes) (continued)
Embedded
– Severe constraints, real time, etc.
– No stated size range, but model is known to fail under 10 KLOC
NOTE: the origin of the names is obscure, and not considered
significant, even by Barry Boehm, who invented Cocomo.
NOTE: the origin of the names is obscure, and not considered
significant, even by Barry Boehm, who invented Cocomo.
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 13
Cocomo II Extension
In Cocomo II, there are formulas based on characteristics of the application that allow you to estimate the “a” and “b” values more precisely.
But the best way is always to calibrate to your own data
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 14
Cocomo only accounts for the main tasks of software development.
It also includes certain amounts of management, CM, and QA
In Cocomo II, the latter amounts are larger than in older versions
SystemAnalysis
SoftwareRequirements
SystemInt &Test
SoftwareDesign
SoftwareCode
SoftwareInt &Test
<---- Cocomo Includes ---->
Tasks Included in Cocomo
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 15
Cocomo does not include
– System level tasks
– Software requirements definition and analysis
– System integration and test
Including software support of this activity
– Management above the software project level
SystemAnalysis
SoftwareRequirements
SystemInt &Test
SoftwareDesign
SoftwareCode
SoftwareInt &Test
<---- Cocomo Includes ---->
Tasks Excluded From Cocomo
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 16
Division of Labor (Effort)
Cocomo Assumes:
Effort is divided as:
15-20% Design
50-65% Code and Unit Test
20-30% Integration and Test These are ranges You must determine your values
– The only way to tell is to measure
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 17
Remember, Cocomo Excludes Requirements Analysis and System Integration
If you add 20% to the total for requirements and integration support, it becomes (roughly):
15-17% Requirements Analysis
10-15% Design
35-50% Code and Unit Test
15-25% Integration and Test
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 18
The Frailey Percent Question
If you read that “25%” of the effort is devoted to some function, ask yourself the “Frailey Percent Question”:
“25% of WHAT?” 25% of total project effort? 25% of technical development effort? 25% of software development effort? 25% of programming effort? etc.
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 19
Assumptions for Time
The percent of time spent in each process phase is different from the percent of effort
The percent of time is more heavily tilted toward requirements analysis and design
– You typically have fewer people doing requirements and design than you have in later phases
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 20
Percentages for Time
Specifics depend on the process being used
Typical numbers for time:
15-25% Requirements
25-30% Design
30-45% Code
10-20% Integration and Test
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 21
Various Sources Report Different Ratios for Time
Grady and Caswell (of Hewlett-Packard) compare five different sources (p34, 35 - see reference at end of module)
Differences stem from:
– Type of software being developed
– Schedule compression
– Organizational differences
– Process and Methods
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 22
Hewlett-Packard Recommendations
Measure actuals
Count everything (overtime, etc.)
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 23
Process, Methods, and Tools
Tools
COSTAR, REVICSLIM
SOFTCOSTMethods (Models)
COCOMO,PUTNAM,ET. AL.
Process (Purpose)
EFFORT ESTIMATING
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 24
Cocomo Tool Information
CoCo Pro
Available through ICONIX Software Engineering Inc.
For more information on CoCoPro:
HTTP://WWW.ICONIXSW.COM/Spec_Sheets/CoCoPro.html
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 25
Cocomo Tool Information (continued)
REVIC - A free tool
Available through USAF Cost Analysis Agency
SOFTEST - an updated version
For more information on REVIC or SOFTEST:
http://sepo.spawar.navy.milOr you may have to search the web.
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 26
Cocomo Tool Information (continued)
SOFTCOST-R / COSTAR
Available through Resource Calculations Inc.
For more information:
http://www.softstarsystems.com
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 27
Additional Cocomo II Information
Under development at University of Southern California, Cocomo II
project.
For More Information on Cocomo II:HTTP://SUNSET.USC.EDU/
research/COCOMOII/index.html
For More Information on Cocomo II:HTTP://SUNSET.USC.EDU/
research/COCOMOII/index.html
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 28
Other Effort Estimation Models
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 29
Architecture of Spreadsheet
Model BasedEffort Estimate
Other EffortEstimates ...
HistoricalSize Estimate
SoftwareReuse
Analysis
Size / Reuse Effort Effort and Cost Schedules
Final EffortEstimate
ProductivityBased Effort
Estimate
Generic Schedule
Effort Schedule
Labor Schedule
Cost Schedule
Other SizeEstimates ...
Final SizeEstimate
DelphiSize Estimate
0
5
10
15
20
25
M1 M2 M3 M4 M5 M6
Total
Build 1
Build 2
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 30
Other Popular Cost/Schedule Estimation Models
Putnam’s Model -- (SLIM)
Shen and Conti -- (COPMO)
Lockheed/Martin -- (Price-S)
Galorath, Inc -- (SEER-SEM)
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 31
SLIM (1)
Size is measured in lines of code (or can be thousands if Ck is adjusted)
Effort is measured in staff-years
Ck is a “state of technology” constant, reflecting use of modern practices, team experience, and software development tools. Compare with Cocomo adjustment factors.
t is the development time, in years.(1) Putnam, IEEE Trans. on SW Engineering, July, 1978.
Size = Ck*Effort1/3*t4/3
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 32
Other SLIM Information
EFFORT is for entire life cycle, including maintenance
Development Effort = .39 * EFFORT, according to Putnam
For more information on SLIM:
HTTP://WWW.QSM.COM
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 33
Copmo (1)
Effort = Programming Effort + Coordination Effort
The values of the constants a, b, c, and d must determined by regression analysis on actual project data
The important issue here is the impact of staff size on management/coordination effort
(1) Conte, S.D., et. al. Software Engineering Metrics and Models.
Effort = a + b*Size + c*(Staff)d
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 34
Price-S
This is a very complex, proprietary model, based on extensive analysis of many kinds of software projects
The parameters are similar to Cocomo’s adjustment factors, but can be very sensitive
For example, experience level of personnel can affect estimates by 5 times or more
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 35
Price-S Additional Information
Now supplied by PRICE Systems, a Lockheed-Martin Company
The product is called the PRICE S Software Estimating Suite
For more information on PRICE-S:
HTTP://WWW.PRICESYSTEMS.COM
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 36
SEER-SEM
This is a proprietary model, sold by Galorath, Inc., based on analysis of many kinds of software projects
The model also has elements for size estimation and project management
For example, one can use SEER tools to track progress and risks
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 37
SEER-SEM Additional Information
Galorath, Incorporated
El Segundo, California
310-414-3222
For more information on SEER-SEM:
HTTP://www.galorath.com/
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 38
Software Maintenance Estimating
Usually this is done in a “bottom up” manner, such as:
– Estimated number of changes * average cost per change
or
– Level of effort (“n” people per year for “m” years -- total cost = n*m)
Sometimes it is done on a “cost per transaction” basis
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 39
An Issue with Effort Estimating Methods based on Size
How can you know the size before you have designed the software -- and maybe before you even know its requirements?
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 40
Dealing with Uncertain Size Estimates
Generally speaking, you can predict size and cost better after design than you can before it
So re-estimation is a MUST for effective risk management
Methods not based on size, such as wideband delphi or “bottom up” effort estimating, should be considered to supplement size-dependent methods
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 41
Grady, Robert B. and Deborah L. Caswell, Software Metrics: Establishing a Company-Wide Program.
An Issue with AllEffort Estimating Methods
You can manipulate the method to get any answer you want
– Grady and Caswell report that typical estimates are 20-25% optimistic, even for experienced estimators
– So you need to record your results, learn from your mistakes, and do better the next time
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 42
You Need to Track and Adjust
0
20
40
60
80
100
1 2 3 4 5 6 7 8 9 10
Estimate
Actual
Revised Estimate
Actuals vs. Estimates
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 43
Use Several Methods
At the very least, using several methods will increase your chances of being close to the right answer
X X X
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 44
Remember the Goals of Estimating
Knowledge and insight are the real benefits of using different methods
Comparing the results of several methods will force you to resolve the discrepancies
– This forces you to think about the issues
– And produces more accurate estimates
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 45
Environmental Factors
Each model deals with factors beyond the basic issues of software development
– Management
– Coordination
– Impact of experience
– Stability of virtual machines
– Etc.
But this may be the least well understood and most significant factor overall
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 46
Idealized View ofEngineering Activities
Non- project
Quiet,
Concentration
Verbal
Verbal component grows with
product complexity
Verbal component grows with
product complexity
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 47
Scope of Estimate
Project Effort, Purchased Hardware, Purchased Software,Purchased Material, Purchased Services,
Facilities, Training, Travel
All Project Costs
Project EffortSystem Development, Software Development, Hardware Development,
Production, Deployment, Support, Operations, Disposition
Software DevelopmentPlanning, Requirements Specification,
Software Development Covered by Estimate
Software Development Covered By EstimatePreliminary Design, Detailed Design, Code & Unit Test, Integrati on & Test
Project Effort, Purchased Hardware, Purchased Software,Purchased Material, Purchased Services,
Facilities, Training, Travel
All Project Costs
Project EffortSystem Development, Software Development, Hardware Development,
Production, Deployment, Support, Operations, Disposition
Software DevelopmentPlanning, Requirements Specification,
Software Development Covered by Estimate
Software Development Covered By EstimatePreliminary Design, Detailed Design, Code & Unit Test, Integrati on & Test
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 48
Module Summary
Intermediate Cocomo combines the Basic Cocomo equation with effort multipliers for cost drivers
Like most models, Cocomo excludes some tasks
Various other models are available
It is best to use several methods, compare results, and iterate your estimates
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 49
END OF
MODULE 19
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project ManagementCSE7315 M19 - Version 9.01 50
References
Conte, S.D., et. al. Software Engineering Metrics and Models. Benjamin Cummings, 1986, p314.
Grady, Robert B. and Deborah L. Caswell, Software Metrics: Establishing a Company-Wide Program. Englewood Cliffs, N.J., Prentice-Hall, Inc., 1987. ISBN 0-13-821844-7.
Putnam, Lawrence H., “A General Empirical Solution to the Macro Software Sizing and Estimating Problem,” IEEE Transactions on Software Engineering, July, 1978, p345.