Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Software cost estimation
1. HOUSTON COMMUNITY
SAIGONTECH COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
SOFTWARE COST
ESTIMATION
SEMINAR FOR
COOP EDUCATION
ITSE 1380, ITNW 1380
FALL 2005
1
2. Objectives
HOUSTON COMMUNITY
SAIGONTECH COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• To introduce cost and schedule
estimation
• To discuss the problems of
productivity estimation
• To describe several cost estimation
techniques
• To discuss the utility of algorithmic
cost modeling and its applicability in
the software process
2
3. Cost estimation objectives
HOUSTON COMMUNITY
SAIGONTECH COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Budget
To know what you will spend
• Controls
A lever to control the project
• Differential analysis
Monitor progress by comparing planned with estimated
costs
• Cost database
Make future estimation better
• Marry costing to management
Cost estimation and planning/scheduling are closely
related activities
3
4. SAIGONTECH
Software cost components HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Hardware and software costs
• Travel and training costs
• Effort costs (the dominant factor in
most projects)
•salaries of engineers involved in the project
•costs of building, heating, lighting
•costs of networking and communications
•costs of shared facilities (e.g library, staff
restaurant, etc.)
•costs of pensions, health insurance, etc.
4
5. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Costing and pricing HOUSTON COMMUNITY
COLLEGE SYSTEM
• Estimating Cost
• Costs for developer, not buyer
• We need our costs to manage and assess
• Estimating Price
• There is not a simple relationship between
the development cost and the price
charged to the customer.
• Broader organisational, economic, political
and business considerations influence the
price charged.
5
6. SAIGONTECH
Productivity Measures HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Size-related measures
• Must be based on some output from the
software process
• Delivered source code
• Object code instructions
• Function-related measures
• Based on an estimate of the functionality of
the delivered software.
• Function-points are the best known of this
type of measure
6
7. SAIGONTECH
Lines of Codes HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
LOC = NCLOC + CLOC
• LOC: lines of code
• NCLOC: non-commented line of code
• CLOC: commented line of code
• KLOC = one thousand of line of code
7
8. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Function points HOUSTON COMMUNITY
COLLEGE SYSTEM
• Based on a combination of program
characteristics
• external inputs and outputs
• user interactions
• external interfaces
• files used by the system
• A weight is associated with each of these
• The function point count is computed by
multiplying each raw count by the weight
and summing all values
8
9. SAIGONTECH
SAIGON INSTITUTE OF
Function points HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• Function point count modified by
complexity of the project
• FPs can be used to estimate LOC
depending on the average number of
LOC per FP for a given language
• FPs are very subjective
•Depend on the estimator
•FP cannot generally be counted
automatically
9
10. SAIGONTECH
Factors affecting productivity HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
Factor Description
Application domain Knowledge of the application domain is essential for
experience effective software development. Engineers who already
understand a domain are likely to be the most productive.
Process quality The development process used can have a significant
effect on productivity. This is covered in Chapter 31.
Project size The larger a project, the more time required for team
communications. Less time is available for development
so individual productivity is reduced.
Technology support Good support technology such as CASE tools, supportive
configuration management systems, etc. can improve
productivity.
Working environment A quiet working environment with private work areas
contributes to improved productivity.
10
11. SAIGONTECH
Estimation techniques HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Expert judgement
• Estimation by analogy
• Parkinson’s Law
• Pricing to win
• Top-down estimation
• Bottom-up estimation
• Algorithmic cost modelling
11
12. SAIGONTECH
SAIGON INSTITUTE OF
Expert judgement HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• One or more experts in both software
development and the application domain use
their experience to predict software costs.
Process iterates until some consensus is
reached.
• Advantages: Relatively cheap estimation
method. Can be accurate if experts have
direct experience of similar systems
• Disadvantages: May be very costly
12
13. SAIGONTECH
Estimation by analogy HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• The cost of a project is computed by
comparing the project to a similar
project inthe same application domain
• Advantages: Accurate if project data
available
• Disadvantages: Impossible if no
comparable project has been tackled.
Needs systematically maintained cost
database
13
14. SAIGONTECH
SAIGON INSTITUTE OF
Parkinson's Law HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• The project costs whatever resources
are available
• Advantages: No overspending
• Disadvantages: System is usually
unfinished
14
15. SAIGONTECH
SAIGON INSTITUTE OF
Pricing to win HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• The project costs whatever the
customer has to spend on it
• Advantages: You get the contract
• Disadvantages: The probability that the
customer gets the system he or she
wants is small. Costs do not accurately
reflect the work required
15
16. SAIGONTECH
Top-down estimation HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Approaches may be applied using a
top-down approach. Start at system
level andwork out how the system
functionality is provided
• Takes into account costs such as
integration, configuration management
and documentation
• Can underestimate the cost of solving
difficult low-level technical problems
16
17. SAIGONTECH
Bottom-up estimation HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Start at the lowest system level. The
cost of each component is estimated
individually.These costs are summed
to give final cost estimate
• Accurate method if the system has
been designed in detail
• May underestimate costs of system
level activities such as integration and
documentation
17
18. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Estimation methods HOUSTON COMMUNITY
COLLEGE SYSTEM
– Each method has strengths and weaknesses
– Estimation should be based on several methods
– If these do not return approximately the same
result, there is insufficient information available
– Some action should be taken to find out more in
order to make more accurate estimates
– Pricing to win is sometimes the only applicable
method
18
19. SAIGONTECH
Algorithmic cost modelling HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Cost is estimated as a mathematical
function of product, project and
processattributes whose values are
estimated by project managers
• The function is derived from a study of
historical costing data
• Most commonly used product attribute
for cost estimation is LOC (code size)
• Most models are basically similar but
withdifferent attribute values
19
20. Examples of cost models HOUSTON COMMUNITY
SAIGONTECH COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• General form: E = A + B × SC
• E: Effort cost; S: Size; A, B, C: constants
Examples:
E = 5.2 x (KLOC)0.91 Walston-Felix Model
E = 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili Model
E = 3.2 x (KLOC)1.05 COCOMO Basic Model
E = 5.288 x (KLOC)1.047 Doty Model for KLOC > 9
20
21. Examples of cost models HOUSTON COMMUNITY
SAIGONTECH COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
Cost models using FP as a primary input
include (Pressman, 1997):
E = -12.39 + 0.0545 FP
Albrecht and Gaffney Model
E = 60.62 x 7.728 x 10-8 FP3
Kemerer Model
E = 585.7 + 15.12 FP
Matson, Barnett, and Mellichamp Model
21
22. SAIGONTECH
The COCOMO model HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Developed at TRW, a US defense contractor
• Based on a cost database of more than 60
different projects
• Exists in three stages
•Basic -Gives a 'ball-park' estimate based on product
attributes
•Intermediate -modifies basic estimate using project and
process attributes
•Advanced -Estimates project phases and parts separately
22
23. SAIGONTECH
The COCOMO model HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• Three modes:
– Organic mode: relatively simple projects in which small
teams work to a set of informal requirements
– Semidetached mode: an intermediate project in which
mixed teams must work to a set of rigid and less than
rigid requirements
– Embedded mode:a project that must operate within a
tight set of constraints (ie. flight control software for
aircraft).
23
24. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
BASIC COCOMO Formula HOUSTON COMMUNITY
COLLEGE SYSTEM
E = a(KLOC)b
TDEV = cEd
Mode a b c d
Organic mode 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
24
25. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
COCOMO examples HOUSTON COMMUNITY
COLLEGE SYSTEM
• Organic mode project, KLOC = 32
PM = 2.4 (32)1.05 = 91 person months
TDEV = 2.5 (91)0.38 = 14 months
N = 91/15 = 6.5 people
25
26. SAIGONTECH
SAIGON INSTITUTE OF
Intermediate COCOMO HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• Takes basic COCOMO as starting point
• Identifies personnel, product, computer
and project attributes which affect cost
• Multiplies basic cost by attribute
multipliers which may increase or
decrease costs
26
27. Effort Multipliers
HOUSTON COMMUNITY
SAIGONTECH
Cost Driver Description Rating COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY Very Low Low Nominal High Very High Extra High
Product
RELY Required software reliability 0.75 0.88 1.00 1.15 1.40 -
DATA Database size - 0.94 1.00 1.08 1.16 -
CPLX Product complexity 0.70 0.85 1.00 1.15 1.30 1.65
Computer
TIME Execution time constraint - - 1.00 1.11 1.30 1.66
STOR Main storage constraint - - 1.00 1.06 1.21 1.56
VIRT Virtual machine volatility - 0.87 1.00 1.15 1.30 -
TURN Computer turnaround time - 0.87 1.00 1.07 1.15 -
Personnel
ACAP Analyst capability 1.46 1.19 1.00 0.86 0.71 -
AEXP Applications experience 1.29 1.13 1.00 0.91 0.82 -
PCAP Programmer capability 1.42 1.17 1.00 0.86 0.70 -
VEXP Virtual machine experience 1.21 1.10 1.00 0.90 - -
LEXP Language experience 1.14 1.07 1.00 0.95 - -
Project
MODP Modern programming practices 1.24 1.10 1.00 0.91 0.82 -
TOOL Software Tools 1.24 1.10 1.00 0.91 0.83 -
SCED Development Schedule 1.23 1.08 1.00 1.04 1.10 - 27
28. SAIGONTECH
Advanced COCOMO model HOUSTON COMMUNITY
COLLEGE SYSTEM
SAIGON INSTITUTE OF
TECHNOLOGY
• The Advanced COCOMO model computes effort as a
function of program size and a set of cost drivers
weighted according to each phase of the software
lifecycle. The Advanced model applies the Intermediate
model at the component level, and then a phase-based
approach is used to consolidate the estimate (Fenton,
1997).
• The 4 phases used in the detailed COCOMO model are:
requirements planning and product design (RPD),
detailed design (DD), code and unit test (CUT), and
integration and test (IT). Each cost driver is broken down
by phase as in the example shown in Table 6 (Boehm,
1981).
28
29. Analyst capability effort multiplier HOUSTON COMMUNITY
SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
for Advanced COCOMO COLLEGE SYSTEM
Cost Driver Rating RPD DD CUT IT
Very Low 1.80 1.35 1.35 1.50
Low 0.85 0.85 0.85 1.20
ACAP Nominal 1.00 1.00 1.00 1.00
High 0.75 0.90 0.90 0.85
Very High 0.55 0.75 0.75 0.70
29
30. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Model tuning HOUSTON COMMUNITY
COLLEGE SYSTEM
• All numbers in cost model are
organization specific. The parameters
of the model must be modified to adapt
it to local needs
• A statistically significant database of
detailed cost information is necessary
30
31. SAIGONTECH
SAIGON INSTITUTE OF
Staffing requirements HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• Staff required can’t be computed by dividing
the development time by the
requiredschedule
• The number of people working on a project
varies depending on the phase of the project
• The more people who work on the project, the
more total effort is usually required
• Very rapid build-up of people often correlates
with schedule slippage
31
32. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Rayleigh curve HOUSTON COMMUNITY
COLLEGE SYSTEM
file:///F:/AAS PROGRAM/COOP-Fall 2005/Software Cost Estimation Metrics and Models_files/Rayleigh.gif
32
33. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Software Equation HOUSTON COMMUNITY
COLLEGE SYSTEM
• Putnam used some empirical observations
about productivity levels to derive the software
equation from the basic Rayleigh curve
formula (Fenton, 1997). The software
equation is expressed as: 1 4
Size = CE 3 t 3
• where C is a technology factor, E is the total
project effort in person years, and t is the
elapsed time to delivery in years.
33
34. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Technology Factor HOUSTON COMMUNITY
COLLEGE SYSTEM
The technology factor is a composite cost driver
involving 14 components. It primarily reflects:
• Overall process maturity and management practices
• The extent to which good software engineering practices
are used
• The level of programming languages used
• The state of the software environment
• The skills and experience of the software team
• The complexity of the application
• The software equation includes a fourth power and
therefore has strong implications for resource allocation
on large projects. Relatively small extensions in delivery
date can result in substantial reductions in effort
(Pressman, 1997).
34
35. SAIGONTECH
SAIGON INSTITUTE OF
TECHNOLOGY
Key points HOUSTON COMMUNITY
COLLEGE SYSTEM
• There is not a simple relationship between the
price charged for a system and its
development costs.
• Factors affecting productivity include
individual aptitude, domain experience, the
development project, the project size, tool
support and the working environment.
• Software may be priced to gain a contract and
the functionality adjusted to the price.
35
36. SAIGONTECH
SAIGON INSTITUTE OF
Key points HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• Different techniques of cost estimation should
be used when estimating costs.
• The COCOMO model takes project, product,
personnel and hardware attributes into account
when predicting effort required.
• Algorithmic cost models support quantitative
option analysis as they allow the costs of
different options to be compared.
• The time to complete a project is not
proportional to the number of people working on
the project.
36
37. SAIGONTECH
SAIGON INSTITUTE OF
Seminar Report HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
• Select any Software Cost Estimation
relating topic of your interest (may or may
not presented in the seminar)
• Write report having at least 2 pages
• Use the form from Saigontech website
• Each report must have a title
• Indicate the Week # in each report
• Indicate reference materials
37
38. SAIGONTECH
SAIGON INSTITUTE OF
Reference HOUSTON COMMUNITY
COLLEGE SYSTEM
TECHNOLOGY
Software Engineering, A Practitioner’s
Approach, 4nd Edition
Roger S. Pressman, PhD.
McGraw-Hill, 2002.
Software Engineering
Jan Sommerville
38