You are on page 1of 19

Software Project Management

Chapter Three
Software Project Estimation
Sem. I – 2019

Department of Information Technology


ITSC-AAIT
1
Introduction

Estimation
Estimation and
and Need
Need for
for Estimation
Estimation
Estimation
Estimation isis aa process
process ofof reliably
reliably predicting
predicting various
various parameters
parameters associated
associated with
with
making
makingaaproduct.
product.
Estimate
Estimateiteratively
iteratively
Need
Needfor
forproject
projectestimation
estimation
Confidence
Confidence
Provides
Providesaabasis
basisfor
foran
anagreement
agreementbetween
betweenallallconcerned
concerned
Gains
Gainsconfidence
confidenceof ofall
allconcerned
concerned
Feasibility
Feasibility
Checks
Checksforfortime
timeand
andbudget
budgetconstraints
constraints
Compares
Comparesalternatives
alternatives
Trade-off
Trade-off
Provides
Providesan anenvelope
envelopeforforall
allproject
projecttrade-offs
trade-offsand
andadjustments
adjustments
Provides
Providesaabasis
basisfor
forcomparing
comparingalternatives
alternatives
Control
Control
Enables
Enablesbetter
bettercontrol
controlover
overproject
project
Facilitates
Facilitatesre-planning
re-planning 2
Introduction

Elements
Elements of
of aa sound
sound estimate
estimate
AAwork
workbreakdown
breakdownstructure
structure
An
Aneffort
effortestimate
estimatefor
foreach
eachtask
task
AAlist
listof
ofassumptions
assumptionswhich
whichwere
werenecessary
necessaryfor
formaking
makingthe theestimate
estimate
Consensus
Consensusamong
amongthe
theproject
projectteam
teamthat
thatthe
theestimate
estimateisisaccurate
accurate

Estimation
Estimation problems
problems
Uniqueness
Uniquenessofofsoftware
softwareproject
project
Large
Largehuman
humaninvolvement
involvement
Intangibility
Intangibilityofofproduct
product
Customer
Customerrequirements
requirements
Unclear
UnclearRequirements
Requirements
Feature
FeatureCreep
Creep
Resources
Resources
Identification
Identificationand
andavailability
availability
Competing
Competingwithwithother
otherprojects
projects 3
Introduction

Estimation
Estimation problems
problems …

Productivity:
Productivity:
Level
Levelofofproductivity
productivity
Variations
Variationsininproductivity
productivity
Change
Changeofofscope/technology:
scope/technology:
Platform
Platformchanges
changes
Use
Useofofnew
newtechnology
technology
Absences
Absencesof ofmetrics
metrics
Constraints:
Constraints:
Pressure
Pressureofoftime
time
Development
Developmentmethodmethod
Use
Useofofstandards
standards

Estimation
EstimationApproaches
Approaches
 Ad hoc approaches  Expert judgment
 Analogy approach approaches
 Empirical models 4
Estimation Approaches

Ad
Ad hoc
hoc approaches
approaches
Two
Twoapproaches:
approaches:Pricing
Pricingtotowin
winandandParkinson’s
Parkinson’sLawLaw
Pricing
PricingtotoWin
Win
The
Theproject
projectcosts
costswhatever
whateverthe thecustomers
customershas hastotospend
spendon
onit.it.
Budget,
Budget,time
timeandandcontract
contractvalue
valueisisknown
known
How
Howmuchmuchthe theclient
clientisiswilling
willingtotospend?
spend?
When
Whendoesdoesthetheclient
clientneed
needthethedelivery
deliveryofofthe
theproduct?
product?
How
Howmuchmuchhavehavethe
thecompetitors
competitorsquoted?
quoted?
Estimates
Estimatesmainly
mainlytotovindicate
vindicatethe thefeasibility
feasibilityof
ofbudget
budgetor
ortarget
targetdates
dates
Advantages
Advantages
High
Highprobability
probability getting
gettingthe
thecontract
contract
Disadvantages
Disadvantages
The
Theprobability
probabilitythatthatthe
thecustomer
customergets
getsthe
thesystem
systems/he
s/hewants
wantsisissmall.
small.Costs
Costs
do
donot
notaccurately
accuratelyreflect
reflectthe
thework
workrequired.
required.
Often
Oftenleads
leadstotobudget
budgetovershooting
overshooting
Poor
Pooroverall
overallsystems
systemsperformance
performance
5
Estimation Approaches

Ad
Ad hoc
hoc approaches
approaches …

Parkinson’s
Parkinson’sLaw
Law
Available
Availableresources
resourcesand
andtime
timeisisknown.
known.The
Theproject
projectcosts
costswhatever
whateverresources
resourcesare
are
available.
available.
Estimated
Estimatedbybyavailable
availableresources
resourcesrather
ratherthan
thanby
byobjective
objective
Advantage
Advantage
No
NoOverspend
Overspend
Disadvantage
Disadvantage
Work
Workexpands
expandstotofill
fillavailable
availablebudget
budgetand
andtime
time
System
Systemisisusually
usuallyunfinished
unfinished

6
Estimation Approaches

Estimation
Estimation By
ByAnalogy
Analogy
The
Thecost
costofofaaproject
projectisiscomputed
computedby bycomparing
comparingthe theproject
projecttotoaasimilar
similarproject
projectininthe
the
same
sameapplication
applicationdomain.
domain.
Assume
Assumepast
pastprojects
projectsare
areaccurate
accurate
Disadvantage:
Disadvantage:
Impossible
Impossibleififno
nocomparable
comparableproject
projectisistackled
tackled
Needs
Needssystematically
systematicallymaintained
maintainedcost
costdatabase
database

Expert
Expert judgment
judgment
Estimates
Estimates are
are based
based on
on the
the experience
experience of
of one
one oror more
more experts.
experts. Extrapolates
Extrapolates expert’s
expert’s
experience.
experience.
Advantage
Advantage
Accurate*
Accurate*andandcheap
cheap(*if
(*ifexperts
expertshave
havedirect
directexperience)
experience)
Can
Canaddress
addressexceptional
exceptionalsituations
situations
Disadvantage:
Disadvantage:
(1)
(1)expert’s
expert’srecall
recallcapability
capabilitymay
maybebelimited
limited(2)(2)Subject
Subjecttotopersonal
personalbias
bias
Two 7
Twoapproaches:
approaches:Delphi
Delphi&Wideband
&WidebandDelphi
Delphi
Estimation Approaches

Expert
Expert judgment:
judgment: Delphi
DelphiApproach
Approach
Delphi
Delphiisisan
anexpert
expertsurvey
surveyinintwotwoorormore
more“Rounds”.
“Rounds”.ItItisisalso
alsocalled
calledNon-consultative
Non-consultative
group
groupconsensus
consensustechnique.
technique.
Starting
Starting from
from thethe second
second round,
round, feedback
feedback isis given
given (about
(about the
the results
results of
of the
the previous
previous
rounds)
rounds)
The
Thesame
sameexperts
expertsassess
assessthe
thesame
samematters
mattersonce
oncemore
moreinfluenced
influencedby bythe
theopinions
opinionsof ofthe
the
other
otherexperts.
experts.
Needs
Needsaccess
accesstotoseveral
severalexperts.
experts.
Experts
Expertsmaymaybe beatatone
oneorormore
morelocations
locations
Operates
Operatesunder
undercontrol
controlofofaacoordinator
coordinator
Steps
Stepsininaatypical
typicalDelphi
Delphiprocess:
process:
Coordinator
Coordinatorexplains
explainsthethetask
tasktotoexperts
experts
Specifications
Specificationsare aresupplied
suppliedtotoeacheachexpert.
expert.
Each
Eachexpert
expertmakes
makesestimates
estimatesanonymously.
anonymously.
Coordinator
Coordinatorconsolidates
consolidatesthe theresponses
responsesandandcirculates
circulatesthe
thesame
sametotoall
allexperts
experts
Each
Eachexpert
expertreacts
reactstotodisagreements
disagreementsgiving
givingreasons
reasons
Iterate
Iteratetill
tillagreement
agreementisisreached
reached 8
Estimation Approaches

Expert
Expert judgment:
judgment: Wideband
Wideband Delphi
DelphiApproach
Approach
ItItisisderived
derivedfrom
fromDelphi
Delphiapproach.
approach.ItItisiscalled
called“Wideband”
“Wideband”because,
because,compared
comparedtotothethe
existing
existing system,
system, thethe new
new method
method involved
involved greater
greater andand more
more interaction
interaction and
and
communication
communicationbetween betweenparticipants.
participants.
Consultative
Consultativegroup groupconsensus
consensusprocess
process
AArepeatable
repeatableprocess
processdue
dueits
itsset
setof
ofsteps
steps
The
Thesteps
stepsare:
are:
Choose
Choosethe theteam:
team:The
ThePM PMselects
selectsthe
theteam
teamand
andmoderator
moderator
Kickoff
KickoffMeeting:
Meeting:Each
Eachteam
teammember
memberunderstands
understandsthe theproject
projectand
andagrees
agreeson
onaaunit
unit
ofofestimation.
estimation.
Individual
Individualpreparation:
preparation:For Foreach
eachtask,
task,each
eachmember
memberwrites
writesdown
downan anestimate
estimate
Estimation
EstimationSession:
Session:Each
Eachmember
memberfillsfillsout
outhis
hisestimates.
estimates.
Assemble
AssembleTasks:Tasks:The
Themoderator
moderatormoderates
moderatesthe thediscussion
discussion
Review
ReviewResults
Results
Each
Eachmember
memberrevises
reviseshis/her
his/herestimates
estimateson onaagroup
groupdiscussion
discussion
The
The discussion
discussion and
and the
the revision
revision repeats
repeats until
until consensus
consensus isis reached
reached by
by the
the
team.
team.
9
Estimation Approaches

Empirical
Empirical Models
Models
ItItisismethodical
methodicalcost costestimation
estimationbased
basedon onthe
theavailable
availabledata
dataand
andskills.
skills.
Uses
Usesempirically
empiricallyderived
derivedformulas
formulastotopredict
predicteffort
effortasasaafunction
functionofofLOC
LOC
Provide
Providereliable
reliableestimates
estimatesbased
basedon ondata
datafrom
fromearlier
earlierprojects
projects
Estimates
Estimatesare arebased
basedon
onobjective
objectiveand
andrepeatable
repeatableformulae
formulae
Disadvantage
Disadvantage
Rely
Relyon onthe
theestimates
estimatesofofsome
someparameters
parameterssuchsuchas aslines
linesof
ofcode
codewhich
whichisisdifficulty
difficulty
atatearly
earlystages.
stages.
Parameter
Parametervalues
valuestend
tendtotobe
behighly
highlyorganization-dependent
organization-dependent
Limited
Limitedusefulness
usefulnessofofpast
pastdata
dataininlight
lightof
ofadvancing
advancingtech tech
Dependent
Dependenton onthe
thecorrectness
correctnessofofthe
theinputs
inputs
Cannot
Cannothandle
handleexceptional
exceptionalconditions
conditions
Calibrate
Calibratetotopast
pastprojects
projectsnot
nottotofuture
future
Impact
Impactofofnewnewtechnology
technologyisisdifficult
difficulttotojudge
judge

10
Estimation Approaches

Empirical
Empirical Models:
Models: COCOMO
COCOMO
Constructive
ConstructiveCostCostModel(COCOMO)
Model(COCOMO)isisbased basedon
on
AAstudy
studyofofhundreds
hundredsof ofsoftware
softwareprojects
projects
Size
Sizeininthousands
thousandsof oflines
linesofofcode(KLOC)
code(KLOC)
44attributes
attributeswith
withaaset
setofof15
15multiplying
multiplyingfactors
factors
Three
Threecategories
categoriesofofprojects:
projects:
Organic-small
Organic-smalland andfairly
fairlysimple
simple
Semi-detached-intermediate
Semi-detached-intermediate
Embedded-large
Embedded-largeand andcomplex
complex
The
The model
model estimates
estimates the
the total
total effort
effort inin terms
terms ofof man-months(person-months).
man-months(person-months).AAman
man
month
monthisisthe
theunit
unitofofwork
workperformed
performedby byone oneman
manininone
onemonth.
month.
The
Thebasic
basicsteps
stepsare:
are:
a)a)Obtain
Obtainan aninitial
initialestimates
estimatesusing
usingthethefollowing:
following: Type a b
Ei==a(KLOC)
b
Ei a(KLOC)bwhere where Organic 2.4 1.05
Semi- 3.0 1.12
detached
Embedded 2.8 1.20 11
Estimation Approaches

Empirical
Empirical Models:
Models: COCOMO
COCOMO
b)b)Determine
Determineaaset
setofof15
15multiplying
multiplyingfactors
factorsfrom
fromthe
theattributes:
attributes:
Ratings

Attribute V. low Low Nominal High V. Hgh Extra High

Product Attributes  

Required reliability 0.75 0.88 1.00 1.15 1.40  

Database size - 0.94 1.00 1.08 1.16  

Product complexity 0.70 0.85 1.00 1.15 1.30 1.65

Hardware Attributes  

Runtime performance constraints - - 1.00 1.11 1.30 1.66

Memory constraints - - 1.00 1.06 1.21 1.56

Virtual machine volatility - 0.87 1.00 1.15 1.30  

Required turnaround time - 0.87 1.00 1.07 1.15  

12
Estimation Approaches

Empirical
Empirical Models:
Models: COCOMO
COCOMO
b)b)Determine
Determineaaset
setofof15
15multiplying
multiplyingfactors
factorsfrom
fromthe
theattributes:
attributes:…

Personal Attributes V. low low nominal high v.hgh Extra High

Analyst Capability 1.46 1.19 1.00 0.86 0.71  

Application Experience 1.29 1.13 1.00 0.91 0.82  

Software Engineer Capability 1.42 1.17 1.00 0.86 0.70  

Virtual Machine Experience 1.21 1.10 1.00 0.90    

Programming Language 1.14 1.07 1.00 0.95    


Experience

Project Attributes            

Application of software 1.24 1.10 1.00 0.91 0.82  


engineering methods

Use of software tools 1.24 1.10 1.00 0.91 0.83  

Required development schedule 1.23 1.08 1.00 1.04 1.10  

13
Estimation Approaches

Empirical
Empirical Models:
Models: COCOMO
COCOMO
BB… …
Attributes’
Attributes’Explanation
Explanation
Required
Required reliability-
reliability- this
this isis rated
rated from
from very
very low
low where
where aa software
software failure
failure
would
would only
only result
result inin slight
slight inconvenience
inconvenience through
through nominal
nominal where
where aa failure
failure
would
would result
result inin moderate
moderate recoverable
recoverable losses
losses toto very
very high
high where
where failure
failure
involves
involvesrisk
risktotohuman
humanlife.life.
Virtual
VirtualMachine-
Machine-this thisisisthe
thecombination
combinationofofhardware
hardwareand andsoftware
softwareon onwhich
which
the
the software
software product
product isis built.
built. AA low
low rating
rating means
means thatthat isis only
only changed
changed
occasionally(once
occasionally(once aa year). year). AA nominal
nominal implies
implies major
major changes
changes every
every six
six
months,
months,very
veryhigh
highimplies
implieschanges
changesevery
everytwo
twoweeks.
weeks.
Required
Required Turnaround
Turnaround Time- Time- low low implies
implies interactive
interactive system
system development;
development;
very
veryhigh
highimplies
impliesturnaround
turnaroundtime timeisismore
morethan
than12
12hours
hours
Required
Requireddevelopment
developmentschedule-
schedule-aavery verylow
lowimplies
impliesan anaccelerated
acceleratedschedule;
schedule;
very
very high
high implies
implies an an extended
extended schedule.
schedule. Both
Both actually
actually increase
increase the
the effort
effort
required
requiredfor
fordevelopment.
development.
(C)
(C)Once
Once multiplying
multiplyingfactors
factorsare aredetermined,
determined,compute
compute initial
initialeffort
effortadjustment
adjustmentfactor
factor
as:
as: EAF
EAF==ΠF ΠFi i==product
productof of1515multiplying
multiplyingfactors
factors
(D) Adjust the effort, E = Ei *EAF 14
Estimation Approaches

Empirical
Empirical Models:
Models: COCOMO
COCOMO
The
Themodel
modelcan
canalso
alsobe
beused
usedtotodetermine
determinethe
theoverall
overallduration
durationand
andaverage
averagestaffing
staffingofof
the
theproject
project type c d
DurationD=c(E)
d
Duration D=c(E)d organic 2.5 0.38
Average
AverageStaffing
StaffingS=E/D
S=E/D detached 2.5 0.35
embedded 2.5 0.32

The
The staffing
staffing requirement
requirement isis small
small during
during requirements
requirements and
and design,
design, max
max during
during
implementation
implementationand andtesting,
testing,and
anddrops
dropsagain
againduring
duringthe
thefinal
finalphases
phasesofofintegration
integration
and
andtesting.
testing.

15
Estimation Approaches
Empirical
Empirical Models:
Models: COCOMO
COCOMO -- Example
Example
Suppose
SupposeRAD RADhas hasbeen
beenproduced
producedforforaacertain
certainproject.
project.After
Afterassessing
assessingthe
thedocument,
document,
the
thefollowing
followinghavehavebeen
beenidentified:
identified:
The
Theproject
projectfalls
fallsininthe
theorganic
organiccategory
category
The
Thesize
sizeisisestimated
estimatedtotobe be6KLOC
6KLOC
The
Thecost
costdriver
driverfactors
factorsareare: :
Complexity
Complexity High
High 1.15
1.15
Storage
Storage High
High 1.06
1.06
Programmer
Programmercap. cap. LowLow 1.17
1.17
Use
Useof ofSW
SWtools
tools Low Low 1.10
1.10
All
Allother
otherattributes
attributes Nominal
Nominal 1.00
1.00
Find
Findthe
thetotal
totalduration
durationand staffing
andstaffing 
EAF
EAF==1.15*1.06*1.17*1.10*1.00*…*1.00
1.15*1.06*1.17*1.10*1.00*…*1.00=1.57 =1.57
Ei=
Ei=2.4
2.4**pow(6,1.05)
pow(6,1.05)
E=Ei*EAF
E=Ei*EAF 15.74
15.74
D=2.5*pow(E,0.3)=5.7
D=2.5*pow(E,0.3)=5.7
S=E/D
S=E/Dpersons=
persons=33
16
Financial Analysis of Projects
Financial
FinancialAnalysis
Analysis of
of Projects
Projects
Important
Importantconsideration
considerationininselecting
selectingprojects
projects
33primary
primarymethods
methodsfor
fordetermining
determiningthetheprojected
projectedfinancial
financialvalue
valueofofprojects:
projects:
Net
Netpresent
presentvalue
valueanalysis(NPVA)
analysis(NPVA)
Return
Returnon
oninvestment(ROI)
investment(ROI)
Payback
Paybackanalysis(PBA)
analysis(PBA)

Net
Net Present
Present Value
ValueAnalysis(NPVA)
Analysis(NPVA)
Calculates
Calculates thethe expected
expected netnet monetary
monetary gain
gain oror loss
loss from
from aa project
project by
by discounting
discounting all
all
expected
expectedfuture
futurecash
cashinflows
inflowsand
andoutflows
outflowstotothe
thepresent
presentpoint
pointinintime.
time.
Projects
Projectswith
withaapositive
positiveNPV
NPVshould
shouldbebeconsidered
considered
The
Thehigher
higherthe
theNPV,
NPV,thethebetter
better
For
ForExample:
Example:aaperson
personwho
wholend
lend9999cents
centsfor
forthe
thepromise
promiseof ofreceiving
receiving$1.00
$1.00aamonth
month
from
fromnow,now,but
butthe
thepromise
promisetotoreceive
receivethe
thesame
samedollar
dollar10
10years
yearsininthe
thefuture
futurewould
wouldbebe
worth
worthmuchmuchless
lesstoday
todayfor
forthe
thesame
sameperson.
person.
ItItisisdetermined
determinedby bycalculating
calculatingcosts
costs(negative
(negativecashcashflows)
flows)and
andbenefits
benefits(positive
(positivecash
cash
flows)
flows)forforeach
eachperiod
periodofofan
aninvestment.
investment.
17
Estimation Approaches
Return
Return On
On Investment(ROI)
Investment(ROI)
AAperformance
performancemeasure
measureused
usedtotoevaluate
evaluatethe efficiency of
the efficiency ofan
aninvestment
investmentorortotocompare
compare
the
theefficiency
efficiencyofofaanumber
numberof ofdifferent
differentinvestments.
investments.
ROI
ROImeasures
measuresthetheamount
amountof return on
of return onananinvestment
investmentrelative
relativetotothe investment’s
the investment’scost.
cost.
To
Tocalculate
calculateROI,
ROI,thethebenefit
benefit(or (orreturn)
return)ofofan
aninvestment
investmentisisdivided
dividedbybythe
thecost
costofofthe
the
investment,
investment,and
andthe
theresult
resultisisexpressed
expressedasasaapercentage
percentageororaaratio.
ratio.
Income
Incomedivided
dividedbybyinvestment:
investment: ROI ROI=(Gain
=(Gain--Cost)/Cost
Cost)/Cost
The
Thehigher
higherthe
theROI,
ROI,the
thebetter.
better.Some
Someorganizations
organizationshave
haveaaminimum
minimumrate rateofofreturn
returnonon
investment
investment

Payback
PaybackAnalysis
Analysis
Payback
Paybackanalysis is
analysis isaamathematical
mathematicalmethodology
methodologytotodetermine
determinethe thepayback
paybackperiod
periodfor
for
an investment. The payback period is how long it will take to pay
an investment. The payback period is how long it will take to pay off the investment off the investment
with
withthethenet
netincome
incomederived
derivedfrom
fromthetheasset
assetororproject.
project.In Incolloquial
colloquialterms,
terms,ititcalculates
calculates
the
the'break
'breakeven
evenpoint.'
point.'The Thepayback
paybackperiod
periodisisusually
usuallymeasured
measuredininfractions
fractionsof ofyears.
years.
Payback
Payback period
period isis the
the amount
amount of
of time
time itit will
will take
take toto recoup,
recoup, inin the
the form
form of of net
net cash
cash
inflows,
inflows,thethenet
netamount
amountinvested
investedininaaproject.
project. Payback
PaybackPeriod
Period==Initial
InitialInvestment
Investment/ /Annual
AnnualNet
Net
Cash
CashFlow
Flow
Payback
Payback occurs
occurs when
when the
the cumulative
cumulative discounted
discounted benefits
benefits and
and costs
costs are
are greater 18
greater than
than
Estimation Approaches

Weighted
Weighted Scoring
Scoring Model
Model
Provides
Providesaasystematic
systematicprocess
processfor
forselecting
selectingprojects
projectsbased
basedon
onmany
manycriteria:
criteria:
Identifying
Identifyingimportant
importantselection
selectioncriteria
criteria
Assigning
Assigningweights(percentages)
weights(percentages)totoeacheachcriterion
criterion
Assigning
Assigningscores
scorestotoeach
eachcriterion
criterionfor
foreach
eachproject
project
Total
Totalweighted
weightedscores
scores==scores*weights
scores*weights
The
Thehigher
higherthe
theweighted
weightedscore,
score,the
thebetter
better

You might also like