Submitted by
Kiran Patel
Effort Estimation
Effort estimation is the process of predicting the
most realistic amount of effort (expressed in terms of
person-hours or money) required to develop or
maintain software based on incomplete, uncertain and
noisy input.
Why is proper effort estimation important?
Effort estimation is essential for many people and
different departments in an organization.
it is needed at various points of a project lifecycle.
 Usually, software development is priced based on the
person days, it requires in order to be built, multiplied by
a daily person day rate.
Why is proper effort estimation
important?(conti……)
 Effort estimation shows if you have the resources to
finish the project within customer or project owner
predefined time limits, based on your available man
power.
Accuracy
Effort estimation accuracy depends on available
information. Usually, you have less information before you
start the project (presales) and you have more information
while working in the project.
 Approximately 40% of industry software projects that get
cancelled are cancelled due to, partly or completely, failures in
effort estimation.
Have in mind that both low effort estimation and high effort
estimation cause troubles, and make the project take longer to
complete.
Effort Estimation method
There are a number of methods that are used for effort
estimation. All of them have pros and cons
Expert estimation: An expert on the subject of effort
gives judgment on this.
Formal estimation model: Using a proper model you
feed the system with proper data to get some estimation.
Combination-based estimation: The estimation arrives
with a mixture of both expert estimation and formal
estimation procedures .
Analogy / Comparison
 Analogy based estimation involves selecting one or
two completed projects that most closely match the
characteristics of your planned project. The chosen
project is then used as the base for your new estimate.
Comparison based estimation involves considering the
attributes of the project to be estimated, selecting projects
with similar attributes and then using the median values
for effort, duration etc. from the selected group of
projects to produce an estimate of project effort.
Assessing the accuracy of estimates
The most common measure of the average estimation
accuracy is the MMRE (Mean Magnitude of Relative Error),
where the MRE of each estimate is defined as:
MRE =
Basic COCOMO
Basic COCOMO computer software development effort
(and cost) as a function of program size. Program size is
expressed in estimated thousands of source lines of code
SLOC, KLOC.
COCOMO applies to three classes of software projects:
Organic projects - "small" teams with "good"
experience working with "less than rigid" requirements
Semi-detached projects - "medium" teams
with mixed experience working with a mix of
rigid and less than rigid requirements.
Embedded projects - developed within a set
of "tight" constraints. It is also combination of
organic and semi-detached projects.(hardware,
software, operational, ...)
• The basic COCOMO equations take the form
• Effort Applied (E) = ab(KLOC)b
b [ man-months ]
• Development Time (D) = cb(Effort Applied)d
b
[months]
• People required (P) = Effort Applied / Development
Time [count]
• where, KLOC is the estimated number of delivered
lines (expressed in thousands ) of code for project.
The coefficients ab, bb, cb and db are given in the
following table:
Software
project
ab bb cb db
Organic 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
COCOMO-II
COCOMO-II is the revised version of the original
COCOMO and is developed at university of Southern
California under the leadership of Dr. Barry Boehm.
It also provide a quantitative analytic framework, and
set of tool and technique for evaluating the effects of
software technology improvement on software life cycle
cost and schedules.
Object estimation is a relatively new size estimation
technique. It measure the size from a different dimension.
 This measurement is based on the number and
complexity of the following objects: screens, reports
components.
This measurement has been used in COCOMO II for
cost estimation.
 It is also a good match to associated prototype efforts,
Example:
A project size of 200 KLOC is to be developed. Software developed team has average experience
on similar type of projects. The project schedule is not very tight. Calculate the effort,
development time, average size and productivity of product.
Solution:
The semi-detached mode is the most appropriate mode; keeping in view the size, schedules and
experience of the development team.
Hence E =3.0(200)1.12 =1133.12 PM
D =2.5(1133.12).35 = 29.3 M
Average staff size(SS) = E/D Persons
= 1133.12/29.3 = 38.67 Persons.
Productivity = KLOC/E = 200/1133.12 =1765KLOC/PM
P = 176 LOC/PM
Conclusion
software project models and software metrics to be used
for effort and cost estimation.
No model can estimate the cost of software with high
degree of accuracy. Estimation is a complex activity
that requires knowledge of a number of key attributes.
They are especially useful when the information about
the past and/or the current situation is vague,
incomplete, conflicting, and uncertain.
Effort estimation( software Engineering)

Effort estimation( software Engineering)

  • 1.
  • 2.
    Effort Estimation Effort estimationis the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input.
  • 3.
    Why is propereffort estimation important? Effort estimation is essential for many people and different departments in an organization. it is needed at various points of a project lifecycle.  Usually, software development is priced based on the person days, it requires in order to be built, multiplied by a daily person day rate.
  • 4.
    Why is propereffort estimation important?(conti……)  Effort estimation shows if you have the resources to finish the project within customer or project owner predefined time limits, based on your available man power.
  • 5.
    Accuracy Effort estimation accuracydepends on available information. Usually, you have less information before you start the project (presales) and you have more information while working in the project.  Approximately 40% of industry software projects that get cancelled are cancelled due to, partly or completely, failures in effort estimation. Have in mind that both low effort estimation and high effort estimation cause troubles, and make the project take longer to complete.
  • 6.
    Effort Estimation method Thereare a number of methods that are used for effort estimation. All of them have pros and cons Expert estimation: An expert on the subject of effort gives judgment on this. Formal estimation model: Using a proper model you feed the system with proper data to get some estimation. Combination-based estimation: The estimation arrives with a mixture of both expert estimation and formal estimation procedures .
  • 7.
    Analogy / Comparison Analogy based estimation involves selecting one or two completed projects that most closely match the characteristics of your planned project. The chosen project is then used as the base for your new estimate. Comparison based estimation involves considering the attributes of the project to be estimated, selecting projects with similar attributes and then using the median values for effort, duration etc. from the selected group of projects to produce an estimate of project effort.
  • 8.
    Assessing the accuracyof estimates The most common measure of the average estimation accuracy is the MMRE (Mean Magnitude of Relative Error), where the MRE of each estimate is defined as: MRE =
  • 9.
    Basic COCOMO Basic COCOMOcomputer software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code SLOC, KLOC. COCOMO applies to three classes of software projects: Organic projects - "small" teams with "good" experience working with "less than rigid" requirements
  • 10.
    Semi-detached projects -"medium" teams with mixed experience working with a mix of rigid and less than rigid requirements. Embedded projects - developed within a set of "tight" constraints. It is also combination of organic and semi-detached projects.(hardware, software, operational, ...)
  • 11.
    • The basicCOCOMO equations take the form • Effort Applied (E) = ab(KLOC)b b [ man-months ] • Development Time (D) = cb(Effort Applied)d b [months] • People required (P) = Effort Applied / Development Time [count] • where, KLOC is the estimated number of delivered lines (expressed in thousands ) of code for project. The coefficients ab, bb, cb and db are given in the following table:
  • 12.
    Software project ab bb cbdb Organic 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
  • 13.
    COCOMO-II COCOMO-II is therevised version of the original COCOMO and is developed at university of Southern California under the leadership of Dr. Barry Boehm. It also provide a quantitative analytic framework, and set of tool and technique for evaluating the effects of software technology improvement on software life cycle cost and schedules.
  • 14.
    Object estimation isa relatively new size estimation technique. It measure the size from a different dimension.  This measurement is based on the number and complexity of the following objects: screens, reports components. This measurement has been used in COCOMO II for cost estimation.  It is also a good match to associated prototype efforts,
  • 15.
    Example: A project sizeof 200 KLOC is to be developed. Software developed team has average experience on similar type of projects. The project schedule is not very tight. Calculate the effort, development time, average size and productivity of product. Solution: The semi-detached mode is the most appropriate mode; keeping in view the size, schedules and experience of the development team. Hence E =3.0(200)1.12 =1133.12 PM D =2.5(1133.12).35 = 29.3 M Average staff size(SS) = E/D Persons = 1133.12/29.3 = 38.67 Persons. Productivity = KLOC/E = 200/1133.12 =1765KLOC/PM P = 176 LOC/PM
  • 16.
    Conclusion software project modelsand software metrics to be used for effort and cost estimation. No model can estimate the cost of software with high degree of accuracy. Estimation is a complex activity that requires knowledge of a number of key attributes. They are especially useful when the information about the past and/or the current situation is vague, incomplete, conflicting, and uncertain.