SlideShare ist ein Scribd-Unternehmen logo
1 von 16
BY: Taqi Shah Page 1
Table of Contents
1. What is Costs Estimation?.....................................................................................................................................2
1.1. Types of Cost Estimate.................................................................................................................................2
1.1.1. Conceptual Estimate............................................................................................................................2
1.1.2. Detailed Estimate ................................................................................................................................2
2. Why Costs Estimation? .........................................................................................................................................2
3. How to Make Cost Estimation?.............................................................................................................................4
3.1. Non-algorithmic Methods............................................................................................................................5
3.1.1. Analogy costing: ..................................................................................................................................5
3.1.2. Expert judgment:.................................................................................................................................6
3.1.3. Parkinson’s Method ............................................................................................................................6
3.1.4. Price-to-Win Model .............................................................................................................................6
3.1.5. The Definitive Estimate (or bottom-up estimate) ...............................................................................7
3.1.6. The Budget Estimate (or top-down estimate).....................................................................................7
3.1.7. Reserve Analysis:.................................................................................................................................7
3.2. Algorithmic methods....................................................................................................................................7
3.2.1. Cost factors..........................................................................................................................................8
3.2.2. Linear models ......................................................................................................................................8
3.2.3. Power function models .......................................................................................................................8
3.2.4. COCOMO 1 ..........................................................................................................................................8
3.2.5. COCOMO 2 ........................................................................................................................................11
4. Effort Estimation? ...............................................................................................................................................13
5. Why Effort Estimation?.......................................................................................................................................13
6. How Effort Estimating?.......................................................................................................................................13
6.1. Deductive or Top-down Methods..............................................................................................................15
6.2. Inductive or Bottom-up Methods ..............................................................................................................15
6.2.1. Factor Analysis:..................................................................................................................................15
6.2.2. Multiplication Method: .....................................................................................................................15
6.2.3. Analogy Method:...............................................................................................................................15
6.2.4. Function Point Method: ....................................................................................................................16
6.2.5. Delphi Method: .................................................................................................................................16
BY: Taqi Shah Page 2
1. What is Costs Estimation?
In a book 'How to be a Better Project Manager', Trevor L Young defines estimating as;
"A decision about how much time and resource are required to carry out a piece of work to acceptable standards
of performance."
And Cost Estimate as;
“The process of forecasting a future result in terms of cost, based upon information available at the time."
Projects normally have a budget, and continual cost estimation is necessary to ensure that spending is in line with
the budget. Accurate software cost estimates are critical to both developers and customers. It answers the
questions what are the costs associated with the effort required to produce each major deliverables, what are the
costs associated with hardware and software, what other non-labor costs need to be considered, and what
operating costs need to be considered and identified.
1.1.Types of Cost Estimate
Cost estimates fall into two groups: conceptual estimates and detailed estimates. Each can be broadly defined as
follows:
1.1.1. Conceptual Estimate
Conceptual estimating or parametric estimating is the process of establishing a project’s cost, often before any
graphical representation of a facility has been developed.
1.1.2. Detailed Estimate
The detailed construction estimate is the product of a process whereby the cost of a proposed construction project
is predicted. The estimate is prepared by breaking down the items of work in an orderly and logical basis,
determining the cost of each item from experience, and summarizing the total.
2. Why Costs Estimation?
IT suffers from a universal law: the first-time, first-use penalty. The concept of the first-time, first-use penalty is
that it's next to impossible to accurately estimate the cost of something that has never been attempted. IT is so
unique, so multifaceted, and has so many fronts that the constant movement of its variables creates a love-hate
relationship for any organization trying to create an IT cost estimate.
Management asks, "Would you like more time?" We respond, "Thank you, no. I'll take some M-O-N-E-Y."
Customers offer, "Would you like to reduce the scope?" We answer, "Thank you, no. I'll take some M-O-
N-E-Y."
Sponsors demand a speedier schedule. We respond, "Thank you, no. I'll take some M-O-N-E-Y."
BY: Taqi Shah Page 3
From IT to construction, most projects have to purchase materials: routers and cables, shingles and cement, and so
on. We almost always must buy some things to complete the project work.
Regardless of scope or schedule, projects need funds to complete the work. Technically, even projects that use
only labor have funds attached to them; someone, somewhere is paying for that labor. What happens if you don't
have the correct amount of funds to complete the project scope? Your project is doomed.
The ultimate goal of cost estimation is to determine the amount of fixed and variable costs so that a cost
equation can be used to predict future costs. The function that represents the equation of a line will
appear in the format of:
y = m x + b
Where y = total cost
m = the slope of the line, i.e., the unit variable cost
x = the number of units of activity
b = the y-intercept, i.e., the total fixed costs
To avoid project cost overruns.
Minimizing the differences between preliminary project planning cost estimates and final project design
cost estimates.
Accurate cost estimation is important because It can help to classify and prioritize development projects
with respect to an overall business plan.
BY: Taqi Shah Page 4
3. How to Make Cost Estimation?
The actual cost estimation process involves seven steps:
1) Establish cost-estimating objectives
2) Generate a project plan for required data and resources
3) Pin down software requirements
4) Work out as much detail about the software system as feasible
5) Use several independent cost estimation techniques to capitalize on their combined strengths
6) Compare different estimates and iterate the estimation process
7) After the project has started, monitor its actual cost and progress, and feedback results to project
management No matter which estimation model is selected, users must pay attention to the following to
get best result.
Many techniques, books and software packages exist to help with estimating project costs. A few simple rules will
also help ensure you create an accurate and realistic estimate.
Assume resources will only be productive for 80 percent of their time.
Resources working on multiple projects take longer to complete tasks because of time lost switching
between them.
People are generally optimistic and often underestimate how long tasks will take.
Make use of other people's experiences and your own.
Get an expert view.
Include management time in any estimate.
Always build in contingency for problem solving, meetings and other unexpected events.
Cost each task in the Work Breakdown Structure to arrive at a total, rather than trying to cost the project
as a whole.
Agree a tolerance with your customer for additional work that is not yet defined.
Communicate any assumptions, exclusions or constraints you have to your customer.
Provide regular budget statements to your customer, copying your team, so they are always aware of the
current position.
BY: Taqi Shah Page 5
These are some of the common mistakes that can lead to inaccurate estimates.
Not understanding what is involved to complete an item of work.
Starting with an amount of money and making the project cost fit it.
Assigning resources at more than 80 percent utilization.
Failing to build in contingency.
Failing to adjust the estimate following changes in scope.
Dividing tasks between more than one resource.
Providing estimates under pressure in project meetings.
Giving single-data-point estimates rather than range estimates.
There are two major types of cost estimation methods: algorithmic and non-algorithmic.
Algorithmic models vary widely in mathematical sophistication. Some are based on simple arithmetic formulas
using such summary statistics as means and standard deviations. Others are based on regression models and
differential equations. To improve the accuracy of algorithmic models, there is a need to adjust or calibrate the
model to local circumstances. These models cannot be used off-the-shelf. Even with calibration the accuracy can
be quite mixed.
We first give an overview of non-algorithmic methods.
3.1.Non-algorithmic Methods
3.1.1. Analogy costing:
An analogy costing model is a non-algorithmic costing model that estimates the cost of a project by relating it to
another similar completed project. Estimation by analogy can be done either at the total project level or at
subsystem level. The total project level has the advantage that all cost components of the system will be
considered while the subsystem level has the advantage of providing a more detailed assessment of the similarities
and differences between the new project and the completed projects.
Take a completed project, similar in scope, size, structure, environment, constraints, and functions to the current
project as its benchmark. Use reasoning and analogy to relate the actual costs incurred for elements of the
completed project to similar elements in the current project. Such estimation may be conducted either top-down
or bottom-up.
This method has the advantage of assessing costs based on actual project experience rather than theoretical
assumptions. Success, however, depends on the extent to which the previous project bears resemblance to the
current project, and such relation remains subjective.
BY: Taqi Shah Page 6
A related method is the parametric estimation model, or taking historical information as the base, making
assumptions regarding changes, and extrapolating the information to the preset project
3.1.2. Expert judgment:
The expert judgment costing model makes the assessment of costs by leveraging the experience of one or more
subject matter experts (SME).
A common expert judgment model is the Delphi technique, which involves constituting an expert panel,
conducting a survey where each expert states their opinion, followed by discussion, and repeating the exercise
multiple rounds until all the experts develop a consensus to identify a common cost estimate.
Agile projects rely on the experience of people who actually undertake the work and remain familiar with actual
costs, rather than theoretical or boardroom experts detached from the actual operations.
Expert judgment methods are grounded in practical realities but remain highly subjective. Success depends wholly
on the skills and competence of the experts chosen.
3.1.3. Parkinson’s Method
Parkinson’s Law holds that “work expands to fill the available volume or time.” Using this percept, cost estimation
is based on identifying available resources rather than any objective assessment or estimates. For instance, the
cost estimate for a software project with a timeframe of 12 months and personnel requirement of five entails
direct calculation of the wages of five people for 12 months. This method, though simple and straightforward, may
create unrealistic estimates and may not cover all bases. Although it sometimes gives good estimation, this
method is not recommended as it may provide very unrealistic estimates. Also, this method does not promote
good software engineering practice.
3.1.4. Price-to-Win Model
The price-to-win model estimates cost based on the customer’s budget rather than internal resources or
capabilities, and by extension depends on the product pricing, which in turn depends on market forces.
This is a practical approach, for ultimately the net cost is what the customer pays, minus profits, and any excess
scope or size invariably gets toned down to match customer budgets. For instance, if a software project was
estimated at 500 person-months, it would invariably be toned down to 300 person-months if the customer could
afford only that much. On the flip side, this approach does not consider the possibility of projects incurring loss
owing to scope creep or any other reason.
This is again not a good practice since it is very likely to cause a bad delay of delivery or force the development
team to work overtime.
BY: Taqi Shah Page 7
3.1.5. The Definitive Estimate (or bottom-up estimate)
It is the most accurate of the estimate types, but takes the most time to create. The definitive estimate requires a
work breakdown structure (WBS). A WBS is not a list of activities. A WBS is a deliverables-oriented decomposition
of the project scope. That's decomposition of the deliverables that your project will create for the customer.
Then each component of the software system is separately estimated and the results aggregated to produce an
estimate for the overall system. The requirement for this approach is that an initial design must be in place that
indicates how the system is decomposed into different components
3.1.6. The Budget Estimate (or top-down estimate)
It is a bit more accurate. Formulated fairly early in the project's planning stage, the budget estimate is most often
based on analogous estimating, taking budget lessons learned from a similar project and applying them to the
current project. Do a little maths magic and we've got ourselves a budget estimate.
With the budget estimate, we start at the top and work our way down into the project details. This estimate
should include conditions, a range of variance, and any assumptions that went into your calculations. A budget
estimate is quick, but not very accurate. The range of variance on the budget estimate is from -10 percent to +25
percent. This approach is more suitable for cost estimation at the early stage.
3.1.7. Reserve Analysis:
The method deals with unforeseen circumstances in a project environment, which necessitates the
establishment of reserves for the project activities. These reserves are also called contingency
allowances that are utilized for reducing risks, and countering threats. Characteristics of a cost
estimating system are to ensure that the cost estimates are accurate. If the funds are not adequate,
then the reserves are used for the project activities.
3.2.Algorithmic methods
The algorithmic methods are based on mathematical models that produce cost estimate as a function of a number
of variables, which are considered to be the major cost factors. Any algorithmic model has the form:
Effort = f(x1, x2, …, x) where {x1, x2, …, xn}
Denote the cost factors. The existing algorithmic methods differ in two aspects: the selection of cost factors, and
the form of the function f. We will first discuss the cost factors used in these models, then characterize the models
according to the form of the functions and whether the models are analytical or empirical.
BY: Taqi Shah Page 8
3.2.1. Cost factors
Besides the software size, there are many other cost factors. The most comprehensive set of cost factors are
proposed and used by Boehm et al in the COCOMO II model. These cost factors can be divided into four types:
Product factors: required reliability; product complexity; database size used; required reusability;
documentation match to life-cycle needs;
Computer factors: execution time constraint; main storage constraint; computer turnaround constraints;
platform volatility;
Personnel factors: analyst capability; application experience; programming capability; platform
experience; language and tool experience; personnel continuity;
Project factors: multisite development; use of software tool; required development schedule. The above
factors are not necessarily independent, and most of them are hard to quantify. In many models, some of
the factors appear in combined form and some are simply ignored. Also, some factors take discrete
values, resulting in an estimation function with a piece-wise form.
3.2.2. Linear models
Linear models have the form:
Where,a1,a2..,an are selected according to the project information.
work of Nelson belongs to this type of models [26]. We agree with Boehm's comment that "there are too many
nonlinear interactions in software development for a linear model to work well”.
3.2.3. Power function models
Power function models have the general form:
Effort = aSb
Where S is the code-size, and a, b are (usually simple) functions of other cost factors. This class contains two of the
most popular algorithmic models in use, as follows:
3.2.4. COCOMO 1
The most popular algorithmic cost estimation model for software projects is the Constructive Cost Model
(COCOMO II), developed by Barry Boehm and Ellis Harrowitz in 2000.
3.2.4.1. The basic COCOMO'81
It is a simple static model that considers the software development cost as a function of a program's size
expressed in estimated lines of code.
BY: Taqi Shah Page 9
It computes software development effort (and cost) as a function of program size expressed in estimated lines of
code (LOC). The basic COCOMO estimation model is given by the following expressions:
Effort = a * (KLOC)b PM
Tdev = 2.5 * (Effort)c Months
here
KLOC is the estimated size of the software product expressed in Kilo Lines of Code
a, b, c are constants for each category of software products
Tdev is the estimated time to develop the software, expressed in months
Effort is the total effort required to develop the software product, expressed in person months (PMs)
The effort estimation is expressed in units of person-months (PM).
The value of the constants a, b, c are given below:
Software project a b c
Organic 2.4 1.05 0.38
Semi-detached 3.0 1.12 0.35
Embedded 3.6 1.20 0.32
3.2.4.2. The intermediate COCOMO'81 model
It computes software development cost as a function of program size and a set of four subjective cost drivers:
product factors, computer factors, constraints, and personnel factors. Product factors include aspects such as
required reliability, complexity, usability, size of database, and more. Computer factors include constraints such as
execution time, storage, turnaround, and platform volatility. Personnel factors include capability of the analyst,
application, language, and tool experience, personnel continuity, and more. Project factors include multi-site
development, software tools and more.
The basic COCOMO model assumes that effort and development time are functions of the product size alone.
However, many other project parameters apart from the product size affect the development effort and time
required for the product. Therefore, in order to obtain an accurate estimation of the effort and project duration,
the effect of all relevant parameters must be taken into account.
BY: Taqi Shah Page 10
The intermediate COCOMO model recognizes this fact and refines the initial estimate obtained using the basic
COCOMO expressions by using a set of 15 cost drivers (multipliers) based on various attributes of software
development. For example, if modern programming practices are used, the initial estimates are scaled downward
by multiplication with a cost driver having a value less than 1.
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) as shown below. An effort multiplier from the table below [i] applies to the rating. The
product of all effort multipliers results in an Effort Adjustment Factor (EAF).
EAF is used to refine the estimates obtained by basic COCOMO as follows:
Effort|corrected = Effort * EAF
Tdev|corrected = 2.5 * (Effort|corrected) c
3.2.4.3. The detailed COCOMO'81 model
It incorporates all characteristics of the intermediate version and also incorporates an assessment of the cost
driver’s impact on each step of the software engineering process.
BY: Taqi Shah Page 11
Regardless of the cost estimation model chosen, success depends on a good understanding of how the model
works and how to apply it to determine project costs. A project manager is better off adopting a familiar yet
limited albeit suitable model rather than another model, which may enjoy better industry recognition but which
the project manager remains incompetent to handle.
The following development project can be considered as an example application of the complete COCOMO model.
A distributed Management Information System (MIS) product for an organization having offices at several places
across the country can have the following sub-components:
Database part
Graphical User Interface (GUI) part
Communication part
Of these, the communication part can be considered as embedded software. The database part could be semi-
detached software, and the GUI part organic software. The costs for these three components can be estimated
separately, and summed up to give the overall cost of the system.
3.2.5. COCOMO 2
Cocomo 2 consists of two models; the Early Design Model and the Post-Architecture model.
The Early design model is a high-level model and can be used in the architectural design stage to explore
architectural alternatives or incremental development strategies. This model is closest to the original COCOMO.
The Post-Architectural model on the other hand is a more detailed model that can be used for the actual
development stage and maintenance stage. It is the most detailed version of COCOMO 2.
Both the early Design model and the Post-Architecture model use the same formula to estimate the amount of
effort required to develop a software project. Besides these two models also the Application Composition model is
described by B. Bohem.
The Application Composition model can be used as sizing metric for application composition; and the estimation is
based on the number of screens, reports and 3GL components.
BY: Taqi Shah Page 12
Formula:
BY: Taqi Shah Page 13
4. Effort Estimation?
Effort can be measured in staff-hours or staff-months (Used to be known as man-hours or man-months).
Effort estimation is answering two basic questions about testing:
I. What will be done?
II. How much effort would it take?
A project manager has to produce:
An estimate of the effort.
An estimate of the activity durations.
An estimate of
effort affects ------- Cost
An estimate of
activity durations affects The delivery time
5. Why Effort Estimation?
Estimating the effort of software development is fraught with difficulties, and it is clear that effort should be
invested in improving the accuracy and the reliability (consistency) of effort estimates, as well as the assessment of
estimate uncertainty. However, it is less clear where to target such improvement efforts.
6. How Effort Estimating?
Effort estimation represents step 3 of the project planning process.
Before we can plan the project schedule we have to estimate effort and duration of all the work packages of
the WBS. Effort estimation will generate a lot more information than only effort and duration:
BY: Taqi Shah Page 14
• Who will be responsible for each work package?
• What is the work package specification?
• What are the expected results of each work package?
• How is the achievement of the results measured?
• What are the prerequisites for the work package?
• What are the conditions under which the work has to be done?
• What are the required start and end times?
• What and how much material is needed for each work package, at what cost?
• What tools are needed for each work package, at what rates?
Obviously, effort estimation needs expertise on a work package specific level to accomplish this transition.
BY: Taqi Shah Page 15
There are two categories of estimating the effort of each work package: deductive and inductive methods.
6.1.Deductive or Top-down Methods
Assume the total cost for the project is given. From there we assign the cost, and thus, the effort of individual work
packages based on estimated percentages derived from earlier, similar projects with similar work packages. The
advantage of deductive methods is a simple and rapid cost allocation, the disadvantage is that they only work for
projects that consist of work packages we already know from earlier, similar projects.
6.2.Inductive or Bottom-up Methods
The basic idea of inductive methods is to start effort estimation with the work packages individually,
with support of experts, or knowledge of similar work packages of earlier projects, and then summarize
bottom up, following the structure of the WBS.
6.2.1. Factor Analysis:
For a certain work package, we know all the variables or factors, how they influence the work, and how these
factors correlate with each other. Then we can calculate the effort based on a mathematical formula which reflects
that influences and correlations.
Effort = f (influencing variables, correlation coefficients).
For example, the effort of a work package "Develop hardware control unit" is influenced by
the number of people involved, P=4,
the number of interfaces, S=5,
the number of functional blocks, B=10.
From earlier projects with similar control units we might know the correlation coefficients. For example, cP=2.5,
cS=2, cB=1.5, cU=2.0. Our formula could look like this
Effort = f(P, S, B) = cP*P + cS*S*S + cB*B =
= 10 + 50 + 15 =
= 75 (working days)
6.2.2. Multiplication Method:
If we can divide a work package into a number of equal parts then, we can estimate the total effort by estimating
one part and then multiplying this value by the number of parts.
Total Effort = Effort of one part * number of parts
6.2.3. Analogy Method:
This method again applies the knowledge from similar work packages. We interpolate or extrapolate the effort for
the work package from a similar one. For example, for the work package “Install electrical wiring in an apartment
of 100 sqm” we could guess the effort by interpolation from similar work for apartments of 150 sqm, 10 working
days, and 50 sqm, 6 working days:
BY: Taqi Shah Page 16
Effort(100 sqm) = (10 + 6) / 2 = 8 working days.
6.2.4. Function Point Method:
For IT or software design related work packages we can apply the function point method. The prerequisite is that
we need to have a lot of knowledge about the effort of work packages of similar scope and degree of difficulty,
based on observation. Then the experts compile this knowledge into so called “function curves” which we can use
to estimate effort for new work packages. In the following example we estimate the effort of work about creating
100, 500, and 800 lines of code. We obtain the effort via the corresponding function points on the function curve,
5, 16, and 33 working days, respectively.
6.2.5. Delphi Method:
For most of our work packages we use the Delphi method. We just ask the experts for each work package for their
best guess, normal guess, and worst guess. Thus we obtain three figures for the expected effort: E(optimistic),
E(normal), and E(pessimistic), then combine them with this formula
Effort = (E(optimistic) + 4*E(normal) + E(pessimistic)) / 6.
If we can ask ten or more experts, we could even calculate the mean values and apply mathematical statistics with
the concept of standard deviation.
Usually, we ask all the experts to join an effort estimation workshop which can be combined with a risk
management workshop, of two, three, or more days depending on the number of work packages that have to be
estimated.

Weitere ähnliche Inhalte

Was ist angesagt?

SOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPTSOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPT
Sai Charan
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
Sudarshan Dhondaley
 
Software estimation
Software estimationSoftware estimation
Software estimation
Md Shakir
 

Was ist angesagt? (20)

SOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPTSOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPT
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering)
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Prototyping model
Prototyping modelPrototyping model
Prototyping model
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Project planning and scheduling
Project planning and schedulingProject planning and scheduling
Project planning and scheduling
 
Spm unit 4
Spm unit 4Spm unit 4
Spm unit 4
 
Evolution of project management
Evolution of project managementEvolution of project management
Evolution of project management
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
06. Project Management Process Groups
06. Project Management Process Groups06. Project Management Process Groups
06. Project Management Process Groups
 
6.3 Sequence Activities
6.3 Sequence Activities6.3 Sequence Activities
6.3 Sequence Activities
 
RMMM-Risk Management,Mitigation and Monitoring.
RMMM-Risk Management,Mitigation and Monitoring.RMMM-Risk Management,Mitigation and Monitoring.
RMMM-Risk Management,Mitigation and Monitoring.
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
Project Execution Powerpoint Presentation Slides
Project Execution Powerpoint Presentation SlidesProject Execution Powerpoint Presentation Slides
Project Execution Powerpoint Presentation Slides
 
Project Plan And Estimation
Project Plan And EstimationProject Plan And Estimation
Project Plan And Estimation
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 

Andere mochten auch

Project Management Rule of Thumb
Project Management Rule of ThumbProject Management Rule of Thumb
Project Management Rule of Thumb
Shamal Tennakoon
 

Andere mochten auch (20)

Project Management Rule of Thumb
Project Management Rule of ThumbProject Management Rule of Thumb
Project Management Rule of Thumb
 
Leveraging P6 and Unifier combined strengths - Oracle Primavera P6 Collaborat...
Leveraging P6 and Unifier combined strengths - Oracle Primavera P6 Collaborat...Leveraging P6 and Unifier combined strengths - Oracle Primavera P6 Collaborat...
Leveraging P6 and Unifier combined strengths - Oracle Primavera P6 Collaborat...
 
Managing Using Intuition and Rules of Thumb 050113
Managing Using Intuition and Rules of Thumb 050113Managing Using Intuition and Rules of Thumb 050113
Managing Using Intuition and Rules of Thumb 050113
 
Successfully Manage Cost and Schedule with Primavera Unifier and Primavera P6
Successfully Manage Cost and Schedule with Primavera Unifier and Primavera P6Successfully Manage Cost and Schedule with Primavera Unifier and Primavera P6
Successfully Manage Cost and Schedule with Primavera Unifier and Primavera P6
 
Pie Chart PowerPoint Template
Pie Chart PowerPoint TemplatePie Chart PowerPoint Template
Pie Chart PowerPoint Template
 
How to become a great manager | By ex-Deloitte Consultants
How to become a great manager | By ex-Deloitte ConsultantsHow to become a great manager | By ex-Deloitte Consultants
How to become a great manager | By ex-Deloitte Consultants
 
Management Consultant Toolkit in powerpoint & Excel
Management Consultant Toolkit in powerpoint & ExcelManagement Consultant Toolkit in powerpoint & Excel
Management Consultant Toolkit in powerpoint & Excel
 
What the F**K is Social Media: One Year Later
What the F**K is Social Media: One Year LaterWhat the F**K is Social Media: One Year Later
What the F**K is Social Media: One Year Later
 
What is strategy?
What is strategy?What is strategy?
What is strategy?
 
Industrial safety
Industrial safetyIndustrial safety
Industrial safety
 
The Real Life Social Network v2
The Real Life Social Network v2The Real Life Social Network v2
The Real Life Social Network v2
 
Project Planning Scheduling
Project Planning SchedulingProject Planning Scheduling
Project Planning Scheduling
 
The Brand Gap
The Brand GapThe Brand Gap
The Brand Gap
 
Social Media
Social MediaSocial Media
Social Media
 
Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013Amazon.com: the Hidden Empire - Update 2013
Amazon.com: the Hidden Empire - Update 2013
 
Brain Rules for Presenters
Brain Rules for PresentersBrain Rules for Presenters
Brain Rules for Presenters
 
Project Management KPIs
Project Management KPIsProject Management KPIs
Project Management KPIs
 
You Suck At PowerPoint! by @jessedee
You Suck At PowerPoint! by @jessedeeYou Suck At PowerPoint! by @jessedee
You Suck At PowerPoint! by @jessedee
 
What Would Steve Do? 10 Lessons from the World's Most Captivating Presenters
What Would Steve Do? 10 Lessons from the World's Most Captivating PresentersWhat Would Steve Do? 10 Lessons from the World's Most Captivating Presenters
What Would Steve Do? 10 Lessons from the World's Most Captivating Presenters
 
How Google Works
How Google WorksHow Google Works
How Google Works
 

Ähnlich wie Software Cost and Effort Esitmation

Introduction of civil engineering.pdf
Introduction of civil engineering.pdfIntroduction of civil engineering.pdf
Introduction of civil engineering.pdf
bkbk37
 
46R-11 Skills & Knowledge of Cost Estimators.pdf
46R-11 Skills & Knowledge of Cost Estimators.pdf46R-11 Skills & Knowledge of Cost Estimators.pdf
46R-11 Skills & Knowledge of Cost Estimators.pdf
ssuserad21d8
 
software-project-management-unit-2.ppt
software-project-management-unit-2.pptsoftware-project-management-unit-2.ppt
software-project-management-unit-2.ppt
Maanbahadurkhadka
 
software-project-management-unit-2-220808125214-00921612 (1).pdf
software-project-management-unit-2-220808125214-00921612 (1).pdfsoftware-project-management-unit-2-220808125214-00921612 (1).pdf
software-project-management-unit-2-220808125214-00921612 (1).pdf
Vinoth Kumar
 

Ähnlich wie Software Cost and Effort Esitmation (20)

Purpose and importance of estimate
Purpose and importance of estimatePurpose and importance of estimate
Purpose and importance of estimate
 
Project mgt
Project mgtProject mgt
Project mgt
 
Lec.1 Introduction to Estimation
Lec.1   Introduction to EstimationLec.1   Introduction to Estimation
Lec.1 Introduction to Estimation
 
Preparation and approaches of cost estimates
Preparation and approaches of cost estimatesPreparation and approaches of cost estimates
Preparation and approaches of cost estimates
 
Dear Dad
Dear DadDear Dad
Dear Dad
 
1052 1 rf
1052 1 rf1052 1 rf
1052 1 rf
 
Project cost management
Project cost management Project cost management
Project cost management
 
Introduction of civil engineering.pdf
Introduction of civil engineering.pdfIntroduction of civil engineering.pdf
Introduction of civil engineering.pdf
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
abate and h.pptx
abate and h.pptxabate and h.pptx
abate and h.pptx
 
Estimation guidelines and templates
Estimation guidelines and templatesEstimation guidelines and templates
Estimation guidelines and templates
 
Project Cost Management
Project Cost ManagementProject Cost Management
Project Cost Management
 
Sm presentation
Sm presentationSm presentation
Sm presentation
 
nidhi_economics[1].ppt
nidhi_economics[1].pptnidhi_economics[1].ppt
nidhi_economics[1].ppt
 
engineering economics lect 8-10 final.pptx
engineering economics lect 8-10 final.pptxengineering economics lect 8-10 final.pptx
engineering economics lect 8-10 final.pptx
 
46R-11 Skills & Knowledge of Cost Estimators.pdf
46R-11 Skills & Knowledge of Cost Estimators.pdf46R-11 Skills & Knowledge of Cost Estimators.pdf
46R-11 Skills & Knowledge of Cost Estimators.pdf
 
software-project-management-unit-2.ppt
software-project-management-unit-2.pptsoftware-project-management-unit-2.ppt
software-project-management-unit-2.ppt
 
software-project-management-unit-2-220808125214-00921612 (1).pdf
software-project-management-unit-2-220808125214-00921612 (1).pdfsoftware-project-management-unit-2-220808125214-00921612 (1).pdf
software-project-management-unit-2-220808125214-00921612 (1).pdf
 
Managing projects
Managing projectsManaging projects
Managing projects
 

Mehr von Muhammad Taqi

How speech reorganization works
How speech reorganization worksHow speech reorganization works
How speech reorganization works
Muhammad Taqi
 
Variable eliminatin example
Variable eliminatin exampleVariable eliminatin example
Variable eliminatin example
Muhammad Taqi
 
D sepration examples
D sepration examplesD sepration examples
D sepration examples
Muhammad Taqi
 
Adobe illustrator cs5 full tutorials
Adobe illustrator cs5  full tutorialsAdobe illustrator cs5  full tutorials
Adobe illustrator cs5 full tutorials
Muhammad Taqi
 

Mehr von Muhammad Taqi (7)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
How speech reorganization works
How speech reorganization worksHow speech reorganization works
How speech reorganization works
 
How e mail works
How e mail worksHow e mail works
How e mail works
 
How proxy works
How proxy worksHow proxy works
How proxy works
 
Variable eliminatin example
Variable eliminatin exampleVariable eliminatin example
Variable eliminatin example
 
D sepration examples
D sepration examplesD sepration examples
D sepration examples
 
Adobe illustrator cs5 full tutorials
Adobe illustrator cs5  full tutorialsAdobe illustrator cs5  full tutorials
Adobe illustrator cs5 full tutorials
 

Kürzlich hochgeladen

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

Software Cost and Effort Esitmation

  • 1. BY: Taqi Shah Page 1 Table of Contents 1. What is Costs Estimation?.....................................................................................................................................2 1.1. Types of Cost Estimate.................................................................................................................................2 1.1.1. Conceptual Estimate............................................................................................................................2 1.1.2. Detailed Estimate ................................................................................................................................2 2. Why Costs Estimation? .........................................................................................................................................2 3. How to Make Cost Estimation?.............................................................................................................................4 3.1. Non-algorithmic Methods............................................................................................................................5 3.1.1. Analogy costing: ..................................................................................................................................5 3.1.2. Expert judgment:.................................................................................................................................6 3.1.3. Parkinson’s Method ............................................................................................................................6 3.1.4. Price-to-Win Model .............................................................................................................................6 3.1.5. The Definitive Estimate (or bottom-up estimate) ...............................................................................7 3.1.6. The Budget Estimate (or top-down estimate).....................................................................................7 3.1.7. Reserve Analysis:.................................................................................................................................7 3.2. Algorithmic methods....................................................................................................................................7 3.2.1. Cost factors..........................................................................................................................................8 3.2.2. Linear models ......................................................................................................................................8 3.2.3. Power function models .......................................................................................................................8 3.2.4. COCOMO 1 ..........................................................................................................................................8 3.2.5. COCOMO 2 ........................................................................................................................................11 4. Effort Estimation? ...............................................................................................................................................13 5. Why Effort Estimation?.......................................................................................................................................13 6. How Effort Estimating?.......................................................................................................................................13 6.1. Deductive or Top-down Methods..............................................................................................................15 6.2. Inductive or Bottom-up Methods ..............................................................................................................15 6.2.1. Factor Analysis:..................................................................................................................................15 6.2.2. Multiplication Method: .....................................................................................................................15 6.2.3. Analogy Method:...............................................................................................................................15 6.2.4. Function Point Method: ....................................................................................................................16 6.2.5. Delphi Method: .................................................................................................................................16
  • 2. BY: Taqi Shah Page 2 1. What is Costs Estimation? In a book 'How to be a Better Project Manager', Trevor L Young defines estimating as; "A decision about how much time and resource are required to carry out a piece of work to acceptable standards of performance." And Cost Estimate as; “The process of forecasting a future result in terms of cost, based upon information available at the time." Projects normally have a budget, and continual cost estimation is necessary to ensure that spending is in line with the budget. Accurate software cost estimates are critical to both developers and customers. It answers the questions what are the costs associated with the effort required to produce each major deliverables, what are the costs associated with hardware and software, what other non-labor costs need to be considered, and what operating costs need to be considered and identified. 1.1.Types of Cost Estimate Cost estimates fall into two groups: conceptual estimates and detailed estimates. Each can be broadly defined as follows: 1.1.1. Conceptual Estimate Conceptual estimating or parametric estimating is the process of establishing a project’s cost, often before any graphical representation of a facility has been developed. 1.1.2. Detailed Estimate The detailed construction estimate is the product of a process whereby the cost of a proposed construction project is predicted. The estimate is prepared by breaking down the items of work in an orderly and logical basis, determining the cost of each item from experience, and summarizing the total. 2. Why Costs Estimation? IT suffers from a universal law: the first-time, first-use penalty. The concept of the first-time, first-use penalty is that it's next to impossible to accurately estimate the cost of something that has never been attempted. IT is so unique, so multifaceted, and has so many fronts that the constant movement of its variables creates a love-hate relationship for any organization trying to create an IT cost estimate. Management asks, "Would you like more time?" We respond, "Thank you, no. I'll take some M-O-N-E-Y." Customers offer, "Would you like to reduce the scope?" We answer, "Thank you, no. I'll take some M-O- N-E-Y." Sponsors demand a speedier schedule. We respond, "Thank you, no. I'll take some M-O-N-E-Y."
  • 3. BY: Taqi Shah Page 3 From IT to construction, most projects have to purchase materials: routers and cables, shingles and cement, and so on. We almost always must buy some things to complete the project work. Regardless of scope or schedule, projects need funds to complete the work. Technically, even projects that use only labor have funds attached to them; someone, somewhere is paying for that labor. What happens if you don't have the correct amount of funds to complete the project scope? Your project is doomed. The ultimate goal of cost estimation is to determine the amount of fixed and variable costs so that a cost equation can be used to predict future costs. The function that represents the equation of a line will appear in the format of: y = m x + b Where y = total cost m = the slope of the line, i.e., the unit variable cost x = the number of units of activity b = the y-intercept, i.e., the total fixed costs To avoid project cost overruns. Minimizing the differences between preliminary project planning cost estimates and final project design cost estimates. Accurate cost estimation is important because It can help to classify and prioritize development projects with respect to an overall business plan.
  • 4. BY: Taqi Shah Page 4 3. How to Make Cost Estimation? The actual cost estimation process involves seven steps: 1) Establish cost-estimating objectives 2) Generate a project plan for required data and resources 3) Pin down software requirements 4) Work out as much detail about the software system as feasible 5) Use several independent cost estimation techniques to capitalize on their combined strengths 6) Compare different estimates and iterate the estimation process 7) After the project has started, monitor its actual cost and progress, and feedback results to project management No matter which estimation model is selected, users must pay attention to the following to get best result. Many techniques, books and software packages exist to help with estimating project costs. A few simple rules will also help ensure you create an accurate and realistic estimate. Assume resources will only be productive for 80 percent of their time. Resources working on multiple projects take longer to complete tasks because of time lost switching between them. People are generally optimistic and often underestimate how long tasks will take. Make use of other people's experiences and your own. Get an expert view. Include management time in any estimate. Always build in contingency for problem solving, meetings and other unexpected events. Cost each task in the Work Breakdown Structure to arrive at a total, rather than trying to cost the project as a whole. Agree a tolerance with your customer for additional work that is not yet defined. Communicate any assumptions, exclusions or constraints you have to your customer. Provide regular budget statements to your customer, copying your team, so they are always aware of the current position.
  • 5. BY: Taqi Shah Page 5 These are some of the common mistakes that can lead to inaccurate estimates. Not understanding what is involved to complete an item of work. Starting with an amount of money and making the project cost fit it. Assigning resources at more than 80 percent utilization. Failing to build in contingency. Failing to adjust the estimate following changes in scope. Dividing tasks between more than one resource. Providing estimates under pressure in project meetings. Giving single-data-point estimates rather than range estimates. There are two major types of cost estimation methods: algorithmic and non-algorithmic. Algorithmic models vary widely in mathematical sophistication. Some are based on simple arithmetic formulas using such summary statistics as means and standard deviations. Others are based on regression models and differential equations. To improve the accuracy of algorithmic models, there is a need to adjust or calibrate the model to local circumstances. These models cannot be used off-the-shelf. Even with calibration the accuracy can be quite mixed. We first give an overview of non-algorithmic methods. 3.1.Non-algorithmic Methods 3.1.1. Analogy costing: An analogy costing model is a non-algorithmic costing model that estimates the cost of a project by relating it to another similar completed project. Estimation by analogy can be done either at the total project level or at subsystem level. The total project level has the advantage that all cost components of the system will be considered while the subsystem level has the advantage of providing a more detailed assessment of the similarities and differences between the new project and the completed projects. Take a completed project, similar in scope, size, structure, environment, constraints, and functions to the current project as its benchmark. Use reasoning and analogy to relate the actual costs incurred for elements of the completed project to similar elements in the current project. Such estimation may be conducted either top-down or bottom-up. This method has the advantage of assessing costs based on actual project experience rather than theoretical assumptions. Success, however, depends on the extent to which the previous project bears resemblance to the current project, and such relation remains subjective.
  • 6. BY: Taqi Shah Page 6 A related method is the parametric estimation model, or taking historical information as the base, making assumptions regarding changes, and extrapolating the information to the preset project 3.1.2. Expert judgment: The expert judgment costing model makes the assessment of costs by leveraging the experience of one or more subject matter experts (SME). A common expert judgment model is the Delphi technique, which involves constituting an expert panel, conducting a survey where each expert states their opinion, followed by discussion, and repeating the exercise multiple rounds until all the experts develop a consensus to identify a common cost estimate. Agile projects rely on the experience of people who actually undertake the work and remain familiar with actual costs, rather than theoretical or boardroom experts detached from the actual operations. Expert judgment methods are grounded in practical realities but remain highly subjective. Success depends wholly on the skills and competence of the experts chosen. 3.1.3. Parkinson’s Method Parkinson’s Law holds that “work expands to fill the available volume or time.” Using this percept, cost estimation is based on identifying available resources rather than any objective assessment or estimates. For instance, the cost estimate for a software project with a timeframe of 12 months and personnel requirement of five entails direct calculation of the wages of five people for 12 months. This method, though simple and straightforward, may create unrealistic estimates and may not cover all bases. Although it sometimes gives good estimation, this method is not recommended as it may provide very unrealistic estimates. Also, this method does not promote good software engineering practice. 3.1.4. Price-to-Win Model The price-to-win model estimates cost based on the customer’s budget rather than internal resources or capabilities, and by extension depends on the product pricing, which in turn depends on market forces. This is a practical approach, for ultimately the net cost is what the customer pays, minus profits, and any excess scope or size invariably gets toned down to match customer budgets. For instance, if a software project was estimated at 500 person-months, it would invariably be toned down to 300 person-months if the customer could afford only that much. On the flip side, this approach does not consider the possibility of projects incurring loss owing to scope creep or any other reason. This is again not a good practice since it is very likely to cause a bad delay of delivery or force the development team to work overtime.
  • 7. BY: Taqi Shah Page 7 3.1.5. The Definitive Estimate (or bottom-up estimate) It is the most accurate of the estimate types, but takes the most time to create. The definitive estimate requires a work breakdown structure (WBS). A WBS is not a list of activities. A WBS is a deliverables-oriented decomposition of the project scope. That's decomposition of the deliverables that your project will create for the customer. Then each component of the software system is separately estimated and the results aggregated to produce an estimate for the overall system. The requirement for this approach is that an initial design must be in place that indicates how the system is decomposed into different components 3.1.6. The Budget Estimate (or top-down estimate) It is a bit more accurate. Formulated fairly early in the project's planning stage, the budget estimate is most often based on analogous estimating, taking budget lessons learned from a similar project and applying them to the current project. Do a little maths magic and we've got ourselves a budget estimate. With the budget estimate, we start at the top and work our way down into the project details. This estimate should include conditions, a range of variance, and any assumptions that went into your calculations. A budget estimate is quick, but not very accurate. The range of variance on the budget estimate is from -10 percent to +25 percent. This approach is more suitable for cost estimation at the early stage. 3.1.7. Reserve Analysis: The method deals with unforeseen circumstances in a project environment, which necessitates the establishment of reserves for the project activities. These reserves are also called contingency allowances that are utilized for reducing risks, and countering threats. Characteristics of a cost estimating system are to ensure that the cost estimates are accurate. If the funds are not adequate, then the reserves are used for the project activities. 3.2.Algorithmic methods The algorithmic methods are based on mathematical models that produce cost estimate as a function of a number of variables, which are considered to be the major cost factors. Any algorithmic model has the form: Effort = f(x1, x2, …, x) where {x1, x2, …, xn} Denote the cost factors. The existing algorithmic methods differ in two aspects: the selection of cost factors, and the form of the function f. We will first discuss the cost factors used in these models, then characterize the models according to the form of the functions and whether the models are analytical or empirical.
  • 8. BY: Taqi Shah Page 8 3.2.1. Cost factors Besides the software size, there are many other cost factors. The most comprehensive set of cost factors are proposed and used by Boehm et al in the COCOMO II model. These cost factors can be divided into four types: Product factors: required reliability; product complexity; database size used; required reusability; documentation match to life-cycle needs; Computer factors: execution time constraint; main storage constraint; computer turnaround constraints; platform volatility; Personnel factors: analyst capability; application experience; programming capability; platform experience; language and tool experience; personnel continuity; Project factors: multisite development; use of software tool; required development schedule. The above factors are not necessarily independent, and most of them are hard to quantify. In many models, some of the factors appear in combined form and some are simply ignored. Also, some factors take discrete values, resulting in an estimation function with a piece-wise form. 3.2.2. Linear models Linear models have the form: Where,a1,a2..,an are selected according to the project information. work of Nelson belongs to this type of models [26]. We agree with Boehm's comment that "there are too many nonlinear interactions in software development for a linear model to work well”. 3.2.3. Power function models Power function models have the general form: Effort = aSb Where S is the code-size, and a, b are (usually simple) functions of other cost factors. This class contains two of the most popular algorithmic models in use, as follows: 3.2.4. COCOMO 1 The most popular algorithmic cost estimation model for software projects is the Constructive Cost Model (COCOMO II), developed by Barry Boehm and Ellis Harrowitz in 2000. 3.2.4.1. The basic COCOMO'81 It is a simple static model that considers the software development cost as a function of a program's size expressed in estimated lines of code.
  • 9. BY: Taqi Shah Page 9 It computes software development effort (and cost) as a function of program size expressed in estimated lines of code (LOC). The basic COCOMO estimation model is given by the following expressions: Effort = a * (KLOC)b PM Tdev = 2.5 * (Effort)c Months here KLOC is the estimated size of the software product expressed in Kilo Lines of Code a, b, c are constants for each category of software products Tdev is the estimated time to develop the software, expressed in months Effort is the total effort required to develop the software product, expressed in person months (PMs) The effort estimation is expressed in units of person-months (PM). The value of the constants a, b, c are given below: Software project a b c Organic 2.4 1.05 0.38 Semi-detached 3.0 1.12 0.35 Embedded 3.6 1.20 0.32 3.2.4.2. The intermediate COCOMO'81 model It computes software development cost as a function of program size and a set of four subjective cost drivers: product factors, computer factors, constraints, and personnel factors. Product factors include aspects such as required reliability, complexity, usability, size of database, and more. Computer factors include constraints such as execution time, storage, turnaround, and platform volatility. Personnel factors include capability of the analyst, application, language, and tool experience, personnel continuity, and more. Project factors include multi-site development, software tools and more. The basic COCOMO model assumes that effort and development time are functions of the product size alone. However, many other project parameters apart from the product size affect the development effort and time required for the product. Therefore, in order to obtain an accurate estimation of the effort and project duration, the effect of all relevant parameters must be taken into account.
  • 10. BY: Taqi Shah Page 10 The intermediate COCOMO model recognizes this fact and refines the initial estimate obtained using the basic COCOMO expressions by using a set of 15 cost drivers (multipliers) based on various attributes of software development. For example, if modern programming practices are used, the initial estimates are scaled downward by multiplication with a cost driver having a value less than 1. 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) as shown below. An effort multiplier from the table below [i] applies to the rating. The product of all effort multipliers results in an Effort Adjustment Factor (EAF). EAF is used to refine the estimates obtained by basic COCOMO as follows: Effort|corrected = Effort * EAF Tdev|corrected = 2.5 * (Effort|corrected) c 3.2.4.3. The detailed COCOMO'81 model It incorporates all characteristics of the intermediate version and also incorporates an assessment of the cost driver’s impact on each step of the software engineering process.
  • 11. BY: Taqi Shah Page 11 Regardless of the cost estimation model chosen, success depends on a good understanding of how the model works and how to apply it to determine project costs. A project manager is better off adopting a familiar yet limited albeit suitable model rather than another model, which may enjoy better industry recognition but which the project manager remains incompetent to handle. The following development project can be considered as an example application of the complete COCOMO model. A distributed Management Information System (MIS) product for an organization having offices at several places across the country can have the following sub-components: Database part Graphical User Interface (GUI) part Communication part Of these, the communication part can be considered as embedded software. The database part could be semi- detached software, and the GUI part organic software. The costs for these three components can be estimated separately, and summed up to give the overall cost of the system. 3.2.5. COCOMO 2 Cocomo 2 consists of two models; the Early Design Model and the Post-Architecture model. The Early design model is a high-level model and can be used in the architectural design stage to explore architectural alternatives or incremental development strategies. This model is closest to the original COCOMO. The Post-Architectural model on the other hand is a more detailed model that can be used for the actual development stage and maintenance stage. It is the most detailed version of COCOMO 2. Both the early Design model and the Post-Architecture model use the same formula to estimate the amount of effort required to develop a software project. Besides these two models also the Application Composition model is described by B. Bohem. The Application Composition model can be used as sizing metric for application composition; and the estimation is based on the number of screens, reports and 3GL components.
  • 12. BY: Taqi Shah Page 12 Formula:
  • 13. BY: Taqi Shah Page 13 4. Effort Estimation? Effort can be measured in staff-hours or staff-months (Used to be known as man-hours or man-months). Effort estimation is answering two basic questions about testing: I. What will be done? II. How much effort would it take? A project manager has to produce: An estimate of the effort. An estimate of the activity durations. An estimate of effort affects ------- Cost An estimate of activity durations affects The delivery time 5. Why Effort Estimation? Estimating the effort of software development is fraught with difficulties, and it is clear that effort should be invested in improving the accuracy and the reliability (consistency) of effort estimates, as well as the assessment of estimate uncertainty. However, it is less clear where to target such improvement efforts. 6. How Effort Estimating? Effort estimation represents step 3 of the project planning process. Before we can plan the project schedule we have to estimate effort and duration of all the work packages of the WBS. Effort estimation will generate a lot more information than only effort and duration:
  • 14. BY: Taqi Shah Page 14 • Who will be responsible for each work package? • What is the work package specification? • What are the expected results of each work package? • How is the achievement of the results measured? • What are the prerequisites for the work package? • What are the conditions under which the work has to be done? • What are the required start and end times? • What and how much material is needed for each work package, at what cost? • What tools are needed for each work package, at what rates? Obviously, effort estimation needs expertise on a work package specific level to accomplish this transition.
  • 15. BY: Taqi Shah Page 15 There are two categories of estimating the effort of each work package: deductive and inductive methods. 6.1.Deductive or Top-down Methods Assume the total cost for the project is given. From there we assign the cost, and thus, the effort of individual work packages based on estimated percentages derived from earlier, similar projects with similar work packages. The advantage of deductive methods is a simple and rapid cost allocation, the disadvantage is that they only work for projects that consist of work packages we already know from earlier, similar projects. 6.2.Inductive or Bottom-up Methods The basic idea of inductive methods is to start effort estimation with the work packages individually, with support of experts, or knowledge of similar work packages of earlier projects, and then summarize bottom up, following the structure of the WBS. 6.2.1. Factor Analysis: For a certain work package, we know all the variables or factors, how they influence the work, and how these factors correlate with each other. Then we can calculate the effort based on a mathematical formula which reflects that influences and correlations. Effort = f (influencing variables, correlation coefficients). For example, the effort of a work package "Develop hardware control unit" is influenced by the number of people involved, P=4, the number of interfaces, S=5, the number of functional blocks, B=10. From earlier projects with similar control units we might know the correlation coefficients. For example, cP=2.5, cS=2, cB=1.5, cU=2.0. Our formula could look like this Effort = f(P, S, B) = cP*P + cS*S*S + cB*B = = 10 + 50 + 15 = = 75 (working days) 6.2.2. Multiplication Method: If we can divide a work package into a number of equal parts then, we can estimate the total effort by estimating one part and then multiplying this value by the number of parts. Total Effort = Effort of one part * number of parts 6.2.3. Analogy Method: This method again applies the knowledge from similar work packages. We interpolate or extrapolate the effort for the work package from a similar one. For example, for the work package “Install electrical wiring in an apartment of 100 sqm” we could guess the effort by interpolation from similar work for apartments of 150 sqm, 10 working days, and 50 sqm, 6 working days:
  • 16. BY: Taqi Shah Page 16 Effort(100 sqm) = (10 + 6) / 2 = 8 working days. 6.2.4. Function Point Method: For IT or software design related work packages we can apply the function point method. The prerequisite is that we need to have a lot of knowledge about the effort of work packages of similar scope and degree of difficulty, based on observation. Then the experts compile this knowledge into so called “function curves” which we can use to estimate effort for new work packages. In the following example we estimate the effort of work about creating 100, 500, and 800 lines of code. We obtain the effort via the corresponding function points on the function curve, 5, 16, and 33 working days, respectively. 6.2.5. Delphi Method: For most of our work packages we use the Delphi method. We just ask the experts for each work package for their best guess, normal guess, and worst guess. Thus we obtain three figures for the expected effort: E(optimistic), E(normal), and E(pessimistic), then combine them with this formula Effort = (E(optimistic) + 4*E(normal) + E(pessimistic)) / 6. If we can ask ten or more experts, we could even calculate the mean values and apply mathematical statistics with the concept of standard deviation. Usually, we ask all the experts to join an effort estimation workshop which can be combined with a risk management workshop, of two, three, or more days depending on the number of work packages that have to be estimated.