3. Project Estimation
Kasun Ranga Wijeweera
(krw19870829@gmail.com)
Why We Need Estimation?
• Large software systems usually take 200-
300% cost overruns and a 100% schedule slip
• 15% of large projects fail without delivering
anything
• Failures occur basically due to poor
management and inaccurate estimations of
development cost and development schedule
• Developers have to pay the price in schedule
slips
Estimation Problems
• Software cost prediction
• Software schedule prediction
• Software risk control
• Progress tracking
• Project management
Software Cost
• Hardware and software
• Travel and training
• Effort: (dominant factor)
– Salaries of engineers
– Social and insurance
• Other
– Building, heating, lighting
– Networking and communications
– Shared facilities (E.g. library, restaurant)
Cost and Price
• The relationship between the software
development cost and charged price from the
customer is not simple
• Price is influenced by
– Organization
– Economy
– Politics
– Business considerations
Pricing Factors
• Market opportunity
– Accepting low profit on one project may give the
opportunity of more profit later
– Gaining experience
– Wish of moving into a new segment in market
• Cost estimate uncertainty
– Unsure cost estimate can lead expecting higher
than normal profit
Pricing Factors…
• Contractual terms
– Customer allows developers to retain the
ownership of the source code and reuse it in other
projects
• Requirements volatility
– Requirements are likely to change
– Price can be lowered to win the contract
– Higher prices can be charged later for changing
requirements
Pricing Factors…
• Financial health
– Developers may be in financial difficulty
– Price can be lowered to win the contract
– Better to make smaller profit than normal profit
than to go out of business
– Break even may also be a solution
Estimation Models
• Expert judgment
• Analogy
• Parkinson’s law
• Price to win
Expert Judgment
• Experts in both software development and
application domain use their experience
• Advantages
– Relatively cheap
– Accurate if they have knowledge in similar
systems
• Disadvantages
– If there are no experts!
Analogy
• The project is compared to a similar project in
the same application domain
• Advantages
– Accurate if project data is available and
people/tools are the same
• Disadvantages
– Impossible without a similar project available
– Systematically maintained cost database is
necessary
Parkinson’s Law
• Whatever the resources available is the cost of
the project
• Advantages
– No need to overspend
• Disadvantages
– System is usually unfinished
Cost Pricing to Win
• Whatever the customer is able to spend is the
cost of the project
• Advantages
– Can get the contract
• Disadvantages
– Customer satisfaction of the product is less
– Cost does not reflect the work required
Algorithmic Cost Modeling
• A mathematical function is used to estimate
the cost
– Inputs: Project, Process, Product
– Decided by project managers
• Historical data are studied to derive the
function
• Commonly used product attribute is LOC
(code size)
Software Productivity
• The rate at which individual software
engineers involve in development process is
known as software productivity
• Although quality assurance is a factor in
productivity assessment, the productivity is not
quality oriented
• The useful functionality produced per time unit
should be measured
Productivity Measures
• Size related measures:
– Lines of delivered source code
– Object code instructions
– Etc
• Function related measures:
– Functionality of the delivered software
– E.g. Function points
Lines of Code
• What programs should be considered as part of
the system?
• Assumption of the model:
– The relationship between system size and volume
of documentation is linear
• Key thing to remember:
– Uncertainty is more important than the initial line
– Seek justifiable bounds
Productivity Comparison
• Low level language verses high level language
• Verbose code verses compact code
Function Points
• Program characteristics are considered
– External inputs and outputs
– User interactions
– External interfaces
– Files used by the system
• Corresponding weights are assigned to each
characteristic
FPs and LOC
• FPs can be used to estimate LOC
– LOC = AVC * (Number of FPs)
– AVC is a factor which depends on the
programming language
• Assembly language: AVC = 200 to 300
• 4 GL language: AVC = 2 to 40
• FPs are subjective and dependent on the
estimator
– FP automation is impossible
Productivity Estimates
• Real time embedded systems
– 40 to 60 LOC per month
• Systems programs
– 150 to 400 LOC per month
• Commercial applications
– 200 to 900 LOC per month
Productivity Factors
• Application domain experience
• Process quality
• Product size
• Technology support
• Working environment
Changing Technologies
• Previous estimating experience does not carry
over to new systems due to changes in
technology
– Use of web services
– Use of CASE tools and program generators
– Development for and with reuse
– Using scripting languages
COCOMO
• Constructive Cost Model (COCOMO)
• Estimates are derived as functions of variables
• Data of past projects must be available
• First published by Dr. Barry Boehm in 1981
• Derived through statistical regression of data
from 63 past projects
Example
Size 2000
SLOC
8000
SLOC
32000
SLOC
128000
SLOC
MM 5 21 91 392
Schedule
Months
5 8 14 24
Staff 1.1 2.7 6.5 16
SLOC/
MM
400 376 352 327
Basic Effort Equation
• (Effort) = A * (Size) ^ (Exponent)
• (Effort) = (EAF) * A * (Size) ^ (Exponent)
• Estimates the man-months (MM) of effort for
software development project
– 1 MM = 152 hours of development
• Size is the source lines of code (SLOC)
Modes and Models of COCOMO
• Three modes
– Organic mode
– Semidetached mode
– Embedded mode
• Three models
– Basic model
– Intermediate model
– Detailed model
Modes of COCOMO
• Organic mode
– Similar to an earlier project
– Familiar and stable environment
– E.g. Accounting system
• Semidetached mode
– Between Organic and Embedded modes
• Embedded mode
– New project involving new inventions
– E.g. Real-time systems
Models of COCOMO
• Basic model
– Roughly estimates project cost, performance and
schedule
• Intermediate model
– EAF (Effort Adjustment Factor) is used from 15
cost drivers
• Detailed model
– Different Effort Multipliers are used for each phase
of project
Effort Equation : Basic
• (Effort) = A * (Size) ^ (Exponent)
• A is a constant which depends on the mode of
development
– Organic: 2.4, Semidetached: 3.0, Embedded: 3.6
• (Exponent) is also a constant which depends
on the mode of development
– Organic: 1.05, Semidetached: 1.12, Embedded:
1.20
• Size should be in KSLOC (1000 SLOC)
Schedule Equation : Basic
• Minimum time to develop (MTDEV)
• (MTDEV) = 2.5 * (Effort) ^ (Exponent)
• Exponent is a constant which depends on the
mode
– Organic: 0.38, Semidetached: 0.35, Embedded:
0.32
• 2.5 is constant for all modes
• MTDEV is independent from the number of
people assigned
Effort Equation : Intermediate
• (Effort) = (EAF) * A * (Size) ^ (Exponent)
• A is a constant which depends on the mode of
development
– Organic: 3.2, Semidetached: 3.0, Embedded: 2.8
• (Exponent) is also a constant which depends
on the mode of development
– Organic: 1.05, Semidetached: 1.12, Embedded:
1.20
• Size should be in KSLOC (1000 SLOC)
EAF (Effort Adjustment Factor)
• EAF = Product of effort multipliers
Schedule Equation : Intermediate
• Minimum time to develop (MTDEV)
• (MTDEV) = 2.5 * (Effort) ^ (Exponent)
• Exponent is a constant which depends on the
mode
– Organic: 0.38, Semidetached: 0.35, Embedded:
0.32
• 2.5 is constant for all modes
• MTDEV is independent from the number of
people assigned
Tool Demonstration
http://sunset.usc.edu/research/COCOMOII/expert_co
como/expert_cocomo2000.html
Thank you!

More Related Content

PPT
Scrum In 15 Minutes
PPTX
Basic Software Effort Estimation
PPTX
Software project estimation
PPT
project planning-estimation
PPT
Software Estimation Techniques
PPTX
Agile Project Management
PPTX
Agile methodology
PPT
Software estimation
Scrum In 15 Minutes
Basic Software Effort Estimation
Software project estimation
project planning-estimation
Software Estimation Techniques
Agile Project Management
Agile methodology
Software estimation

What's hot (20)

PDF
Project Evaluation and Estimation in Software Development
PPTX
Introduction to Agile Software Development
PPTX
Introduction to Scrum.ppt
PPTX
PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PPTX
Scrum role introduction – the scrum master
PPT
Software Engineering (Project Scheduling)
PPT
Software development life cycle
PPTX
Project management and control
PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PPT
Project Management Control
PPT
Software Quality Metrics
PPTX
Software quality assurance
PPTX
Software Development Life Cycle-SDLC
PDF
Spm software effort estimation
PPTX
Software Quality Assurance: A mind game between you and devil
PPT
Software Quality Assurance
PDF
PMP_Project Cost Management
PPTX
Software Project Management
Project Evaluation and Estimation in Software Development
Introduction to Agile Software Development
Introduction to Scrum.ppt
MG6088 SOFTWARE PROJECT MANAGEMENT
Scrum role introduction – the scrum master
Software Engineering (Project Scheduling)
Software development life cycle
Project management and control
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
Project Management Control
Software Quality Metrics
Software quality assurance
Software Development Life Cycle-SDLC
Spm software effort estimation
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance
PMP_Project Cost Management
Software Project Management
Ad

Viewers also liked (20)

PPT
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
PPSX
Zeeshan Estimation
PPTX
Cocomo2
PDF
Cii modelma
PPTX
Cocomo ii
PPTX
Bronquiolíte viral viral aguda
PPT
A Hybrid Approach to Expert and Model Based Effort Estimation
PPT
Software Project Cost Estimation
PPT
Software Estimation Part I
PDF
Software Project Estimation
PDF
Core exercises: Beyond your average abs routine
PPTX
Estimation in Project Management
PPTX
Gayatri quikr ppt[1]
PPTX
Wt5912 section drawing
PPT
Software Project Estimation Survival Guide
PPTX
Stability strategy abhishek prakash02
PPT
Cs presentation
PPTX
Civil tenders and contracts spce
PPT
Cocomo II
PPT
Unit2 140919045718-phpapp01
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Zeeshan Estimation
Cocomo2
Cii modelma
Cocomo ii
Bronquiolíte viral viral aguda
A Hybrid Approach to Expert and Model Based Effort Estimation
Software Project Cost Estimation
Software Estimation Part I
Software Project Estimation
Core exercises: Beyond your average abs routine
Estimation in Project Management
Gayatri quikr ppt[1]
Wt5912 section drawing
Software Project Estimation Survival Guide
Stability strategy abhishek prakash02
Cs presentation
Civil tenders and contracts spce
Cocomo II
Unit2 140919045718-phpapp01
Ad

Similar to Project Estimation (20)

PPTX
Algorithmic Software Cost Modeling
PPT
Project Estimation.ppt
PPT
Project Estimation.ppt
PPT
Software cost estimation project
PPT
21UCAE52 Software Project Management.ppt
PPT
Software Cost Estimation in Software Engineering SE23
PDF
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
PPT
itec513 fall20172018 COCOMO model estimation.ppt
PPT
Chapter 3- Software Project Management(Reduced).ppt
PPT
cost factor.ppt
PPT
spm cost estmate slides for bca 4-195245927.ppt
PPTX
Software cost estimation
PPT
LECT9.ppt
PPT
Ch26
PPT
lec4.ppt
PPTX
3. Lect 29_ 30_ 32 Project Planning.pptx
PPSX
Cost estimation
PPTX
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
PPTX
Software Engineering Fundamentals in Computer Science
PPTX
Algorithmic Software Cost Modeling
Project Estimation.ppt
Project Estimation.ppt
Software cost estimation project
21UCAE52 Software Project Management.ppt
Software Cost Estimation in Software Engineering SE23
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
itec513 fall20172018 COCOMO model estimation.ppt
Chapter 3- Software Project Management(Reduced).ppt
cost factor.ppt
spm cost estmate slides for bca 4-195245927.ppt
Software cost estimation
LECT9.ppt
Ch26
lec4.ppt
3. Lect 29_ 30_ 32 Project Planning.pptx
Cost estimation
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Software Engineering Fundamentals in Computer Science

More from Kasun Ranga Wijeweera (20)

PDF
Decorator Design Pattern in C#
PDF
Singleton Design Pattern in C#
PDF
Introduction to Design Patterns
PPTX
Algorithms for Convex Partitioning of a Polygon
PDF
Geometric Transformations II
PDF
Geometric Transformations I
PDF
Introduction to Polygons
PDF
Bresenham Line Drawing Algorithm
PDF
Digital Differential Analyzer Line Drawing Algorithm
PDF
Loops in Visual Basic: Exercises
PDF
Conditional Logic: Exercises
PDF
Getting Started with Visual Basic Programming
PDF
CheckBoxes and RadioButtons
PDF
Variables in Visual Basic Programming
PDF
Loops in Visual Basic Programming
PDF
Conditional Logic in Visual Basic Programming
PDF
Assignment for Variables
PDF
Assignment for Factory Method Design Pattern in C# [ANSWERS]
PDF
Assignment for Events
PDF
Mastering Arrays Assignment
Decorator Design Pattern in C#
Singleton Design Pattern in C#
Introduction to Design Patterns
Algorithms for Convex Partitioning of a Polygon
Geometric Transformations II
Geometric Transformations I
Introduction to Polygons
Bresenham Line Drawing Algorithm
Digital Differential Analyzer Line Drawing Algorithm
Loops in Visual Basic: Exercises
Conditional Logic: Exercises
Getting Started with Visual Basic Programming
CheckBoxes and RadioButtons
Variables in Visual Basic Programming
Loops in Visual Basic Programming
Conditional Logic in Visual Basic Programming
Assignment for Variables
Assignment for Factory Method Design Pattern in C# [ANSWERS]
Assignment for Events
Mastering Arrays Assignment

Recently uploaded (20)

PDF
August -2025_Top10 Read_Articles_ijait.pdf
PPTX
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
PDF
Prof. Dr. KAYIHURA A. SILAS MUNYANEZA, PhD..pdf
PPTX
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
PDF
Computer System Architecture 3rd Edition-M Morris Mano.pdf
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
PDF
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
PPTX
CONTRACTS IN CONSTRUCTION PROJECTS: TYPES
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PDF
Computer organization and architecuture Digital Notes....pdf
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PDF
Soil Improvement Techniques Note - Rabbi
PDF
Design of Material Handling Equipment Lecture Note
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PPTX
Feature types and data preprocessing steps
PPTX
wireless networks, mobile computing.pptx
PDF
Introduction to Power System StabilityPS
PPTX
mechattonicsand iotwith sensor and actuator
August -2025_Top10 Read_Articles_ijait.pdf
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
Prof. Dr. KAYIHURA A. SILAS MUNYANEZA, PhD..pdf
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
Computer System Architecture 3rd Edition-M Morris Mano.pdf
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
"Array and Linked List in Data Structures with Types, Operations, Implementat...
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
CONTRACTS IN CONSTRUCTION PROJECTS: TYPES
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
Computer organization and architecuture Digital Notes....pdf
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
Soil Improvement Techniques Note - Rabbi
Design of Material Handling Equipment Lecture Note
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
Feature types and data preprocessing steps
wireless networks, mobile computing.pptx
Introduction to Power System StabilityPS
mechattonicsand iotwith sensor and actuator

Project Estimation

  • 1. 3. Project Estimation Kasun Ranga Wijeweera (krw19870829@gmail.com)
  • 2. Why We Need Estimation? • Large software systems usually take 200- 300% cost overruns and a 100% schedule slip • 15% of large projects fail without delivering anything • Failures occur basically due to poor management and inaccurate estimations of development cost and development schedule • Developers have to pay the price in schedule slips
  • 3. Estimation Problems • Software cost prediction • Software schedule prediction • Software risk control • Progress tracking • Project management
  • 4. Software Cost • Hardware and software • Travel and training • Effort: (dominant factor) – Salaries of engineers – Social and insurance • Other – Building, heating, lighting – Networking and communications – Shared facilities (E.g. library, restaurant)
  • 5. Cost and Price • The relationship between the software development cost and charged price from the customer is not simple • Price is influenced by – Organization – Economy – Politics – Business considerations
  • 6. Pricing Factors • Market opportunity – Accepting low profit on one project may give the opportunity of more profit later – Gaining experience – Wish of moving into a new segment in market • Cost estimate uncertainty – Unsure cost estimate can lead expecting higher than normal profit
  • 7. Pricing Factors… • Contractual terms – Customer allows developers to retain the ownership of the source code and reuse it in other projects • Requirements volatility – Requirements are likely to change – Price can be lowered to win the contract – Higher prices can be charged later for changing requirements
  • 8. Pricing Factors… • Financial health – Developers may be in financial difficulty – Price can be lowered to win the contract – Better to make smaller profit than normal profit than to go out of business – Break even may also be a solution
  • 9. Estimation Models • Expert judgment • Analogy • Parkinson’s law • Price to win
  • 10. Expert Judgment • Experts in both software development and application domain use their experience • Advantages – Relatively cheap – Accurate if they have knowledge in similar systems • Disadvantages – If there are no experts!
  • 11. Analogy • The project is compared to a similar project in the same application domain • Advantages – Accurate if project data is available and people/tools are the same • Disadvantages – Impossible without a similar project available – Systematically maintained cost database is necessary
  • 12. Parkinson’s Law • Whatever the resources available is the cost of the project • Advantages – No need to overspend • Disadvantages – System is usually unfinished
  • 13. Cost Pricing to Win • Whatever the customer is able to spend is the cost of the project • Advantages – Can get the contract • Disadvantages – Customer satisfaction of the product is less – Cost does not reflect the work required
  • 14. Algorithmic Cost Modeling • A mathematical function is used to estimate the cost – Inputs: Project, Process, Product – Decided by project managers • Historical data are studied to derive the function • Commonly used product attribute is LOC (code size)
  • 15. Software Productivity • The rate at which individual software engineers involve in development process is known as software productivity • Although quality assurance is a factor in productivity assessment, the productivity is not quality oriented • The useful functionality produced per time unit should be measured
  • 16. Productivity Measures • Size related measures: – Lines of delivered source code – Object code instructions – Etc • Function related measures: – Functionality of the delivered software – E.g. Function points
  • 17. Lines of Code • What programs should be considered as part of the system? • Assumption of the model: – The relationship between system size and volume of documentation is linear • Key thing to remember: – Uncertainty is more important than the initial line – Seek justifiable bounds
  • 18. Productivity Comparison • Low level language verses high level language • Verbose code verses compact code
  • 19. Function Points • Program characteristics are considered – External inputs and outputs – User interactions – External interfaces – Files used by the system • Corresponding weights are assigned to each characteristic
  • 20. FPs and LOC • FPs can be used to estimate LOC – LOC = AVC * (Number of FPs) – AVC is a factor which depends on the programming language • Assembly language: AVC = 200 to 300 • 4 GL language: AVC = 2 to 40 • FPs are subjective and dependent on the estimator – FP automation is impossible
  • 21. Productivity Estimates • Real time embedded systems – 40 to 60 LOC per month • Systems programs – 150 to 400 LOC per month • Commercial applications – 200 to 900 LOC per month
  • 22. Productivity Factors • Application domain experience • Process quality • Product size • Technology support • Working environment
  • 23. Changing Technologies • Previous estimating experience does not carry over to new systems due to changes in technology – Use of web services – Use of CASE tools and program generators – Development for and with reuse – Using scripting languages
  • 24. COCOMO • Constructive Cost Model (COCOMO) • Estimates are derived as functions of variables • Data of past projects must be available • First published by Dr. Barry Boehm in 1981 • Derived through statistical regression of data from 63 past projects
  • 25. Example Size 2000 SLOC 8000 SLOC 32000 SLOC 128000 SLOC MM 5 21 91 392 Schedule Months 5 8 14 24 Staff 1.1 2.7 6.5 16 SLOC/ MM 400 376 352 327
  • 26. Basic Effort Equation • (Effort) = A * (Size) ^ (Exponent) • (Effort) = (EAF) * A * (Size) ^ (Exponent) • Estimates the man-months (MM) of effort for software development project – 1 MM = 152 hours of development • Size is the source lines of code (SLOC)
  • 27. Modes and Models of COCOMO • Three modes – Organic mode – Semidetached mode – Embedded mode • Three models – Basic model – Intermediate model – Detailed model
  • 28. Modes of COCOMO • Organic mode – Similar to an earlier project – Familiar and stable environment – E.g. Accounting system • Semidetached mode – Between Organic and Embedded modes • Embedded mode – New project involving new inventions – E.g. Real-time systems
  • 29. Models of COCOMO • Basic model – Roughly estimates project cost, performance and schedule • Intermediate model – EAF (Effort Adjustment Factor) is used from 15 cost drivers • Detailed model – Different Effort Multipliers are used for each phase of project
  • 30. Effort Equation : Basic • (Effort) = A * (Size) ^ (Exponent) • A is a constant which depends on the mode of development – Organic: 2.4, Semidetached: 3.0, Embedded: 3.6 • (Exponent) is also a constant which depends on the mode of development – Organic: 1.05, Semidetached: 1.12, Embedded: 1.20 • Size should be in KSLOC (1000 SLOC)
  • 31. Schedule Equation : Basic • Minimum time to develop (MTDEV) • (MTDEV) = 2.5 * (Effort) ^ (Exponent) • Exponent is a constant which depends on the mode – Organic: 0.38, Semidetached: 0.35, Embedded: 0.32 • 2.5 is constant for all modes • MTDEV is independent from the number of people assigned
  • 32. Effort Equation : Intermediate • (Effort) = (EAF) * A * (Size) ^ (Exponent) • A is a constant which depends on the mode of development – Organic: 3.2, Semidetached: 3.0, Embedded: 2.8 • (Exponent) is also a constant which depends on the mode of development – Organic: 1.05, Semidetached: 1.12, Embedded: 1.20 • Size should be in KSLOC (1000 SLOC)
  • 33. EAF (Effort Adjustment Factor) • EAF = Product of effort multipliers
  • 34. Schedule Equation : Intermediate • Minimum time to develop (MTDEV) • (MTDEV) = 2.5 * (Effort) ^ (Exponent) • Exponent is a constant which depends on the mode – Organic: 0.38, Semidetached: 0.35, Embedded: 0.32 • 2.5 is constant for all modes • MTDEV is independent from the number of people assigned