CH-3 Software Project Estimation

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Software Project Management

Chapter Three
Software Project Estimation
Sem. I – 2023

SITE-AAiT

1
Introduction

Estimation and Need for Estimation


Estimation is a process of reliably predicting various parameters associated with
making a product.
Estimate iteratively
Need for project estimation
Confidence
Provides a basis for an agreement between all concerned
Gains confidence of all concerned
Feasibility
Checks for time and budget constraints
Compares alternatives
Trade-off
Provides an envelope for all project trade-offs and adjustments
Provides a basis for comparing alternatives
Control
Enables better control over project
Facilitates re-planning 2
Introduction

Elements of a sound estimate


A work breakdown structure
An effort estimate for each task
A list of assumptions which were necessary for making the estimate
Consensus among the project team that the estimate is accurate

Estimation problems
Uniqueness of software project
Large human involvement
Intangibility of product
Customer requirements
Unclear Requirements
Feature Creep
Resources
Identification and availability
Competing with other projects 3
Introduction

Estimation problems …
Productivity:
Level of productivity
Variations in productivity
Change of scope/technology:
Platform changes
Use of new technology
Absences of metrics
Constraints:
Pressure of time
Development method
Use of standards

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

Ad hoc approaches
Two approaches: Pricing to win and Parkinson’s Law
Pricing to Win
The project costs whatever the customers has to spend on it.
Budget, time and contract value is known
How much the client is willing to spend?
When does the client need the delivery of the product?
How much have the competitors quoted?
Estimates mainly to vindicate the feasibility of budget or target dates
Advantages
High probability getting the contract
Disadvantages
The probability that the customer gets the system s/he wants is small. Costs
do not accurately reflect the work required.
Often leads to budget overshooting
Poor overall systems performance
5
Estimation Approaches

Ad hoc approaches …
Parkinson’s Law
Available resources and time is known. The project costs whatever resources are
available.
Estimated by available resources rather than by objective
Advantage
No Overspend
Disadvantage
Work expands to fill available budget and time
System is usually unfinished

6
Estimation Approaches

Estimation By Analogy
The cost of a project is computed by comparing the project to a similar project in the
same application domain.
Assume past projects are accurate
Disadvantage:
Impossible if no comparable project is tackled
Needs systematically maintained cost database

Expert judgment
Estimates are based on the experience of one or more experts. Extrapolates expert’s
experience.
Advantage
Accurate* and cheap (*if experts have direct experience)
Can address exceptional situations
Disadvantage:
(1) expert’s recall capability may be limited (2) Subject to personal bias
7
Two approaches: Delphi &Wideband Delphi
Estimation Approaches

Expert judgment: Delphi Approach


Delphi is an expert survey in two or more “Rounds”. It is also called Non-consultative
group consensus technique.
Starting from the second round, feedback is given (about the results of the previous
rounds)
The same experts assess the same matters once more influenced by the opinions of the
other experts.
Needs access to several experts.
Experts may be at one or more locations
Operates under control of a coordinator
Steps in a typical Delphi process:
Coordinator explains the task to experts
Specifications are supplied to each expert.
Each expert makes estimates anonymously.
Coordinator consolidates the responses and circulates the same to all experts
Each expert reacts to disagreements giving reasons
Iterate till agreement is reached 8
Estimation Approaches

Expert judgment: Wideband Delphi Approach


It is derived from Delphi approach. It is called “Wideband” because, compared to the
existing system, the new method involved greater and more interaction and
communication between participants.
Consultative group consensus process
A repeatable process due its set of steps
The steps are:
Choose the team: The PM selects the team and moderator
Kickoff Meeting: Each team member understands the project and agrees on a unit
of estimation.
Individual preparation: For each task, each member writes down an estimate
Estimation Session: Each member fills out his estimates.
Assemble Tasks: The moderator moderates the discussion
Review Results
Each member revises his/her estimates on a group discussion
The discussion and the revision repeats until consensus is reached by the
team.
9
Estimation Approaches

Empirical Models
It is methodical cost estimation based on the available data and skills.
Uses empirically derived formulas to predict effort as a function of LOC
Provide reliable estimates based on data from earlier projects
Estimates are based on objective and repeatable formulae
Disadvantage
Rely on the estimates of some parameters such as lines of code which is difficulty
at early stages.
Parameter values tend to be highly organization-dependent
Limited usefulness of past data in light of advancing tech
Dependent on the correctness of the inputs
Cannot handle exceptional conditions
Calibrate to past projects not to future
Impact of new technology is difficult to judge

10
Estimation Approaches

Empirical Models: COCOMO


Constructive Cost Model(COCOMO) is based on
A study of hundreds of software projects
Size in thousands of lines of code(KLOC)
4 attributes with a set of 15 multiplying factors
Three categories of projects:
Organic-small and fairly simple
Semi-detached-intermediate
Embedded-large and complex
The model estimates the total effort in terms of man-months(person-months). A man
month is the unit of work performed by one man in one month.
The basic steps are:
a) Obtain an initial estimates using the following: Type a b
Ei = a(KLOC)b where Organic 2.4 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20
11
Estimation Approaches

Empirical Models: COCOMO


b) Determine a set of 15 multiplying factors from the 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 Models: COCOMO


b) Determine a set of 15 multiplying factors from the 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 Experience 1.14 1.07 1.00 0.95

Project Attributes

Application of software engineering 1.24 1.10 1.00 0.91 0.82


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 Models: COCOMO


B…
Attributes’ Explanation
Required reliability- this is rated from very low where a software failure
would only result in slight inconvenience through nominal where a failure
would result in moderate recoverable losses to very high where failure
involves risk to human life.
Virtual Machine- this is the combination of hardware and software on which
the software product is built. A low rating means that is only changed
occasionally(once a year). A nominal implies major changes every six
months, very high implies changes every two weeks.
Required Turnaround Time- low implies interactive system development;
very high implies turnaround time is more than 12 hours
Required development schedule- a very low implies an accelerated schedule;
very high implies an extended schedule. Both actually increase the effort
required for development.
(C) Once multiplying factors are determined, compute initial effort adjustment factor
as: EAF = ΠFi = product of 15 multiplying factors
14
(D) Adjust the effort, E = Ei *EAF
Estimation Approaches

Empirical Models: COCOMO


The model can also be used to determine the overall duration and average staffing of
the project type c d
Duration D=c(E)d organic 2.5 0.38
Average Staffing S=E/D detached 2.5 0.35
embedded 2.5 0.32

The staffing requirement is small during requirements and design, max during
implementation and testing, and drops again during the final phases of integration
and testing.

15
Estimation Approaches
Empirical Models: COCOMO - Example
Suppose RAD has been produced for a certain project. After assessing the document,
the following have been identified:
The project falls in the organic category
The size is estimated to be 6KLOC
The cost driver factors are :
Complexity High 1.15
Storage High 1.06
Programmer cap. Low 1.17
Use of SW tools Low 1.10
All other attributes Nominal 1.00
Find the total duration and staffing 
EAF = 1.15*1.06*1.17*1.10*1.00*…*1.00 =1.57
Ei= 2.4 * pow(6,1.05)
E=Ei*EAF  15.74
D=2.5*pow(E,0.3)=5.7
S=E/D persons= 3 16
Financial Analysis of Projects
Financial Analysis of Projects
Important consideration in selecting projects
3 primary methods for determining the projected financial value of projects:
Net present value analysis(NPVA)
Return on investment(ROI)
Payback analysis(PBA)

Net Present Value Analysis(NPVA)


Calculates the expected net monetary gain or loss from a project by discounting all
expected future cash inflows and outflows to the present point in time.
Projects with a positive NPV should be considered
The higher the NPV, the better
For Example: a person who lend 99 cents for the promise of receiving $1.00 a month
from now, but the promise to receive the same dollar 10 years in the future would be
worth much less today for the same person.
It is determined by calculating costs (negative cash flows) and benefits (positive cash
flows) for each period of an investment.
17
Estimation Approaches
Return On Investment(ROI)
A performance measure used to evaluate the efficiency of an investment or to compare
the efficiency of a number of different investments.
ROI measures the amount of return on an investment relative to the investment’s cost.
To calculate ROI, the benefit (or return) of an investment is divided by the cost of the
investment, and the result is expressed as a percentage or a ratio.
Income divided by investment: ROI =(Gain - Cost)/Cost
The higher the ROI, the better. Some organizations have a minimum rate of return on
investment

Payback Analysis
Payback analysis is a mathematical methodology to determine the payback period for
an investment. The payback period is how long it will take to pay off the investment
with the net income derived from the asset or project. In colloquial terms, it calculates
the 'break even point.' The payback period is usually measured in fractions of years.
Payback period is the amount of time it will take to recoup, in the form of net cash
inflows, the net amount invested in a project. Payback Period = Initial Investment / Annual Net
Cash Flow
18
Payback occurs when the cumulative discounted benefits and costs are greater than
Estimation Approaches

Weighted Scoring Model


Provides a systematic process for selecting projects based on many criteria:
Identifying important selection criteria
Assigning weights(percentages) to each criterion
Assigning scores to each criterion for each project
Total weighted scores = scores*weights
The higher the weighted score, the better

You might also like