3. Project Cost Estimation
Cost estimation in project management is the process
of forecasting the effort, financial and other resources
needed to complete a project within a defined scope.
4. Software Cost Model
A technique/framework that is used to compute out the cost
of a project or product.
Many estimation models have been proposed over the last
30 years.
Software cost estimation involves the determination of one
or more of the following basic estimates:
· Effort (usually in person-months)
· Project duration (in calendar time)
· Cost (in dollars)
5. Classic view of cost estimation process
requirements
Duration
other cost drivers
( cost drivers)
Cost
Software Cost Estimation
Technique
Cost
drivers
Effort
6. Examples of cost drivers
• 1. Product attributes
a. Required software reliability
b. Size of application database
c. Complexity of the product
2.Hardware attributes
a. Run-time performance constraints
b. Memory constraints
c. Volatility of the virtual machine environment
d. Required turnabout time
3. Personnel attributes
a. Analyst capability
b. Software engineering capability
c. Applications experience
d. Virtual machine experience
e. Programming language experience
7. 4. Project attributes
a. Use of software tools
b.Application of software engineering methods
c.Required development schedule
8. Need of Cost Estimation
Overestimation of cost
• can easily lead to financial losses in any organization.
Under-estimation of cost
• can significantly contribute to poor quality service
• delivery leading to failure of the entire project
• leads to under-staffing
• under-scoping the quality assurance effort
• setting too short a schedule
• resulting in loss of credibility as deadlines are missed.
Accurate cost estimation:-
• Project is completed on time
• Project is completed within budget
• Risk reduction
9. Types Of Models
• Cost Estimation Models can be classified into 2
major categories:
• Algorithmic Cost Estimation Models and
• Non-algorithmic Cost Estimation Models
10. Algorithmic Models
Algorithmic cost modelling uses a mathematical expression to
predict project costs.
These mathematical equations are based on research and
historical data and use inputs such as Source Lines of Code
(SLOC),number of functions to perform, and other cost drivers
such as language, design methodology, skill-levels, risk
assessments, company’s features etc.
11. Advantages of algorithmic models
• It is able to generate repeatable estimation
• Easy to modify input data
• Easy to refine and customize formula
• It is efficient and able to support a family of
estimations or a sensitivity analysis.
• It is objectively calibrated to previous
experience.
12. Disadvantages of algorithmic model
• Poor sizing inputs and inaccurate cost driver rating will result in
inaccurate estimation.
• It is difficult to estimate SIZE in the early stage of development
• Estimates vary from one person to another person, depending on
their background and experience with the type of system that is
being developed.
• Complex computation
• A lot of information is needed to implement a model.
• The number of lines of source code in software is the basic
software metric used in many algorithmic cost models. The
programming language used for system development also affects
the number of lines of code to be implemented.
13. Types of Algorithmic techniques
• Cocomo model
• Putnam model
• Function point based model
14. Cocomo Model:-
It is regression based model.
Pros:
• gives clear results.
• Simple to estimate cost and effort.
Cons:
• Much data is required
• Estimation at the early stage of software
development leads to failure.
15. Function Point based Model
It allow the measurement of software size in standard units, independent of
the underlying language in which the software is developed. Instead of counting the
lines of code that make up a system, count the number of externals (inputs,
outputs, inquiries, and interfaces) that make up the system.
Pros:-
• It can be estimated from requirements specifications.
• It is possible to estimate development costs in the early phases of development.
• Independent of the language, tools, or methodologies used for implementation.
• Cons:-
• It requires manual work, which require more time.
• It requires detailed knowledge of requirement for estimation of software size
using function points.
• New developer cannot easily estimate the size as it requires
• experience with function point.
16. Non-Algorithmic cost Estimation Model
• Estimation can be done by using the previous
projects previous experiences which is similar to the
under estimate project.
• Based on set of artificial intelligence techniques like
neural networks , genetic Algorithm, rule based
induction.
17. Examples of Non Algorithmic Models
• Analogy
• Expert judgement
• Parkinson’s Law
• Top Down
• Bottom Up
• Delphi
• Pricingo to win
18. Analogy technique
The cost of a new project is estimated by analogy with some
completed projects.
Pros:-
• The estimator's past experience and knowledge can be
used which is not easy to be quantified.
• Easy to find differences between the completed and the
proposed project can be identified and impacts estimated
Cons
• They are restricted to information that is available at the
point that the prediction required.
• Similar projects may not exist.
19. Expert judgement
It involves an expert or group of experts consulting with
software cost estimation. They shares experiences and
understanding of the proposed project to reach at the estimate
of project.
Pros:-
• Experts can tell the impact caused by the new
technique,architecture,language etc.
• Fast estimation.
Cons:-
• It is hard to document the factors used by the experts or
experts-group.
20. Advantages of Non-Algorithmic Models
• Non-algorithmic methods are easy to learn
because all of them follow the human
behavior.
• It is possible to estimate development costs in
the early phases of development.
• Fast estimation.
21. Disadvantages of non algorithmic
• This approach is not repeatable and the means of
deriving an estimate are not explicit.
• It is difficult to find highly experienced estimators for
every new project.
• The relationship between cost and system size is not
linear. Cost tends to increase exponentially with size.
• Budget manipulations by management aimed at
avoiding overrun make experience and data from
previous projects questionable
22. Opinion
• Course was quite right according to online
learning i.e. it didn't make us over burden nor
tension free but kept us to learn within given
resources.
• Whatever was taught was learnt and
understood.
23. Suggestion
• Being the students of online classes we didn’t
do any practical work, we should be given
access to the technology by visiting atleast
once in a month.
• Online group discussion between students
should had been arranged for assignments
etc.