SlideShare a Scribd company logo
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

What's hot

Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
Muhammad Yousuf Abdul Qadir
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
Ahsan Rahim
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
ShudipPal
 
09. Project Cost Management
09. Project Cost Management09. Project Cost Management
09. Project Cost Management
BhuWan Khadka
 
Software Project Management (monitoring and control)
Software Project Management (monitoring and control)Software Project Management (monitoring and control)
Software Project Management (monitoring and control)
IsrarDewan
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle
Mohammad Hafiz-Al-Masud
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
Kanchana Devi
 
Project Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software DevelopmentProject Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software Development
Prof Ansari
 
Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
REHMAT ULLAH
 
Project scheduling and tracking
Project scheduling and trackingProject scheduling and tracking
Project scheduling and tracking
Computer_ at_home
 
Risk Management
Risk ManagementRisk Management
Risk Management
Saqib Raza
 
Selection of an appropriate project approach
Selection of an appropriate project approachSelection of an appropriate project approach
Selection of an appropriate project approach
tumetr1
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
Kathirvel Ayyaswamy
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
Kanchana Devi
 

What's hot (20)

Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
 
Stepwise planning
Stepwise planningStepwise planning
Stepwise planning
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
09. Project Cost Management
09. Project Cost Management09. Project Cost Management
09. Project Cost Management
 
Software Project Management (monitoring and control)
Software Project Management (monitoring and control)Software Project Management (monitoring and control)
Software Project Management (monitoring and control)
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
 
Project Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software DevelopmentProject Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software Development
 
Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
 
Project scheduling and tracking
Project scheduling and trackingProject scheduling and tracking
Project scheduling and tracking
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
Selection of an appropriate project approach
Selection of an appropriate project approachSelection of an appropriate project approach
Selection of an appropriate project approach
 
Spm unit 5
Spm unit 5Spm unit 5
Spm unit 5
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
07 project cost management
07 project cost management07 project cost management
07 project cost management
 
Spm unit 4
Spm unit 4Spm unit 4
Spm unit 4
 
Project scope management 1
Project scope management 1Project scope management 1
Project scope management 1
 

Viewers also liked

Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Promet Source
 
Zeeshan Estimation
Zeeshan EstimationZeeshan Estimation
Zeeshan Estimation
Federal Urdu University
 
Cocomo2
Cocomo2Cocomo2
Cocomo2
arteaga22
 
Cocomo ii
Cocomo iiCocomo ii
Cocomo ii
mireya2022
 
Bronquiolíte viral viral aguda
Bronquiolíte viral viral agudaBronquiolíte viral viral aguda
Bronquiolíte viral viral aguda
saulo vinicius
 
A Hybrid Approach to Expert and Model Based Effort Estimation
A Hybrid Approach to Expert and Model Based Effort Estimation  A Hybrid Approach to Expert and Model Based Effort Estimation
A Hybrid Approach to Expert and Model Based Effort Estimation
CS, NcState
 
Software Project Cost Estimation
Software Project Cost EstimationSoftware Project Cost Estimation
Software Project Cost Estimation
Drew Tkac
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part Isslovepk
 
Software Project Estimation
Software Project EstimationSoftware Project Estimation
Software Project Estimation
Frank Vogelezang
 
Core exercises: Beyond your average abs routine
Core exercises: Beyond your average abs routineCore exercises: Beyond your average abs routine
Core exercises: Beyond your average abs routine
Sanjiv Haribhakti
 
Estimation in Project Management
Estimation in Project ManagementEstimation in Project Management
Estimation in Project Management
Ansar Gill
 
Gayatri quikr ppt[1]
Gayatri quikr ppt[1]Gayatri quikr ppt[1]
Gayatri quikr ppt[1]
gayatri meheta
 
Wt5912 section drawing
Wt5912 section drawingWt5912 section drawing
Wt5912 section drawing
JOE LYSTER
 
Software Project Estimation Survival Guide
Software Project Estimation Survival GuideSoftware Project Estimation Survival Guide
Software Project Estimation Survival Guide
michaelcummings
 
Stability strategy abhishek prakash02
Stability strategy abhishek prakash02Stability strategy abhishek prakash02
Stability strategy abhishek prakash02
Abhishek Prakash
 
Cs presentation
Cs presentationCs presentation
Cs presentation
Tyas Dwi Astuti
 
Civil tenders and contracts spce
Civil tenders and contracts spceCivil tenders and contracts spce
Civil tenders and contracts spce
irkportal
 
Cocomo II
Cocomo IICocomo II
Cocomo II
Actimel
 
Unit2 140919045718-phpapp01
Unit2 140919045718-phpapp01Unit2 140919045718-phpapp01
Unit2 140919045718-phpapp01
Farhana Shajuti
 

Viewers also liked (20)

Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
 
Zeeshan Estimation
Zeeshan EstimationZeeshan Estimation
Zeeshan Estimation
 
Cocomo2
Cocomo2Cocomo2
Cocomo2
 
Cii modelma
Cii modelmaCii modelma
Cii modelma
 
Cocomo ii
Cocomo iiCocomo ii
Cocomo ii
 
Bronquiolíte viral viral aguda
Bronquiolíte viral viral agudaBronquiolíte viral viral aguda
Bronquiolíte viral viral aguda
 
A Hybrid Approach to Expert and Model Based Effort Estimation
A Hybrid Approach to Expert and Model Based Effort Estimation  A Hybrid Approach to Expert and Model Based Effort Estimation
A Hybrid Approach to Expert and Model Based Effort Estimation
 
Software Project Cost Estimation
Software Project Cost EstimationSoftware Project Cost Estimation
Software Project Cost Estimation
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
 
Software Project Estimation
Software Project EstimationSoftware Project Estimation
Software Project Estimation
 
Core exercises: Beyond your average abs routine
Core exercises: Beyond your average abs routineCore exercises: Beyond your average abs routine
Core exercises: Beyond your average abs routine
 
Estimation in Project Management
Estimation in Project ManagementEstimation in Project Management
Estimation in Project Management
 
Gayatri quikr ppt[1]
Gayatri quikr ppt[1]Gayatri quikr ppt[1]
Gayatri quikr ppt[1]
 
Wt5912 section drawing
Wt5912 section drawingWt5912 section drawing
Wt5912 section drawing
 
Software Project Estimation Survival Guide
Software Project Estimation Survival GuideSoftware Project Estimation Survival Guide
Software Project Estimation Survival Guide
 
Stability strategy abhishek prakash02
Stability strategy abhishek prakash02Stability strategy abhishek prakash02
Stability strategy abhishek prakash02
 
Cs presentation
Cs presentationCs presentation
Cs presentation
 
Civil tenders and contracts spce
Civil tenders and contracts spceCivil tenders and contracts spce
Civil tenders and contracts spce
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Unit2 140919045718-phpapp01
Unit2 140919045718-phpapp01Unit2 140919045718-phpapp01
Unit2 140919045718-phpapp01
 

Similar to Project Estimation

Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sakthibalabalamuruga
 
itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.ppt
inaamulh77
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Baskarkncet
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Rupesh Vaishnav
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
SIMONTHOMAS S
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
Seema Kamble
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
Daniel Ionita
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Mirza Obaid
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
saman Iftikhar
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
babak danyal
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
Shree M.L.Kakadiya MCA mahila college, Amreli
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
snehalkulkarni74
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.ppt
itadmin33
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
SADEED AMEEN
 
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
Day 1   1620 - 1705 - maple - pranabendu bhattacharyyaDay 1   1620 - 1705 - maple - pranabendu bhattacharyya
Day 1 1620 - 1705 - maple - pranabendu bhattacharyyaPMI2011
 
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02PMI_IREP_TP
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
Hem Rana
 

Similar to Project Estimation (20)

Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.ppt
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.ppt
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
Day 1   1620 - 1705 - maple - pranabendu bhattacharyyaDay 1   1620 - 1705 - maple - pranabendu bhattacharyya
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
 
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
 

More from Kasun Ranga Wijeweera

Decorator Design Pattern in C#
Decorator Design Pattern in C#Decorator Design Pattern in C#
Decorator Design Pattern in C#
Kasun Ranga Wijeweera
 
Singleton Design Pattern in C#
Singleton Design Pattern in C#Singleton Design Pattern in C#
Singleton Design Pattern in C#
Kasun Ranga Wijeweera
 
Introduction to Design Patterns
Introduction to Design PatternsIntroduction to Design Patterns
Introduction to Design Patterns
Kasun Ranga Wijeweera
 
Algorithms for Convex Partitioning of a Polygon
Algorithms for Convex Partitioning of a PolygonAlgorithms for Convex Partitioning of a Polygon
Algorithms for Convex Partitioning of a Polygon
Kasun Ranga Wijeweera
 
Geometric Transformations II
Geometric Transformations IIGeometric Transformations II
Geometric Transformations II
Kasun Ranga Wijeweera
 
Geometric Transformations I
Geometric Transformations IGeometric Transformations I
Geometric Transformations I
Kasun Ranga Wijeweera
 
Introduction to Polygons
Introduction to PolygonsIntroduction to Polygons
Introduction to Polygons
Kasun Ranga Wijeweera
 
Bresenham Line Drawing Algorithm
Bresenham Line Drawing AlgorithmBresenham Line Drawing Algorithm
Bresenham Line Drawing Algorithm
Kasun Ranga Wijeweera
 
Digital Differential Analyzer Line Drawing Algorithm
Digital Differential Analyzer Line Drawing AlgorithmDigital Differential Analyzer Line Drawing Algorithm
Digital Differential Analyzer Line Drawing Algorithm
Kasun Ranga Wijeweera
 
Loops in Visual Basic: Exercises
Loops in Visual Basic: ExercisesLoops in Visual Basic: Exercises
Loops in Visual Basic: Exercises
Kasun Ranga Wijeweera
 
Conditional Logic: Exercises
Conditional Logic: ExercisesConditional Logic: Exercises
Conditional Logic: Exercises
Kasun Ranga Wijeweera
 
Getting Started with Visual Basic Programming
Getting Started with Visual Basic ProgrammingGetting Started with Visual Basic Programming
Getting Started with Visual Basic Programming
Kasun Ranga Wijeweera
 
CheckBoxes and RadioButtons
CheckBoxes and RadioButtonsCheckBoxes and RadioButtons
CheckBoxes and RadioButtons
Kasun Ranga Wijeweera
 
Variables in Visual Basic Programming
Variables in Visual Basic ProgrammingVariables in Visual Basic Programming
Variables in Visual Basic Programming
Kasun Ranga Wijeweera
 
Loops in Visual Basic Programming
Loops in Visual Basic ProgrammingLoops in Visual Basic Programming
Loops in Visual Basic Programming
Kasun Ranga Wijeweera
 
Conditional Logic in Visual Basic Programming
Conditional Logic in Visual Basic ProgrammingConditional Logic in Visual Basic Programming
Conditional Logic in Visual Basic Programming
Kasun Ranga Wijeweera
 
Assignment for Variables
Assignment for VariablesAssignment for Variables
Assignment for Variables
Kasun Ranga Wijeweera
 
Assignment for Factory Method Design Pattern in C# [ANSWERS]
Assignment for Factory Method Design Pattern in C# [ANSWERS]Assignment for Factory Method Design Pattern in C# [ANSWERS]
Assignment for Factory Method Design Pattern in C# [ANSWERS]
Kasun Ranga Wijeweera
 
Assignment for Events
Assignment for EventsAssignment for Events
Assignment for Events
Kasun Ranga Wijeweera
 
Mastering Arrays Assignment
Mastering Arrays AssignmentMastering Arrays Assignment
Mastering Arrays Assignment
Kasun Ranga Wijeweera
 

More from Kasun Ranga Wijeweera (20)

Decorator Design Pattern in C#
Decorator Design Pattern in C#Decorator Design Pattern in C#
Decorator Design Pattern in C#
 
Singleton Design Pattern in C#
Singleton Design Pattern in C#Singleton Design Pattern in C#
Singleton Design Pattern in C#
 
Introduction to Design Patterns
Introduction to Design PatternsIntroduction to Design Patterns
Introduction to Design Patterns
 
Algorithms for Convex Partitioning of a Polygon
Algorithms for Convex Partitioning of a PolygonAlgorithms for Convex Partitioning of a Polygon
Algorithms for Convex Partitioning of a Polygon
 
Geometric Transformations II
Geometric Transformations IIGeometric Transformations II
Geometric Transformations II
 
Geometric Transformations I
Geometric Transformations IGeometric Transformations I
Geometric Transformations I
 
Introduction to Polygons
Introduction to PolygonsIntroduction to Polygons
Introduction to Polygons
 
Bresenham Line Drawing Algorithm
Bresenham Line Drawing AlgorithmBresenham Line Drawing Algorithm
Bresenham Line Drawing Algorithm
 
Digital Differential Analyzer Line Drawing Algorithm
Digital Differential Analyzer Line Drawing AlgorithmDigital Differential Analyzer Line Drawing Algorithm
Digital Differential Analyzer Line Drawing Algorithm
 
Loops in Visual Basic: Exercises
Loops in Visual Basic: ExercisesLoops in Visual Basic: Exercises
Loops in Visual Basic: Exercises
 
Conditional Logic: Exercises
Conditional Logic: ExercisesConditional Logic: Exercises
Conditional Logic: Exercises
 
Getting Started with Visual Basic Programming
Getting Started with Visual Basic ProgrammingGetting Started with Visual Basic Programming
Getting Started with Visual Basic Programming
 
CheckBoxes and RadioButtons
CheckBoxes and RadioButtonsCheckBoxes and RadioButtons
CheckBoxes and RadioButtons
 
Variables in Visual Basic Programming
Variables in Visual Basic ProgrammingVariables in Visual Basic Programming
Variables in Visual Basic Programming
 
Loops in Visual Basic Programming
Loops in Visual Basic ProgrammingLoops in Visual Basic Programming
Loops in Visual Basic Programming
 
Conditional Logic in Visual Basic Programming
Conditional Logic in Visual Basic ProgrammingConditional Logic in Visual Basic Programming
Conditional Logic in Visual Basic Programming
 
Assignment for Variables
Assignment for VariablesAssignment for Variables
Assignment for Variables
 
Assignment for Factory Method Design Pattern in C# [ANSWERS]
Assignment for Factory Method Design Pattern in C# [ANSWERS]Assignment for Factory Method Design Pattern in C# [ANSWERS]
Assignment for Factory Method Design Pattern in C# [ANSWERS]
 
Assignment for Events
Assignment for EventsAssignment for Events
Assignment for Events
 
Mastering Arrays Assignment
Mastering Arrays AssignmentMastering Arrays Assignment
Mastering Arrays Assignment
 

Recently uploaded

CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 

Recently uploaded (20)

CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 

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