2. Cost Estimation:
a. A cost estimate is an approximate prediction of how much money is
needed to complete a project.
b. important to accurately estimate the cost
c. accurate cost estimating helps you manage your project budget
better
d. the project manager must include cost estimates for all resources,
including materials, equipment, services, software, facilities, human
resources etc.
3. Division of cost:
Costs can be divided in direct and indirect costs.
• Direct costs are those that you can allocate directly, such as salaries
for project team members, materials, supplies, equipment, travel
costs, subcontracts etc.
• Conversely, indirect costs cannot be allocated directly, but without
them you won’t be able to perform the project. Indirect costs can
include office space rent, or general and administrative costs.
4. project cost estimation techniques:
• Analogous estimation: use actual costs of previous, similar projects to
determine estimates for new projects, the more similar projects are the more
accurate the estimate
• Resource cost estimating: list of all resources needed for project and adding
up their total costs
• Bottom-up estimating: make estimates for individual tasks and activities,
calculation of higher-level estimates based on the individual estimates, more
detailed definition of individual tasks means more accurate estimate
• Expert judgment: use knowledge and experience from past projects to make
estimates for new projects, have a subject matter expert as advisor because
they have a solid understanding of the project’s (technical) requirements.
5. COCOMO Model
• developed by Barry W. Boehm.
• The Constructive Cost Model (COCOMO) is the most widely used
software estimation model in the world
• The model uses a basic regression formula with parameters that are
derived from historical project data and current as well as future
project characteristics
6. COCOMO Models
• COCOMO is defined in terms of three different models:
• the Basic model,
• the Intermediate model, and
• the Detailed model.
• Basic COCOMO computes 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).
7. 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.
8. The Development mode
• the most important factors contributing to a project's duration and
cost is the Development Mode
• Organic Mode: The project is developed in a familiar, stable environment, and the
product is similar to previously developed products. The product is relatively small, and
requires little innovation.
• Semidetached Mode: The project's characteristics are intermediate between Organic
and Embedded.
• Embedded Mode: The project is characterized by tight, inflexible constraints and
interface requirements. An embedded mode project will require a great deal of
innovation.
9. COCOMO equations
• Basic COCMO
• Effort Applied (E) = a(KLOC)b
• Development Time (D) = c(Effort Applied)d
• People required (P) = Effort Applied / Development Time
10. Constants
constants
Modes a b C D
Organic 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
embedded 3.6 1.20 2.5 0.32
12. COCOMO is used to estimate the cost and schedule of the project, starting from
the design phase and till the end of integration phase. For the remaining phases
a separate estimation model should be used.
COCOMO is not a perfect realistic model. Assumptions made at the beginning
may vary as time progresses in developing the project.
When need arises to revise the cost of the project. A new estimate may show
over budget or under budget for the project. This may lead to a partial
development of the system, excluding certain requirements.
COCOMO assumes that the requirements are constant throughout the
development of the project; any changes in the requirements are not
accommodated for calculation of cost of the project.
COCOMO is not suitable for non-sequential ,rapid development, reengineering
,reuse cases models.
LIMITATIONS OF COCOMO
14. Function Points
• STEP 1: measure size in terms of the amount of functionality in a system.
Function points are computed by first calculating an unadjusted function point
count (UFC). Counts are made for the following categories
• External inputs – those items provided by the user that describe distinct
application-oriented data (such as file names and menu selections)
• External outputs – those items provided to the user that generate distinct
application-oriented data (such as reports and messages, rather than the
individual components of these)
15. Function Points(.)
• External inquiries – interactive inputs requiring a response
• External files – machine-readable interfaces to other systems
• Internal files – logical master files in the system
16. Function Points(..)
• STEP 2: Multiply each number by a weight factor, according to complexity
(simple, average or complex) of the parameter, associated with that number. The
value is given by a table:
17. Function Points(...)
• STEP 3: Calculate the total UFP (Unadjusted Function Points)
• STEP 4: Calculate the total TCF (Technical Complexity Factor) by giving a value
between 0 and 5 according to the importance of the following points:
18. Function Points(....)
• Technical Complexity Factors:
• 1. Data Communication
• 2. Distributed Data Processing
• 3. Performance Criteria
• 4. Heavily Utilized Hardware
• 5. High Transaction Rates
• 6. Online Data Entry
• 7. Online Updating
• 8. End-user Efficiency
• 9. Complex Computations
• 10. Reusability
• 11. Ease of Installation
• 12. Ease of Operation
• 13. Portability
• 14. Maintainability
19. Function Points(.....)
• STEP 5: Sum the resulting numbers too obtain DI (degree of influence)
• STEP 6: TCF (Technical Complexity Factor) by given by the formula
• TCF=0.65+0.01*DI
• STEP 6: Function Points are by given by the formula
• FP=UFP*TCF