SlideShare a Scribd company logo
1 of 25
Download to read offline
"
Chapter 5: Software
effort estimation
NET481: Project Management
Afnan Albahli
Topics to be covered
  Difficulties of Estimation‭ ‬
  Where are estimates done?
  Problems of over- and under- estimate
  Estimation techniques
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
2
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
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
3
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
  effort‭ affects Cost
  An estimate of
  activity durations‭ affects The delivery time
4
Some problems with estimating
  Nature of software‭. ‬
  Complexity and invisibility of software‭.
  Subjective nature of much of estimating
  Over-estimating small tasks and‭
  Under-estimating large ones‭.
  Political pressures
  Different objectives of people in an organization‭
  Managers may wish to reduce estimated costs in order to win
support for acceptance of a project proposal
‬ ‬
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
5
Some problems with estimating
  Changing technologies
  Technology is rapidly changing‭, ‬making the experience
of previous‭ ‬project estimates difficult to use in new ones‭. ‬
  Projects differ
  Experience on one project may not be applicable to
another
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
6
Where are estimates done‭?
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 ‬
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
7
Where are estimates done‭?
  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‭
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
8
Where are estimates done‭?
  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
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
9
Where are estimates done‭?
  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)
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
10
Over- and under- estimating
  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‭
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
11
Over- and under- estimating
  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 (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
12
Basis for successful estimating
A.  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
13
Basis for successful estimating
B.  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:
(‬
a)
S
LOC OR KLOC‭: ‬Source lines of code or thousands of lines of‭
code
(‬b) Alternative size measure is Function Points‭ (‬FP‭)
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
14
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’
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
15
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 (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
16
Bottom-up estimating
1. Break project into smaller and smaller components
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 (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
17
Top-down Estimation‭
  It is associated with parametric or algorithmic models‭.
  A formula for a parametric model‭:
  Effort‭ = (‬System Size‭) * (‬Productivity Rate‭)
  The model of forecasting the SW development effort has
two components
  System size is a method of assessing the amount of‭ work
  Productivity rate is a method of assessing the rate of‭ work at
which the task can be done‭
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
18
Top-down Estimation‭
  Example:
System Size‭ = ‬3‭ ‬KLOC‭.‭
Productivity Rate‭ = ‬40‭ ‬days per KLOC‭.
Effort‭ = (‬System Size‭) * (‬Productivity Rate‭)
Effort‭ = ‬3‭* ‬40‭ =‬120‭ ‬Days‭.
System Size is a size driver‭.
Productivity Rate is a productivity driver‭.
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
19
Top-down Estimation‭
  Other parametric models‭:
  Function points is concerned more with task sizes‭.
  COCOMO is concerned more with productivity rate‭.
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
20
Top-down estimates
  Produce overall
estimate using effort
driver(s)
  distribute proportions
of overall estimate to
components
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
21
design code
overall
project
test
Estimate
100 days
30%
i.e.
30 days
30%
i.e.
30 days
40%
i.e. 40 days
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
22
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_parameter‭n -‬source_parameter‭n )‬2‭ )‬
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
23
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
24
Answer
  Distance between new project and project A‭:
  Square-root of‭ ((‬7-8‭) ‬2‭ + (‬15-17‭) ‬2‭)= ‬2.24‭
  Distance between new project and project B‭:
  Square-root of‭ ((‬7-5‭) ‬2‭ + (‬15-10‭) ‬2‭)= ‬5.39
Project A is a better match because it has less distance than project B to
the new project‭
SPM (5e) Software effort estimation©
The McGraw-Hill Companies, 2009
25

More Related Content

What's hot

Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
koolkampus
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
saurabhshertukde
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
Syed Muhammad Hammad
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
Besharam Dil
 

What's hot (20)

Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Selection of an appropriate project approach
Selection of an appropriate project approachSelection of an appropriate project approach
Selection of an appropriate project approach
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
 
Artificial Intelligence 1 Planning In The Real World
Artificial Intelligence 1 Planning In The Real WorldArtificial Intelligence 1 Planning In The Real World
Artificial Intelligence 1 Planning In The Real World
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Visualizing Progress.pptx
Visualizing Progress.pptxVisualizing Progress.pptx
Visualizing Progress.pptx
 
SPM Activity Planning Introduction
SPM Activity Planning IntroductionSPM Activity Planning Introduction
SPM Activity Planning Introduction
 
Software Project Management: Risk Management
Software Project Management: Risk ManagementSoftware Project Management: Risk Management
Software Project Management: Risk Management
 
Resource Allocation In Software Project Management
Resource Allocation In Software Project ManagementResource Allocation In Software Project Management
Resource Allocation In Software Project Management
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 

Similar to software-effort_estimation(updated)9 ch05

A new model for software costestimation
A new model for software costestimationA new model for software costestimation
A new model for software costestimation
ijfcstjournal
 
A NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCH
A NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCHA NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCH
A NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCH
ijfcstjournal
 

Similar to software-effort_estimation(updated)9 ch05 (20)

dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
dokumen.tips_spm-5e-software-effort-estimation-the-mcgraw-hill-companies-2009...
 
Chapter 05 Software effort estimation PartII_final
Chapter 05 Software effort estimation PartII_finalChapter 05 Software effort estimation PartII_final
Chapter 05 Software effort estimation PartII_final
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
 
Unit 5
Unit   5Unit   5
Unit 5
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2
 
Sm presentation
Sm presentationSm presentation
Sm presentation
 
Lecture5
Lecture5Lecture5
Lecture5
 
estimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxestimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptx
 
Comparison of available Methods to Estimate Effort, Performance and Cost with...
Comparison of available Methods to Estimate Effort, Performance and Cost with...Comparison of available Methods to Estimate Effort, Performance and Cost with...
Comparison of available Methods to Estimate Effort, Performance and Cost with...
 
A new model for software costestimation
A new model for software costestimationA new model for software costestimation
A new model for software costestimation
 
A NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCH
A NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCHA NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCH
A NEW MODEL FOR SOFTWARE COSTESTIMATION USING HARMONY SEARCH
 
Spm
Spm Spm
Spm
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Chapter 2 -project evaluation
Chapter 2 -project evaluationChapter 2 -project evaluation
Chapter 2 -project evaluation
 
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
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...
 
005614116.pdf
005614116.pdf005614116.pdf
005614116.pdf
 
03 estimation.pdf
03 estimation.pdf03 estimation.pdf
03 estimation.pdf
 

More from Shahid Riaz

More from Shahid Riaz (20)

Shimla deputation (1906)
Shimla deputation (1906)Shimla deputation (1906)
Shimla deputation (1906)
 
#Syed ahmad shaheed barailvi
#Syed ahmad shaheed barailvi#Syed ahmad shaheed barailvi
#Syed ahmad shaheed barailvi
 
How to program in c++ with 100 examples
How to program in c++ with 100 examples  How to program in c++ with 100 examples
How to program in c++ with 100 examples
 
Virtual private networks in theory and practice
Virtual private networks in theory and practiceVirtual private networks in theory and practice
Virtual private networks in theory and practice
 
Database systems administration week 1
Database systems administration week 1Database systems administration week 1
Database systems administration week 1
 
Database systems administration traning 02
Database systems administration traning 02Database systems administration traning 02
Database systems administration traning 02
 
Database systems administration traning 02
Database systems administration traning 02Database systems administration traning 02
Database systems administration traning 02
 
Database systems administration traning 01
Database systems administration traning 01Database systems administration traning 01
Database systems administration traning 01
 
Database systems administration traning 0
Database systems administration traning 0Database systems administration traning 0
Database systems administration traning 0
 
Database systems administration traning 04
Database systems administration traning  04Database systems administration traning  04
Database systems administration traning 04
 
Managing people and organizing team
Managing people and organizing teamManaging people and organizing team
Managing people and organizing team
 
Lec 1 intro to internet
Lec 1 intro to internetLec 1 intro to internet
Lec 1 intro to internet
 
Course guidlines course book it 3548
Course guidlines course book it 3548Course guidlines course book it 3548
Course guidlines course book it 3548
 
Lecture12 software design class diagram
Lecture12 software design class diagramLecture12 software design class diagram
Lecture12 software design class diagram
 
Lecture11 use case sequence diagram
Lecture11 use case sequence diagramLecture11 use case sequence diagram
Lecture11 use case sequence diagram
 
Lecture10 use case model operation contracts
Lecture10 use case model operation contractsLecture10 use case model operation contracts
Lecture10 use case model operation contracts
 
Lecture9 domain model visualizing
Lecture9 domain model visualizingLecture9 domain model visualizing
Lecture9 domain model visualizing
 
Lecture8 system sequence
Lecture8 system sequenceLecture8 system sequence
Lecture8 system sequence
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
Lecture6 activity diagrams
Lecture6 activity diagramsLecture6 activity diagrams
Lecture6 activity diagrams
 

Recently uploaded

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
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
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
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
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

software-effort_estimation(updated)9 ch05

  • 1. " Chapter 5: Software effort estimation NET481: Project Management Afnan Albahli
  • 2. Topics to be covered   Difficulties of Estimation‭ ‬   Where are estimates done?   Problems of over- and under- estimate   Estimation techniques SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 2
  • 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 SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 3 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   effort‭ affects Cost   An estimate of   activity durations‭ affects The delivery time 4
  • 5. Some problems with estimating   Nature of software‭. ‬   Complexity and invisibility of software‭.   Subjective nature of much of estimating   Over-estimating small tasks and‭   Under-estimating large ones‭.   Political pressures   Different objectives of people in an organization‭   Managers may wish to reduce estimated costs in order to win support for acceptance of a project proposal ‬ ‬ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 5
  • 6. Some problems with estimating   Changing technologies   Technology is rapidly changing‭, ‬making the experience of previous‭ ‬project estimates difficult to use in new ones‭. ‬   Projects differ   Experience on one project may not be applicable to another SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 6
  • 7. Where are estimates done‭? 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 ‬ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 7
  • 8. Where are estimates done‭?   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‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 8
  • 9. Where are estimates done‭?   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 SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 9
  • 10. Where are estimates done‭?   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) SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 10
  • 11. Over- and under- estimating   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‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 11
  • 12. Over- and under- estimating   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 (5e) Software effort estimation© The McGraw-Hill Companies, 2009 12
  • 13. Basis for successful estimating A.  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 13
  • 14. Basis for successful estimating B.  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: (‬ a) S LOC OR KLOC‭: ‬Source lines of code or thousands of lines of‭ code (‬b) Alternative size measure is Function Points‭ (‬FP‭) SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 14
  • 15. 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’ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 15
  • 16. 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 (5e) Software effort estimation© The McGraw-Hill Companies, 2009 16
  • 17. Bottom-up estimating 1. Break project into smaller and smaller components 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 (5e) Software effort estimation© The McGraw-Hill Companies, 2009 17
  • 18. Top-down Estimation‭   It is associated with parametric or algorithmic models‭.   A formula for a parametric model‭:   Effort‭ = (‬System Size‭) * (‬Productivity Rate‭)   The model of forecasting the SW development effort has two components   System size is a method of assessing the amount of‭ work   Productivity rate is a method of assessing the rate of‭ work at which the task can be done‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 18
  • 19. Top-down Estimation‭   Example: System Size‭ = ‬3‭ ‬KLOC‭.‭ Productivity Rate‭ = ‬40‭ ‬days per KLOC‭. Effort‭ = (‬System Size‭) * (‬Productivity Rate‭) Effort‭ = ‬3‭* ‬40‭ =‬120‭ ‬Days‭. System Size is a size driver‭. Productivity Rate is a productivity driver‭. SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 19
  • 20. Top-down Estimation‭   Other parametric models‭:   Function points is concerned more with task sizes‭.   COCOMO is concerned more with productivity rate‭. SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 20
  • 21. Top-down estimates   Produce overall estimate using effort driver(s)   distribute proportions of overall estimate to components SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 21 design code overall project test Estimate 100 days 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days
  • 22. 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 22
  • 23. 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_parameter‭n -‬source_parameter‭n )‬2‭ )‬ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 23
  • 24. 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 24
  • 25. Answer   Distance between new project and project A‭:   Square-root of‭ ((‬7-8‭) ‬2‭ + (‬15-17‭) ‬2‭)= ‬2.24‭   Distance between new project and project B‭:   Square-root of‭ ((‬7-5‭) ‬2‭ + (‬15-10‭) ‬2‭)= ‬5.39 Project A is a better match because it has less distance than project B to the new project‭ SPM (5e) Software effort estimation© The McGraw-Hill Companies, 2009 25