Software Effort Estimation
Software Effort Estimation
Software Effort Estimation
Presentation Summary
• Introduction
– Why do we Estimate?
– When do we Estimate?
– What do we Estimate?
– Guidelines for Estimation
• Estimation Techniques
– LOC
– Function Points
2
…Summary continued.
– Object Points
• Other Estimation Methods
– Wideband-Delphi
– PROBE
• Problems with Size Estimation
• Conclusion
• Discussion
External Input x3 x4 x6
External Input x4 x5 x7
External Interface
x5 x7 x10
File
External Inquiry x3 x4 x6
Calculate FP
Table given
• The basic COCOMO equations take the form
• Effort Applied (E) = ab(KLOC)bb [
person-months ]
• Development Time (D) = cb(Effort
Applied)db [months]
• People required (P) = Effort Applied /
Development Time [count]
Intermediate Cocomo
• Intermediate COCOMO computes software
development effort as function of program
size and a set of "cost drivers" that include
subjective assessment of product, hardware,
personnel and project attributes. This
extension considers a set of four "cost
drivers",each with a number of subsidiary
attributes:-
• Product attributes
– Required software reliability
– Size of application database
– Complexity of the product
• Hardware attributes
– Run-time performance constraints
– Memory constraints
– Volatility of the virtual machine environment
– Required turnabout time
• Personnel attributes
– Analyst capability
– Software engineering capability
– Applications experience
– Virtual machine experience
– Programming language experience
• Project attributes
– Use of software tools
– Application of software engineering methods
– Required development schedule
• Each of the 15 attributes receives a rating on a six-
point scale that ranges from "very low" to "extra
high" (in importance or value). An effort multiplier
from the table below applies to the rating. The
product of all effort multipliers results in an effort
adjustment factor (EAF). Typical values for EAF range
from 0.9 to 1.4.
• The Intermediate Cocomo formula now takes the
form:
• E=ai(KLoC)(bi).EAF
• In detailed COCOMO, the effort is calculated as function
of program size and a set of cost drivers given according
to each phase of software life cycle.
• The five phases of detailed COCOMO are:-
• plan and requirement.
• system design.
• detailed design.
• module code and test.
• integration and test.
Detailed COCOMO
• Detailed COCOMO incorporates all characteristics of the
intermediate version with each step (analysis, design, etc.) of
the software engineering process.
• The detailed model uses different effort multipliers for each
cost driver attribute.
• These Phase Sensitive effort multipliers are each to determine
the amount of effort required to complete each phase.
• In detailed cocomo,the whole software is divided in different
modules and then we apply COCOMO in different modules to
estimate effort and then sum the effort
• COnstructive COst MOdel II (COCOMO® II) is a
model that allows one to estimate the cost,
effort, and schedule when planning a new
software development activity. COCOMO® II is
the latest major extension to the original
COCOMO® (COCOMO® 81) model published in
1981.
COCOMO® II can be used for the following
major decision situations
• Making investment or other financial decisions involving a software development
effort
• Setting project budgets and schedules as a basis for planning and control
• Deciding on or negotiating tradeoffs among software cost, schedule, functionality,
performance or quality factors
• Making software cost and schedule risk management decisions
• Deciding which parts of a software system to develop, reuse, lease, or purchase
• Making legacy software inventory decisions: what parts to modify, phase out,
outsource, etc
• Setting mixed investment strategies to improve organization's software capability,
via reuse, tools, process maturity, outsourcing, etc
• Deciding how to implement a process improvement strategy, such as that provided
in the SEI CMM
• COCOMO II has 17 cost drivers and 5 scale
drivers. The cost and scale drivers are
multiplicative factors that determine the
effort required to complete your software
project.
• Effort= a* (KLOC)b * EAF
The Scale Drivers
• In the COCOMO II model, some of the most important factors
contributing to a project's duration and cost are the Scale Drivers.
You set each Scale Driver to describe your project; these Scale
Drivers determine the exponent used in the Effort Equation.
• The 5 Scale Drivers are:
• Precedentedness
• Development Flexibility
• Architecture / Risk Resolution
• Team Cohesion
• Process Maturity
• Effort Adjustment Factor : The Effort
Adjustment Factor in the effort equation is
simply the product of the effort multipliers
corresponding to each of the cost drivers for
your project.
• E=ai(KLoC)(bi).EAF