SlideShare a Scribd company logo
1 of 78
Download to read offline
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
1
Software Project Management
Unit 2_III
Chapter Five
Software effort
estimation
• “Any fool can know…..
• The point is to understand…..”
• ― Albert Einstein
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
3
What makes a successful project?
Delivering:
agreed functionality
on time
at the agreed cost
with the required
quality
Stages:
1. Set targets
2. Attempt to achieve
targets
BUT what if the targets are not achievable?
What makes a successful project?
• Targets are set for a project and the project manager
tries to meet them
• A project manager has to produce:
• An estimate of the effort.
• An estimate of the activity durations.
• An estimate of efforts
• affects Cost
• An estimate of activity duration
• affects The delivery time
4
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
5
Some problems with estimating
• Subjective nature of much of estimating
• It may be difficult to produce evidence to support your
precise target
• Political pressures
• Managers may wish to reduce estimated costs in order
to win support for acceptance of a project proposal
• Changing technologies
• these bring uncertainties, especially in the early days
when there is a ‘learning curve’
• Projects differ
• Experience on one project may not be applicable to
another
Where are estimates done?
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
6
Estimates are carried out at different stages of a software project
for a variety of reasons.
Feasibility study
Estimates here conforms that the benefits of the potential
system will justify the costs
Strategic planning
Project portfolio management will involve:
Estimating benefits and costs of new applications
(projects) to allocate priorities.
Such estimates may also influence the scale of
development staff recruitment
Where are estimates done?
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
7
System specification
Design shows how user requirements will be
fulfilled.
Estimating The efforts needed to implement
different design proposals.
Estimates at the design stage will also confirm
that the feasibility study is still valid
Where are estimates done?
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
8
Evaluation of suppliers proposals
A manager could consider putting development
to tender
Potential contractors would examine the system
specifications and produce estimates (their bid).
The manager can still produce his own estimates
why?
To question a bid that for instance that seems too
low which could be an indication of a bad
understanding of the system specifications.
Or to compare the bids to in-house development
Where are estimates done?
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
9
Project planning
As the planning and implementation of the
project becomes more detailed
More estimates of smaller work components will
be made
These will confirm earlier broad estimates
And support more detailed planning (e.g. staff
allocation)
Accept yourself, love yourself,
And
keep moving forward…..
If you want to fly….
you have to give up
what weighs you down.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
10
Over- and under-
estimating
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
1
1
An over-estimate is likely to cause project to take longer than
it would otherwise
This can be explained by the application of two laws:
Parkinson’s Law:
‘Work expands to fill the time available’ Thus, e.g. for
an easy task over estimating the duration required to
complete it will cause some staff to work less hard to fill
the time.
Brook’s Law: putting more people on a late job makes it
later
So overestimating the effort required to perform a task
(activity) means more staff assigned to it than needed
Over- and under-
estimating
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
1
2
Underestimating a project:
Can cause the project to not be delivered on time or
cost but still could be delivered faster than a more
generous estimate
On the other side the danger of underestimating a
project is the effect on the quality
Zeroth law of reliability: if a system doesn't have to be
reliable it can meet any other objective
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
13
Over and under-estimating
• Parkinson’s Law:
‘Work expands to fill the
time available’
• An over-estimate is
likely to cause project to
take longer than it
would otherwise
• Weinberg’s Zeroth
Law of reliability: ‘a
software project that
does not have to meet
a reliability
requirement can meet
any other requirement’
Basis for successful estimating
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
1
4
The need for historical data.
Most estimating methods need information about past
projects
Care has to be considered when applying past
performance to new projects because of possible
differences in factors such as:
Different programming languages
Different experience of staff
Different terminology
There are international Data Base containing data about
thousands of projects that can be used as reference
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
1
5
Measuring work.
The time and cost to implement software
depends on:
The developer’s capability and experience
The technology that will be used
The usual practice is to start by expressing
work size independently of the effort, using
measures such as:
LOC OR KLOC: Source lines of code or
thousands of lines of code
Alternative size measure is Function Points (FP)
Basis for successful estimating
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
16
Basis for successful estimating
Information about past projects
Need to collect performance details about
past project: how big were they? How much
effort/time did they need?
Need to be able to measure the amount of
work involved
Traditional size measurement for software is
‘lines of code’ – but this can have problems
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
17
A taxonomy of estimating methods
• Bottom-up - activity based, analytical
• Parametric or algorithmic models e.g. function
points
• Expert opinion - just guessing?
• Analogy - case-based, comparative
• Parkinson and ‘price to win’
The greatest enemy of knowledge is
not ignorance……
it is the….
illusion of knowledge
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
18
Parameters to be Estimated
• Size is a fundamental measure of work
• Based on the estimated size, two parameters are
estimated:
• Effort
• Duration
• Effort is measured in person-months:
• One person-month is the effort an individual
can typically put in a month.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
19
Person-Month
• Suppose a project is estimated to take 300
person-months to develop:
• Is one person working for 30 days same as 30
persons working for 1 day?
• Yes/No? why?
• How many hours is a man month?
• Default Value: 152 hours per month
• 19 days at 8 hours per day.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
20
Mythical Man-Month
• “Cost varies as product of men and months,
progress does not.”
• Hence the man-month as a unit for
measuring the size of job is a dangerous
and deceptive myth.
• The myth of additional manpower
• Brooks Law: “Adding manpower to a late
project makes it later”
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
21
Knowing yourself is the beginning
of all wisdom.”
-- Aristotle
Measure of Work
• The project size is a measure of the problem
complexity in terms of the effort and time required
to develop the product.
• Two metrics are used to measure project size:
• Source Lines of Code (SLOC)
• Function point (FP)
• FP is now-a-days favoured over SLOC:
• Because of the many shortcomings of SLOC.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
23
Major Shortcomings of SLOC
• Difficult to estimate at start of a project
• Only a code measure
• Programmer-dependent
• Does not consider code complexity
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
24
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
25
Bottom-up versus top-down
• Bottom-up
• use when no past project data
• identify all tasks that have to be done – so quite
time-consuming
• use when you have no data about similar past
projects
• Top-down
• produce overall estimate based on project cost
drivers
• based on past project data
• divide overall estimate between jobs to be done
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
26
Bottom-up estimating
1. Break project into smaller and smaller components-
Work breakdown structure
2. Stop when you get to what one person can do in
one/two weeks
3. Estimate costs for the lowest level activities
4. At each higher level calculate estimate by adding
estimates for lower levels
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
27
Top-down estimates
• Produce overall
estimate using
effort driver(s)
• distribute
proportions of
overall estimate
to components
desig
n
code
overal
l
projec
t
test
Estimate
100 days
30%
i.e.
30 days
30%
i.e.
30 days
40%
i.e. 40 days
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
28
Algorithmic/Parametric models
• COCOMO (lines of code) and function points
examples of these
• Problem with COCOMO etc:
guess algorithm estimate
but what is desired is
system
characteristi
c
algorithm estimate
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
29
Parametric models - the need for
historical data
• simplistic model for an estimate
estimated effort = (system size) / productivity
• e.g.
system size = lines of code
productivity = lines of code per day
• productivity = (system size) / effort
• based on past projects
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
30
Parametric models
• Some models focus on task or system size e.g.
Function Points
• FPs originally used to estimate Lines of Code, rather
than effort
model
Number
of file types
Numbers of input
and output transaction types
‘system
size’
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
31
Parametric models
• Other models focus on productivity: e.g. COCOMO
• Lines of code (or FPs etc) an input
System
size
Productivity
factors
Estimated effort
Sometimes the questions are
complicated
and
the answers are simple…
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
32
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
33
Expert judgement
• Asking someone who is familiar with and
knowledgeable about the application area and the
technologies to provide an estimate
• Particularly appropriate where existing code is to be
modified
• Research shows that experts judgement in practice
tends to be based on analogy
Estimation by Analogy
• It is also called case-based reasoning.
• For a new project the estimator identifies the previous
completed projects that have similar characteristics to it.
• The new project is referred to as the target project or
target case
• The completed projects are referred to as the source
projects or source case
• The effort recorded for the matching source case is used as
the base estimate for the target project
• The estimator calculates an estimate for the new project by
adjusting the (base estimate) based on the differences that
exist between the two projects
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
34
Estimation by Analogy
• There are software tools that automate this process by
selecting the nearest project cases to the new project.
• Some software tools perform that by measuring the
• Euclidean distance between cases (projects).
• The Euclidean distance is calculated as follows:
• distance= square-root of
((target_parameter1
-source_parameter1
)2
…. +
(target_parametern
-source_parametern
)2
)
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
35
Estimation by Analogy Example
• Assume that cases are matched on the basis of two
parameters, the number of inputs and the number of
outputs.
• The new project (target case) requires 7 inputs and 15
output
• You are looking into two past cases (source cases) to find a
better analogy with the target project:
• Project A: has 8 inputs and 17 outputs.
• Project B: has 5 inputs and 10 outputs.
• Which is a more closer match for the new project A or
project B?
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
36
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
37
Stages: identify
• Significant features of the current project
• previous project(s) with similar features
• differences between the current and previous
projects
• possible reasons for error (risk)
• measures to reduce uncertainty
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
38
Parametric models
We are now looking more closely at four parametric
models:
▪ Albrecht/IFPUG function points
▪ Symons/Mark II function points
▪ COSMIC function points
▪ COCOMO81 and COCOMO II
*FPUG (Function point users’ Group)
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
39
Albrecht/IFPUG function points
• Albrecht worked at IBM and needed a way of
measuring the relative productivity of different
programming languages.
• Needed some way of measuring the size of an
application without counting lines of code.
• Identified five types of component or functionality
in an information system
• Counted occurrences of each type of functionality
in order to get an indication of the size of an
information system
Logic will get you from A to
B…..
Imagination will take you
everywhere….
– Albert Einstein
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
40
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
41
Albrecht/IFPUG function points -
continued
Five function types
1. Logical interface file (LIF) types – equates
roughly to a data store in systems analysis
terms. Created and accessed by the target
system
2. External interface file types (EIF) – where data
is retrieved from a data store which is actually
maintained by a different application.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
42
Albrecht/IFPUG function points -
continued
3. External input (EI) types – input transactions which
update internal computer files
4. External output (EO) types – transactions which extract
and display data from internal computer files. Generally
involves creating reports.
5. External inquiry (EQ) types – user initiated transactions
which provide information but do not update computer files.
Normally the user inputs some data that guides the system
to the information the user needs.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
43
Albrecht complexity multipliers
External user
types
Low
complexity
Medium
complexity
High
complexity
EI 3 4 6
EO 4 5 7
EQ 3 4 6
LIF 7 10 15
EIF 5 7 10
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
44
Examples
Payroll application has:
1. Transaction to input, amend and delete employee
details – an EI that is rated of medium complexity
2. A transaction that calculates pay details from
timesheet data that is input – an EI of high complexity
3. A transaction of medium complexity that prints out
pay-to-date details for each employee – EO
4. A file of payroll details for each employee – assessed
as of medium complexity LIF
5. A personnel file maintained by another system is
accessed for name and address details – a simple EIF
What would be the FP counts for these?
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
45
FP counts
1. Medium EI 4 FPs
2. High complexity EI 6 FPs
3. Medium complexity EO 5 FPs
4. Medium complexity LIF 10 FPs
5. Simple EIF 5 FPs
Total 30 FPs
If previous projects delivered 5 FPs a day,
implementing the above should take 30/5 = 6
days
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
46
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
47
Function points Mark II
• Developed by Charles R. Symons
• ‘Software sizing and estimating - Mk II FPA’, Wiley & Sons,
1991.
• Builds on work by Albrecht
• Work originally for CCTA (central computer and
Telecommunication Agency):
• should be compatible with SSADM; mainly used in UK
• has developed in parallel to IFPUG FPs
• A simpler method
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
48
Function points Mk II continued
• For each transaction,
count
• data items input (Ni
)
• data items output (No)
• entity types accessed
(Ne
)
#entities
accessed
#input
items
#output
items
FP count = Ni
* 0.58 + Ne
* 1.66 + No
* 0.26
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
49
Function points for embedded systems
• Mark II function points, IFPUG function points were designed
for information systems environments
• COSMIC (acronym of Common Software Measurement
International consortium) FPs attempt to extend concept to
embedded systems
• Embedded software seen as being in a particular ‘layer’ in the
system
• Communicates with other layers and also other components at
same level
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
50
Layered software
Higher layers
Lower layers
Software component peer
component
Makes a request
for a service
Receives service
Receives request Supplies service
Peer to peer
communication
Persistent
storage
Data reads/
writes
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
51
COSMIC FPs
The following are counted:
• Entries: movement of data into software component from a
higher layer or a peer component
• Exits: movements of data out
• Reads: data movement from persistent storage
• Writes: data movement to persistent storage
Each counts as 1 ‘COSMIC functional size unit’ (Cfsu)
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
52
The COCOMO constants
System type c k
Organic (broadly,
information systems)
2.4 1.05
Semi-detached 3.0 1.12
Embedded (broadly,
real-time)
3.6 1.20
k exponentiation – ‘to the power of…’
adds disproportionately more effort to the larger projects
takes account of bigger management overheads
SPM (5e) Software effort estimation© The
McGraw-Hill Companies, 2009
53
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
54
Development effort multipliers (dem)
According to COCOMO, the major productivity drivers include:
Product attributes: required reliability, database size, product
complexity
Computer attributes: execution time constraints, storage
constraints, virtual machine (VM) volatility
Personnel attributes: analyst capability, application
experience, VM experience, programming language
experience
Project attributes: modern programming practices, software
tools, schedule constraints
Major Changes in Program
Development Practices
• Software reuse
• Application generation of programs
• Object oriented approaches
• Need for rapid development
• Agile models
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
55
Software Project Management
56
Constructive Cost Model II (COCOMO II)
• A parametric cost model
• Important aspects of software projects are
characterized by variables (or parameters)
• Once the value of the parameters are
determined, the cost can be computed from
an equation
Software Project Management
57
COCOMO II (cont’d)
• Recognizes different approaches to software
development
• Prototyping, Incremental development etc.
Software Project Management
58
A history of COCOMOs
• COCOMO originally proposed by Boehm in
1981, now called COCOMO 81
• Later evolved to Ada COCOMO in 1989
• In 1995, Boehm proposed COCOMO II
Software Project Management
59
COCOMO II
• A family of models
• Uses different models in 3 different stages of the
project
• 3 stages: application composition, early design and
post architecture
• Supports estimation early in the process
• Allows further detailed estimation after the
system architecture has been defined
COCOMO II Models
• COCOMO 2 incorporates a range of sub-models:
• Produces increasingly accurate estimates.
• The 4 sub-models in COCOMO 2 are:
• Application composition model. Used when software is
composed from existing parts.
• Early design model. Used when requirements are available
but design has not yet started.
• Reuse model. Used to compute the effort of integrating
reusable components.
• Post-architecture model. Used once the system
architecture has been designed and more information about
the system is available.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
60
Software Project Management
61
COCOMO II (cont’d)
• The basic model equation
Effort = Constant × (Size)scale factor
× Effort Multiplier
• Effort in terms of person-months
• Constant: 2.45 in 1998
• Size: Estimated Size in KSLOC
• Scale Factor: combined process factors
• Effort Multiplier (EM): combined effort factors
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
62
COCOMO II
An updated version of COCOMO:
• There are different COCOMO II models for estimating at the
‘early design’ stage and the ‘post architecture’ stage when
the final system is implemented. We’ll look specifically at
the first.
• The core model is:
pm = A(size)(sf)
×(em1
) ×(em2
) ×(em3
)….
where pm = person months,
A is 2.94, size is number of thousands of lines of code, sf is
the scale factor, and emi
is an effort multiplier
Software Project Management
63
The Application Composition Stage
• Estimation at the early stage
• Corresponding to exploratory work such as
prototyping
• Uses object points to estimate the size of the
product
Software Project Management
64
The Early Design Stage
• Estimate after the requirements specification is
completed and possibly with some design
• Use the basic model equation
• Estimate the size by FPs (preferred) or KSLOC
• Estimate scale factor and effort multiplier
Software Project Management
65
The Early Design Stage – Scale Factor
• Estimation of the scale factor
• A combined effect of 5 parameters
• Application precedentedness
• Process flexibility
• Architecture risk resolution
• Team cohesion
• Process maturity
Software Project Management
The Early Design Stage – Scale Factor
(cont’d)
Parameter
Very Low
(0.05)
Low
(0.04)
Nominal
(0.03)
High
(0.02)
Very High
(0.01)
Extra High
(0.00)
Precedentedness
Thoroughly
unprecedented
Largely
unprecedented
Somewhat
unprecedented
Generally
familiar
Largely
familiar
Thoroughly
familiar
Development
flexibility
Rigorous
Occasional
relaxation
Some
relaxation
General
conformity
Some
conformity
General
goals
Architecture risk
resolution
Little
20%
Some
40%
Often
60%
Generally
75%
Mostly
90%
Full
100%
Team cohesion
Very difficult
interactions
Some difficult
interactions
Basically
cooperative
Largely
cooperative
Highly
Cooperative
Seamless
interactions
Process maturity Level 1 Level 2 Level 2+ Level 3 Level 4 Level 5
Software Project Management
67
The Early Design Stage – Scale Factor
(Cont’d)
• Calculate the scale factor based on the equation
Scale factor = 1.01 + sum of the values
(* The range of process exponent is from 1.01 to 1.26.)
The smaller is the number, the less extra effort is needed.
Thus, an ideal team will have the ideal process exponent
value (1.01).
Software Project Management
68
The Early Design Stage – Effort Multiplier
• 7 factors in Effort Multiplier
• product Reliability and ComPleXity (RCPX)
• required reusability (RUSE)
• Platform DIFficulty (PDIF)
• PERSonnel capability (PERS)
• PeRsonnel EXperience (PREX)
• FaCILities available (FCIL)
• SChEDule pressure (SCED)
Software Project Management
69
COCOMO II (cont’d)
• Advantages
• Good improvement over
COCOMO
• Good match for iterative
development, modern
technology, and
management process
• Disadvantages
• Still immature,
diverse projects in
database
• Hard to believe that it
will be any more
reliable than the
original COCOMO
model
Staffing
• Norden was one of the first to investigate staffing pattern:
• Considered general research and development (R&D)
type of projects.
• Norden concluded:
• Staffing pattern for any R&D project can be
approximated by the Rayleigh distribution curve
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
70
TD
Manpower
Time
Boehm’s Result
• There is a limit beyond which a software project
cannot reduce its schedule by buying any more
personnel or equipment.
• This limit occurs roughly at 75% of the nominal
time estimate for small and medium sized
projects
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
72
Capers Jones’ Estimating Rules of Thumb
• Empirical rules:
• Formulated based on observations
• No scientific basis
• Because of their simplicity,:
• These rules are handy to use for making off-hand
estimates.
• Give an insight into many aspects of a project for
which no formal methodologies exist yet.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
73
Capers Jones’ Rules
• Rule 1: SLOC-function point equivalence:
• One function point = 125 SLOC for C programs.
• Rule 2: Project duration estimation:
• Function points raised to the power 0.4 predicts the
approximate development time in calendar months.
• Rule 3: Rate of requirements creep:
• User requirements creep in at an average rate of 2% per
month from the design through coding phases.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
74
Capers Jones’ Rules
• Rule 4: Defect removal efficiency:
• Each software review, inspection, or test step will find
and remove 30% of the bugs that are present.
• Rule 5: Project manpower estimation:
• The size of the software (in function points) divided by
150 predicts the approximate number of personnel
required for developing the application.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
Capers’ Jones Rules
• Rule 6: Number of personnel for maintenance
• Function points divided by 500 predicts the approximate
number of personnel required for regular maintenance
activities.
• Rule 7: Software development effort estimation:
• The approximate number of staff months of effort
required to develop a software is given by the software
development time multiplied with the number of
personnel required.
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
77
Some conclusions: how to review
estimates
Ask the following questions about an estimate
• What are the task size drivers?
• What productivity rates have been used?
• Is there an example of a previous project of about
the same size?
• Are there examples of where the productivity
rates used have actually been found?
End of Unit 2
SPM (6e) Software effort estimation© The
McGraw-Hill Companies, 2017
78

More Related Content

Similar to Chapter 05 Software effort estimation PartII_final

Running Head Project Overview Statement1Project Overview Stat.docx
Running Head Project Overview Statement1Project Overview Stat.docxRunning Head Project Overview Statement1Project Overview Stat.docx
Running Head Project Overview Statement1Project Overview Stat.docxtodd581
 
Lecture 2
Lecture 2Lecture 2
Lecture 29anm12
 
Chapter 2 -project evaluation
Chapter 2 -project evaluationChapter 2 -project evaluation
Chapter 2 -project evaluationRohanMistry15
 
An approach-to-planning-software-projects
An approach-to-planning-software-projectsAn approach-to-planning-software-projects
An approach-to-planning-software-projectstumetr
 
The True Costs and Benefits of CMMI Level 5
The True Costs and Benefits of CMMI Level 5The True Costs and Benefits of CMMI Level 5
The True Costs and Benefits of CMMI Level 5rhefner
 
itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptinaamulh77
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxTangZhiSiang
 
Capacity Planning and Demand Management
Capacity Planning and Demand ManagementCapacity Planning and Demand Management
Capacity Planning and Demand ManagementLawrence Putnam Jr
 
IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...
IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...
IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...Quantitative Software Management, Inc.
 
Software Estimating and Performance Measurement
Software Estimating and Performance MeasurementSoftware Estimating and Performance Measurement
Software Estimating and Performance MeasurementHarold van Heeringen
 
A Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation MethodsA Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation MethodsEditor IJCATR
 
Software Project Estimation
Software Project EstimationSoftware Project Estimation
Software Project EstimationFrank Vogelezang
 
Experteer for ICMA: Applied Machine Learning. Smart Process Automation with AI
Experteer for ICMA: Applied Machine Learning. Smart Process Automation with AIExperteer for ICMA: Applied Machine Learning. Smart Process Automation with AI
Experteer for ICMA: Applied Machine Learning. Smart Process Automation with AIAlexander Chukovski
 
Lecture 5 Estimation techniques.ppt
Lecture 5 Estimation techniques.pptLecture 5 Estimation techniques.ppt
Lecture 5 Estimation techniques.pptMaryamShah29
 

Similar to Chapter 05 Software effort estimation PartII_final (20)

Running Head Project Overview Statement1Project Overview Stat.docx
Running Head Project Overview Statement1Project Overview Stat.docxRunning Head Project Overview Statement1Project Overview Stat.docx
Running Head Project Overview Statement1Project Overview Stat.docx
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Chapter 2 -project evaluation
Chapter 2 -project evaluationChapter 2 -project evaluation
Chapter 2 -project evaluation
 
An approach-to-planning-software-projects
An approach-to-planning-software-projectsAn approach-to-planning-software-projects
An approach-to-planning-software-projects
 
1587310189-week6.pptx
1587310189-week6.pptx1587310189-week6.pptx
1587310189-week6.pptx
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
The True Costs and Benefits of CMMI Level 5
The True Costs and Benefits of CMMI Level 5The True Costs and Benefits of CMMI Level 5
The True Costs and Benefits of CMMI Level 5
 
CHAPTER 5.pptx
CHAPTER 5.pptxCHAPTER 5.pptx
CHAPTER 5.pptx
 
itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.ppt
 
Spm
Spm Spm
Spm
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptx
 
Project Estimation Tool
Project Estimation Tool Project Estimation Tool
Project Estimation Tool
 
Capacity Planning and Demand Management
Capacity Planning and Demand ManagementCapacity Planning and Demand Management
Capacity Planning and Demand Management
 
IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...
IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...
IT Demand Management and Capacity Planning: Why Estimation Is Vital to Balanc...
 
Software Estimating and Performance Measurement
Software Estimating and Performance MeasurementSoftware Estimating and Performance Measurement
Software Estimating and Performance Measurement
 
A Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation MethodsA Review of Agile Software Effort Estimation Methods
A Review of Agile Software Effort Estimation Methods
 
Software Project Estimation
Software Project EstimationSoftware Project Estimation
Software Project Estimation
 
Experteer for ICMA: Applied Machine Learning. Smart Process Automation with AI
Experteer for ICMA: Applied Machine Learning. Smart Process Automation with AIExperteer for ICMA: Applied Machine Learning. Smart Process Automation with AI
Experteer for ICMA: Applied Machine Learning. Smart Process Automation with AI
 
Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
 
Lecture 5 Estimation techniques.ppt
Lecture 5 Estimation techniques.pptLecture 5 Estimation techniques.ppt
Lecture 5 Estimation techniques.ppt
 

More from RohanMistry15

software-quality-assurance question paper 2023
software-quality-assurance question paper 2023software-quality-assurance question paper 2023
software-quality-assurance question paper 2023RohanMistry15
 
security-in-computing question paper 2023
security-in-computing question paper 2023security-in-computing question paper 2023
security-in-computing question paper 2023RohanMistry15
 
IT-service-management question paper 2023
IT-service-management question paper 2023IT-service-management question paper 2023
IT-service-management question paper 2023RohanMistry15
 
geographical-information-system question paper
geographical-information-system question papergeographical-information-system question paper
geographical-information-system question paperRohanMistry15
 
Business-Intelligence question paper 2023
Business-Intelligence question paper 2023Business-Intelligence question paper 2023
Business-Intelligence question paper 2023RohanMistry15
 
Aeronautical Engineering Career Information
Aeronautical Engineering Career InformationAeronautical Engineering Career Information
Aeronautical Engineering Career InformationRohanMistry15
 
Chinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plantChinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plantRohanMistry15
 
Artificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3edArtificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3edRohanMistry15
 
Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8RohanMistry15
 
Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5RohanMistry15
 
Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4RohanMistry15
 
Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14RohanMistry15
 
Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12RohanMistry15
 
Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2RohanMistry15
 
Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3RohanMistry15
 
Advanced Web Programming Chapter 10
Advanced Web Programming  Chapter 10Advanced Web Programming  Chapter 10
Advanced Web Programming Chapter 10RohanMistry15
 
Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11RohanMistry15
 
Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9RohanMistry15
 
Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6RohanMistry15
 

More from RohanMistry15 (20)

software-quality-assurance question paper 2023
software-quality-assurance question paper 2023software-quality-assurance question paper 2023
software-quality-assurance question paper 2023
 
security-in-computing question paper 2023
security-in-computing question paper 2023security-in-computing question paper 2023
security-in-computing question paper 2023
 
IT-service-management question paper 2023
IT-service-management question paper 2023IT-service-management question paper 2023
IT-service-management question paper 2023
 
geographical-information-system question paper
geographical-information-system question papergeographical-information-system question paper
geographical-information-system question paper
 
Business-Intelligence question paper 2023
Business-Intelligence question paper 2023Business-Intelligence question paper 2023
Business-Intelligence question paper 2023
 
Aeronautical Engineering Career Information
Aeronautical Engineering Career InformationAeronautical Engineering Career Information
Aeronautical Engineering Career Information
 
Chinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plantChinese Cyber attack on mumbai power plant
Chinese Cyber attack on mumbai power plant
 
Zeus learning
Zeus learningZeus learning
Zeus learning
 
Artificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3edArtificial Intelligence - A modern approach 3ed
Artificial Intelligence - A modern approach 3ed
 
Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8
 
Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5Advanced Web Programming Chapter 5
Advanced Web Programming Chapter 5
 
Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4Advanced Web Programming Chapter 4
Advanced Web Programming Chapter 4
 
Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14Advanced Web Programming Chapter 13 & 14
Advanced Web Programming Chapter 13 & 14
 
Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12Advanced Web Programming Chapter 12
Advanced Web Programming Chapter 12
 
Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2Advanced Web Programming Chapter 2
Advanced Web Programming Chapter 2
 
Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3Advanced Web Programming Chapter 3
Advanced Web Programming Chapter 3
 
Advanced Web Programming Chapter 10
Advanced Web Programming  Chapter 10Advanced Web Programming  Chapter 10
Advanced Web Programming Chapter 10
 
Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11Advanced Web Programming Chapter 11
Advanced Web Programming Chapter 11
 
Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9Advanced Web Programming Chapter 9
Advanced Web Programming Chapter 9
 
Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6Advanced Web Programming Chapter 6
Advanced Web Programming Chapter 6
 

Recently uploaded

The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Recently uploaded (20)

The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Chapter 05 Software effort estimation PartII_final

  • 1. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 1 Software Project Management Unit 2_III Chapter Five Software effort estimation
  • 2. • “Any fool can know….. • The point is to understand…..” • ― Albert Einstein
  • 3. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 3 What makes a successful project? Delivering: agreed functionality on time at the agreed cost with the required quality Stages: 1. Set targets 2. Attempt to achieve targets BUT what if the targets are not achievable?
  • 4. What makes a successful project? • Targets are set for a project and the project manager tries to meet them • A project manager has to produce: • An estimate of the effort. • An estimate of the activity durations. • An estimate of efforts • affects Cost • An estimate of activity duration • affects The delivery time 4
  • 5. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 5 Some problems with estimating • Subjective nature of much of estimating • It may be difficult to produce evidence to support your precise target • Political pressures • Managers may wish to reduce estimated costs in order to win support for acceptance of a project proposal • Changing technologies • these bring uncertainties, especially in the early days when there is a ‘learning curve’ • Projects differ • Experience on one project may not be applicable to another
  • 6. Where are estimates done? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 6 Estimates are carried out at different stages of a software project for a variety of reasons. Feasibility study Estimates here conforms that the benefits of the potential system will justify the costs Strategic planning Project portfolio management will involve: Estimating benefits and costs of new applications (projects) to allocate priorities. Such estimates may also influence the scale of development staff recruitment
  • 7. Where are estimates done? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 7 System specification Design shows how user requirements will be fulfilled. Estimating The efforts needed to implement different design proposals. Estimates at the design stage will also confirm that the feasibility study is still valid
  • 8. Where are estimates done? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 8 Evaluation of suppliers proposals A manager could consider putting development to tender Potential contractors would examine the system specifications and produce estimates (their bid). The manager can still produce his own estimates why? To question a bid that for instance that seems too low which could be an indication of a bad understanding of the system specifications. Or to compare the bids to in-house development
  • 9. Where are estimates done? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 9 Project planning As the planning and implementation of the project becomes more detailed More estimates of smaller work components will be made These will confirm earlier broad estimates And support more detailed planning (e.g. staff allocation)
  • 10. Accept yourself, love yourself, And keep moving forward….. If you want to fly…. you have to give up what weighs you down. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 10
  • 11. Over- and under- estimating SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 1 1 An over-estimate is likely to cause project to take longer than it would otherwise This can be explained by the application of two laws: Parkinson’s Law: ‘Work expands to fill the time available’ Thus, e.g. for an easy task over estimating the duration required to complete it will cause some staff to work less hard to fill the time. Brook’s Law: putting more people on a late job makes it later So overestimating the effort required to perform a task (activity) means more staff assigned to it than needed
  • 12. Over- and under- estimating SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 1 2 Underestimating a project: Can cause the project to not be delivered on time or cost but still could be delivered faster than a more generous estimate On the other side the danger of underestimating a project is the effect on the quality Zeroth law of reliability: if a system doesn't have to be reliable it can meet any other objective
  • 13. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 13 Over and under-estimating • Parkinson’s Law: ‘Work expands to fill the time available’ • An over-estimate is likely to cause project to take longer than it would otherwise • Weinberg’s Zeroth Law of reliability: ‘a software project that does not have to meet a reliability requirement can meet any other requirement’
  • 14. Basis for successful estimating SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 1 4 The need for historical data. Most estimating methods need information about past projects Care has to be considered when applying past performance to new projects because of possible differences in factors such as: Different programming languages Different experience of staff Different terminology There are international Data Base containing data about thousands of projects that can be used as reference
  • 15. SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 1 5 Measuring work. The time and cost to implement software depends on: The developer’s capability and experience The technology that will be used The usual practice is to start by expressing work size independently of the effort, using measures such as: LOC OR KLOC: Source lines of code or thousands of lines of code Alternative size measure is Function Points (FP) Basis for successful estimating
  • 16. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 16 Basis for successful estimating Information about past projects Need to collect performance details about past project: how big were they? How much effort/time did they need? Need to be able to measure the amount of work involved Traditional size measurement for software is ‘lines of code’ – but this can have problems
  • 17. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 17 A taxonomy of estimating methods • Bottom-up - activity based, analytical • Parametric or algorithmic models e.g. function points • Expert opinion - just guessing? • Analogy - case-based, comparative • Parkinson and ‘price to win’
  • 18. The greatest enemy of knowledge is not ignorance…… it is the…. illusion of knowledge SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 18
  • 19. Parameters to be Estimated • Size is a fundamental measure of work • Based on the estimated size, two parameters are estimated: • Effort • Duration • Effort is measured in person-months: • One person-month is the effort an individual can typically put in a month. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 19
  • 20. Person-Month • Suppose a project is estimated to take 300 person-months to develop: • Is one person working for 30 days same as 30 persons working for 1 day? • Yes/No? why? • How many hours is a man month? • Default Value: 152 hours per month • 19 days at 8 hours per day. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 20
  • 21. Mythical Man-Month • “Cost varies as product of men and months, progress does not.” • Hence the man-month as a unit for measuring the size of job is a dangerous and deceptive myth. • The myth of additional manpower • Brooks Law: “Adding manpower to a late project makes it later” SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 21
  • 22. Knowing yourself is the beginning of all wisdom.” -- Aristotle
  • 23. Measure of Work • The project size is a measure of the problem complexity in terms of the effort and time required to develop the product. • Two metrics are used to measure project size: • Source Lines of Code (SLOC) • Function point (FP) • FP is now-a-days favoured over SLOC: • Because of the many shortcomings of SLOC. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 23
  • 24. Major Shortcomings of SLOC • Difficult to estimate at start of a project • Only a code measure • Programmer-dependent • Does not consider code complexity SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 24
  • 25. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 25 Bottom-up versus top-down • Bottom-up • use when no past project data • identify all tasks that have to be done – so quite time-consuming • use when you have no data about similar past projects • Top-down • produce overall estimate based on project cost drivers • based on past project data • divide overall estimate between jobs to be done
  • 26. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 26 Bottom-up estimating 1. Break project into smaller and smaller components- Work breakdown structure 2. Stop when you get to what one person can do in one/two weeks 3. Estimate costs for the lowest level activities 4. At each higher level calculate estimate by adding estimates for lower levels
  • 27. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 27 Top-down estimates • Produce overall estimate using effort driver(s) • distribute proportions of overall estimate to components desig n code overal l projec t test Estimate 100 days 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days
  • 28. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 28 Algorithmic/Parametric models • COCOMO (lines of code) and function points examples of these • Problem with COCOMO etc: guess algorithm estimate but what is desired is system characteristi c algorithm estimate
  • 29. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 29 Parametric models - the need for historical data • simplistic model for an estimate estimated effort = (system size) / productivity • e.g. system size = lines of code productivity = lines of code per day • productivity = (system size) / effort • based on past projects
  • 30. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 30 Parametric models • Some models focus on task or system size e.g. Function Points • FPs originally used to estimate Lines of Code, rather than effort model Number of file types Numbers of input and output transaction types ‘system size’
  • 31. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 31 Parametric models • Other models focus on productivity: e.g. COCOMO • Lines of code (or FPs etc) an input System size Productivity factors Estimated effort
  • 32. Sometimes the questions are complicated and the answers are simple… SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 32
  • 33. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 33 Expert judgement • Asking someone who is familiar with and knowledgeable about the application area and the technologies to provide an estimate • Particularly appropriate where existing code is to be modified • Research shows that experts judgement in practice tends to be based on analogy
  • 34. Estimation by Analogy • It is also called case-based reasoning. • For a new project the estimator identifies the previous completed projects that have similar characteristics to it. • The new project is referred to as the target project or target case • The completed projects are referred to as the source projects or source case • The effort recorded for the matching source case is used as the base estimate for the target project • The estimator calculates an estimate for the new project by adjusting the (base estimate) based on the differences that exist between the two projects SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 34
  • 35. Estimation by Analogy • There are software tools that automate this process by selecting the nearest project cases to the new project. • Some software tools perform that by measuring the • Euclidean distance between cases (projects). • The Euclidean distance is calculated as follows: • distance= square-root of ((target_parameter1 -source_parameter1 )2 …. + (target_parametern -source_parametern )2 ) SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 35
  • 36. Estimation by Analogy Example • Assume that cases are matched on the basis of two parameters, the number of inputs and the number of outputs. • The new project (target case) requires 7 inputs and 15 output • You are looking into two past cases (source cases) to find a better analogy with the target project: • Project A: has 8 inputs and 17 outputs. • Project B: has 5 inputs and 10 outputs. • Which is a more closer match for the new project A or project B? SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 36
  • 37. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 37 Stages: identify • Significant features of the current project • previous project(s) with similar features • differences between the current and previous projects • possible reasons for error (risk) • measures to reduce uncertainty
  • 38. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 38 Parametric models We are now looking more closely at four parametric models: ▪ Albrecht/IFPUG function points ▪ Symons/Mark II function points ▪ COSMIC function points ▪ COCOMO81 and COCOMO II *FPUG (Function point users’ Group)
  • 39. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 39 Albrecht/IFPUG function points • Albrecht worked at IBM and needed a way of measuring the relative productivity of different programming languages. • Needed some way of measuring the size of an application without counting lines of code. • Identified five types of component or functionality in an information system • Counted occurrences of each type of functionality in order to get an indication of the size of an information system
  • 40. Logic will get you from A to B….. Imagination will take you everywhere…. – Albert Einstein SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 40
  • 41. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 41 Albrecht/IFPUG function points - continued Five function types 1. Logical interface file (LIF) types – equates roughly to a data store in systems analysis terms. Created and accessed by the target system 2. External interface file types (EIF) – where data is retrieved from a data store which is actually maintained by a different application.
  • 42. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 42 Albrecht/IFPUG function points - continued 3. External input (EI) types – input transactions which update internal computer files 4. External output (EO) types – transactions which extract and display data from internal computer files. Generally involves creating reports. 5. External inquiry (EQ) types – user initiated transactions which provide information but do not update computer files. Normally the user inputs some data that guides the system to the information the user needs.
  • 43. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 43 Albrecht complexity multipliers External user types Low complexity Medium complexity High complexity EI 3 4 6 EO 4 5 7 EQ 3 4 6 LIF 7 10 15 EIF 5 7 10
  • 44. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 44 Examples Payroll application has: 1. Transaction to input, amend and delete employee details – an EI that is rated of medium complexity 2. A transaction that calculates pay details from timesheet data that is input – an EI of high complexity 3. A transaction of medium complexity that prints out pay-to-date details for each employee – EO 4. A file of payroll details for each employee – assessed as of medium complexity LIF 5. A personnel file maintained by another system is accessed for name and address details – a simple EIF What would be the FP counts for these?
  • 45. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 45 FP counts 1. Medium EI 4 FPs 2. High complexity EI 6 FPs 3. Medium complexity EO 5 FPs 4. Medium complexity LIF 10 FPs 5. Simple EIF 5 FPs Total 30 FPs If previous projects delivered 5 FPs a day, implementing the above should take 30/5 = 6 days
  • 46. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 46
  • 47. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 47 Function points Mark II • Developed by Charles R. Symons • ‘Software sizing and estimating - Mk II FPA’, Wiley & Sons, 1991. • Builds on work by Albrecht • Work originally for CCTA (central computer and Telecommunication Agency): • should be compatible with SSADM; mainly used in UK • has developed in parallel to IFPUG FPs • A simpler method
  • 48. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 48 Function points Mk II continued • For each transaction, count • data items input (Ni ) • data items output (No) • entity types accessed (Ne ) #entities accessed #input items #output items FP count = Ni * 0.58 + Ne * 1.66 + No * 0.26
  • 49. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 49 Function points for embedded systems • Mark II function points, IFPUG function points were designed for information systems environments • COSMIC (acronym of Common Software Measurement International consortium) FPs attempt to extend concept to embedded systems • Embedded software seen as being in a particular ‘layer’ in the system • Communicates with other layers and also other components at same level
  • 50. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 50 Layered software Higher layers Lower layers Software component peer component Makes a request for a service Receives service Receives request Supplies service Peer to peer communication Persistent storage Data reads/ writes
  • 51. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 51 COSMIC FPs The following are counted: • Entries: movement of data into software component from a higher layer or a peer component • Exits: movements of data out • Reads: data movement from persistent storage • Writes: data movement to persistent storage Each counts as 1 ‘COSMIC functional size unit’ (Cfsu)
  • 52. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 52 The COCOMO constants System type c k Organic (broadly, information systems) 2.4 1.05 Semi-detached 3.0 1.12 Embedded (broadly, real-time) 3.6 1.20 k exponentiation – ‘to the power of…’ adds disproportionately more effort to the larger projects takes account of bigger management overheads
  • 53. SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 53
  • 54. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 54 Development effort multipliers (dem) According to COCOMO, the major productivity drivers include: Product attributes: required reliability, database size, product complexity Computer attributes: execution time constraints, storage constraints, virtual machine (VM) volatility Personnel attributes: analyst capability, application experience, VM experience, programming language experience Project attributes: modern programming practices, software tools, schedule constraints
  • 55. Major Changes in Program Development Practices • Software reuse • Application generation of programs • Object oriented approaches • Need for rapid development • Agile models SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 55
  • 56. Software Project Management 56 Constructive Cost Model II (COCOMO II) • A parametric cost model • Important aspects of software projects are characterized by variables (or parameters) • Once the value of the parameters are determined, the cost can be computed from an equation
  • 57. Software Project Management 57 COCOMO II (cont’d) • Recognizes different approaches to software development • Prototyping, Incremental development etc.
  • 58. Software Project Management 58 A history of COCOMOs • COCOMO originally proposed by Boehm in 1981, now called COCOMO 81 • Later evolved to Ada COCOMO in 1989 • In 1995, Boehm proposed COCOMO II
  • 59. Software Project Management 59 COCOMO II • A family of models • Uses different models in 3 different stages of the project • 3 stages: application composition, early design and post architecture • Supports estimation early in the process • Allows further detailed estimation after the system architecture has been defined
  • 60. COCOMO II Models • COCOMO 2 incorporates a range of sub-models: • Produces increasingly accurate estimates. • The 4 sub-models in COCOMO 2 are: • Application composition model. Used when software is composed from existing parts. • Early design model. Used when requirements are available but design has not yet started. • Reuse model. Used to compute the effort of integrating reusable components. • Post-architecture model. Used once the system architecture has been designed and more information about the system is available. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 60
  • 61. Software Project Management 61 COCOMO II (cont’d) • The basic model equation Effort = Constant × (Size)scale factor × Effort Multiplier • Effort in terms of person-months • Constant: 2.45 in 1998 • Size: Estimated Size in KSLOC • Scale Factor: combined process factors • Effort Multiplier (EM): combined effort factors
  • 62. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 62 COCOMO II An updated version of COCOMO: • There are different COCOMO II models for estimating at the ‘early design’ stage and the ‘post architecture’ stage when the final system is implemented. We’ll look specifically at the first. • The core model is: pm = A(size)(sf) ×(em1 ) ×(em2 ) ×(em3 )…. where pm = person months, A is 2.94, size is number of thousands of lines of code, sf is the scale factor, and emi is an effort multiplier
  • 63. Software Project Management 63 The Application Composition Stage • Estimation at the early stage • Corresponding to exploratory work such as prototyping • Uses object points to estimate the size of the product
  • 64. Software Project Management 64 The Early Design Stage • Estimate after the requirements specification is completed and possibly with some design • Use the basic model equation • Estimate the size by FPs (preferred) or KSLOC • Estimate scale factor and effort multiplier
  • 65. Software Project Management 65 The Early Design Stage – Scale Factor • Estimation of the scale factor • A combined effect of 5 parameters • Application precedentedness • Process flexibility • Architecture risk resolution • Team cohesion • Process maturity
  • 66. Software Project Management The Early Design Stage – Scale Factor (cont’d) Parameter Very Low (0.05) Low (0.04) Nominal (0.03) High (0.02) Very High (0.01) Extra High (0.00) Precedentedness Thoroughly unprecedented Largely unprecedented Somewhat unprecedented Generally familiar Largely familiar Thoroughly familiar Development flexibility Rigorous Occasional relaxation Some relaxation General conformity Some conformity General goals Architecture risk resolution Little 20% Some 40% Often 60% Generally 75% Mostly 90% Full 100% Team cohesion Very difficult interactions Some difficult interactions Basically cooperative Largely cooperative Highly Cooperative Seamless interactions Process maturity Level 1 Level 2 Level 2+ Level 3 Level 4 Level 5
  • 67. Software Project Management 67 The Early Design Stage – Scale Factor (Cont’d) • Calculate the scale factor based on the equation Scale factor = 1.01 + sum of the values (* The range of process exponent is from 1.01 to 1.26.) The smaller is the number, the less extra effort is needed. Thus, an ideal team will have the ideal process exponent value (1.01).
  • 68. Software Project Management 68 The Early Design Stage – Effort Multiplier • 7 factors in Effort Multiplier • product Reliability and ComPleXity (RCPX) • required reusability (RUSE) • Platform DIFficulty (PDIF) • PERSonnel capability (PERS) • PeRsonnel EXperience (PREX) • FaCILities available (FCIL) • SChEDule pressure (SCED)
  • 69. Software Project Management 69 COCOMO II (cont’d) • Advantages • Good improvement over COCOMO • Good match for iterative development, modern technology, and management process • Disadvantages • Still immature, diverse projects in database • Hard to believe that it will be any more reliable than the original COCOMO model
  • 70. Staffing • Norden was one of the first to investigate staffing pattern: • Considered general research and development (R&D) type of projects. • Norden concluded: • Staffing pattern for any R&D project can be approximated by the Rayleigh distribution curve SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 70 TD Manpower Time
  • 71. Boehm’s Result • There is a limit beyond which a software project cannot reduce its schedule by buying any more personnel or equipment. • This limit occurs roughly at 75% of the nominal time estimate for small and medium sized projects SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017
  • 72. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 72
  • 73. Capers Jones’ Estimating Rules of Thumb • Empirical rules: • Formulated based on observations • No scientific basis • Because of their simplicity,: • These rules are handy to use for making off-hand estimates. • Give an insight into many aspects of a project for which no formal methodologies exist yet. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 73
  • 74. Capers Jones’ Rules • Rule 1: SLOC-function point equivalence: • One function point = 125 SLOC for C programs. • Rule 2: Project duration estimation: • Function points raised to the power 0.4 predicts the approximate development time in calendar months. • Rule 3: Rate of requirements creep: • User requirements creep in at an average rate of 2% per month from the design through coding phases. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 74
  • 75. Capers Jones’ Rules • Rule 4: Defect removal efficiency: • Each software review, inspection, or test step will find and remove 30% of the bugs that are present. • Rule 5: Project manpower estimation: • The size of the software (in function points) divided by 150 predicts the approximate number of personnel required for developing the application. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017
  • 76. Capers’ Jones Rules • Rule 6: Number of personnel for maintenance • Function points divided by 500 predicts the approximate number of personnel required for regular maintenance activities. • Rule 7: Software development effort estimation: • The approximate number of staff months of effort required to develop a software is given by the software development time multiplied with the number of personnel required. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017
  • 77. SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 77 Some conclusions: how to review estimates Ask the following questions about an estimate • What are the task size drivers? • What productivity rates have been used? • Is there an example of a previous project of about the same size? • Are there examples of where the productivity rates used have actually been found?
  • 78. End of Unit 2 SPM (6e) Software effort estimation© The McGraw-Hill Companies, 2017 78