Observations on Estimating
Estimation of Resources, Cost and Schedules
Factors affecting estimation
Project Complexity
Project Size
Degree of Structural uncertainty
Constraints
Limits placed on the software by external hardware,
available memory or existing systems
Interfaces
Reliability
Organization of Information
Get everything down with diagrams
Create and save transcripts of Meetings
Possibly use Web.
Off-the-shelf components
Existing s/w acquired from 3rd party, fully validated
Full experience components
Existing specs, code or test data developed for past projects
For example,
# of people = LOC ÷(Duration*(LOC/PM))
Function
Report 2 5 8
3GL comonent 10
NOP = (object points) * [(100 - %reuse)/100]; NOP -> new object points
Productivity rate = NOP/person-month
March 2004 Chapter 5 Software Project Planning
26
COCOMO II
Developers Very Low Nominal High Very
experience/capability low High
Environment Very Low Nominal High Very
maturity/capability low High
PROD 4 7 13 25 50
Select reusable components that could assist constructing the required application
Develop comparison matrix that compares key functions and costs. Possibly conduct benchmark tests
(estimated
with changes (.40) $500,000
path cost)I
March 2004 Chapter 5 Software Project Planning
33
Make/Buy Decision
1. Build system X from scratch
2. Reuse partial-experience components to construct the system
3. Buy an available s/w product and modify to meet local needs
4. Contract the s/w development to an outside vendor
The ev for cost computed along any branch is
Expected cost = (Path probability)i x (estimated path cost) I
where i = decision tree path. For the “build” path
EC(build) = 0.30 ($380K) + 0.70 ($450K) = $429K
EC(reuse) = 0.40 ($275K) + 0.60 (0.20 ($310K) + 0.80 ($490K)
= $382 K