of 29
8/3/2019 Project Estimation 2
1/29
1
8/3/2019 Project Estimation 2
2/29
Out lineWhat is estimation
Objective of estimation
Why it is important? Project estimation process
Conclusion
Cocomo Model with example
Wideband Delphi Process
Compiler project example
2
8/3/2019 Project Estimation 2
3/29
What is estimation? The definition of the verb estimate is to produce a
statement of the approximate value of some quantity.
Estimates are based upon incomplete, imperfectknowledge and assumptions about the future.
For these reasons, many estimates of software costs arenot 100% correct.
So, all estimates have uncertainty.
3
8/3/2019 Project Estimation 2
4/29
Objective of estimation Effort / Cost
Schedule
Staffing Risk
Reliability
4
8/3/2019 Project Estimation 2
5/29
why it is important? The project manager must set expectations about the time
required to complete the software among the stakeholders,the team, and the organizations management.
If those expectations are not realistic from the beginning ofthe project, the stakeholders will not trust the team or theproject manager.
5
8/3/2019 Project Estimation 2
6/29
Project Estimation Process Ideally an estimate should be produced using the ten-step
process.1) Establish estimate scope
2) Establish ground rules & assumptions3) Collect data4) Size software5) Prepare baseline estimates6) Quantify risks & risk analysis7) Review, verify, validate estimate8) Generate a project plan9) Document estimate & lessons learned10) Track project throughout development
6
8/3/2019 Project Estimation 2
7/29
1-Establish Estimate Scope
and Purpose Define and document expectations
When all participants understand the scope andpurpose of the estimate, you clear up contradictoryassumptions,
Establish a baseline for measuring the effect of future
changes, and head off potential misunderstandings.
7
8/3/2019 Project Estimation 2
8/29
2-Establish ground rules, and
assumptions To establish an accurate technical baseline, you must
first define the functionality that must be estimated.
Recognize the constraints associated with theapplication and the project.
Determine what functionality must be developed
versus what can be provided via COTS (CommercialOff-the-Shelf )or reuse
8
8/3/2019 Project Estimation 2
9/29
Ground rules are concise statements that describe the
basis from which the estimate is made. No costs associated with travel are included is an
example of a ground rule.
Assumptions are suppositions that describe unknown
variables that will affect an estimate
9
2-Establish ground rules, andassumptions
8/3/2019 Project Estimation 2
10/29
3-Collect data Identify the data required and the information
holders.
Be sure you are asking the right people the rightquestions.
During interview confirm data is realistic and valid
When you have determined that the supplied data is
valid and complete, publish the corrected raw data. Store the raw and normalized data in a database
10
8/3/2019 Project Estimation 2
11/29
4- Determine size and scope
This is most critical step in determining the ultimatesuccess of a project.
So , spend the bulk of the time you have on sizing theproject .
Use of sizing database and tools can facilitate thisprocess.
11
8/3/2019 Project Estimation 2
12/29
5-Prepare baseline estimate Budget and schedule are derived from estimates.
so if an estimate is not accurate, the resulting
schedules and budgets are likely to be inaccurate also. Estimating a project should not be thought of as a one-
time activity.
As projects progress, unknowns become known's, and
new and unexpected issues and opportunities arise.
12
8/3/2019 Project Estimation 2
13/29
5-Prepare baseline estimate
First, trained, experienced, and skilled people shouldbe assigned to size the software and prepare theestimates.
Second, it is critically important that they be given theproper technology and tools.
And third, the project manager must define and
implement a mature, documented, and repeatableestimation process.
13
8/3/2019 Project Estimation 2
14/29
6-Quantify risks and risk
analysis Risk can be characterized in terms of a loss of time,
quality, money, control, or understanding.
The loss associated with a risk is called the risk impact. Risk cannot be eliminated, but it can be planned for.
Risk, by itself, will not threaten the success of a projectif it is recognized and addressed in a timely fashion.
14
8/3/2019 Project Estimation 2
15/29
7-Validate and reviewValidating and reviewing your estimate provides a
systematic confirmation of your estimates integrity.
This step enables the organization to be moreproactive in adjusting project variables.
and justifies confidence that project data is sound,methods are effective, anticipated results are accurate,
and focus is properly directed. The validation should be performed by someone who
was not involved in generating the estimate itself, whocan view it objectively.
15
8/3/2019 Project Estimation 2
16/29
8-Generate a project plan Generating a project plan employs the project estimate
as a basis for allocating and communicating specificcost, resources, and timelines in a detailed function,
and task-oriented work breakdown structure.
16
8/3/2019 Project Estimation 2
17/29
9-Document estimate and
lessons learned
Each time you complete or update an estimate and
upon completion of a project, you should documentthe information .
Record the lessons you learned.
By doing so, you will have evidence that your process
was valid .
17
8/3/2019 Project Estimation 2
18/29
10-Track performance
(measurement and feedback)
In-process information should be collected
continuously and compared against the original planand baseline.
If performance varies consistently or significantly,corrective options should be evaluated and
implemented to get the project back on track
18
8/3/2019 Project Estimation 2
19/29
Conclusion Software cost estimation is a difficult process but a
necessary part of a successful software development.
Sometimes management is reluctant to take thesesteps(1,6,7)
This can be a costly attitude, because in reality everyshortcut results in dramatic increases in project risks.
19
8/3/2019 Project Estimation 2
20/29
8/3/2019 Project Estimation 2
21/29
Basic COCOMO is good for quick, early, rough orderof magnitude estimates ofsoftware costs
It does not account for differences in hardwareconstraints, personnel quality and experience, useof modern tools and techniques, and other projectattributes known to have a significant influence onsoftware costs, which limits its accuracy
21
8/3/2019 Project Estimation 2
22/29
The Development Modes: Organic
small" teams
with "good" experience relativelysmall and requires little innovation
22
8/3/2019 Project Estimation 2
23/29
Semidetached Mode
medium" teams.
with mixed experience The size range of a semidetached mode product
generally extends up to 300 KDSI
23
8/3/2019 Project Estimation 2
24/29
Embedded Mode Complex projects where the software is part of a
strongly coupled complex of hardware, software,regulations and operational procedures.
24
8/3/2019 Project Estimation 2
25/29
COCOMO:
Some Assumptions Primary cost driver is the number ofDelivered
Source Instructions (DSI) / Delivered Line OfCode developed by the project
COCOMO estimates assume that the project will enjoygood management by both the developer and the
customer
25
8/3/2019 Project Estimation 2
26/29
Assumes the requirements specification is notsubstantiallychanged after the plans andrequirements phase
26
8/3/2019 Project Estimation 2
27/29
Basic COCOMO Model: FormulaEffort Applied (in person-months) = a* (KLOC)bDevelopment Time (in months) = c * (Effort Applied)dPeople required = Effort Applied / Development Time
27
a b c d
Organic 2.4 1.05 2.5 0.38
Semi-detatched 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
8/3/2019 Project Estimation 2
28/29
Basic COCOMO Model: Equation
28
Mode Effort Schedule
Organic E=2.4*(KDSI)1.05 TDEV=2.5*(E)0.38
Semidetached E=3.0*(KDSI)1.12
TDEV=2.5*(E)0.35
Embedded E=3.6*(KDSI)1.20
TDEV=2.5*(E)0.32
8/3/2019 Project Estimation 2
29/29
Basic COCOMO Model: ExampleWe have determined our project fits the
characteristics ofSemi-Detached mode
We estimate our project will have32,000 DeliveredSource Instructions. Using the formulas, we canestimate:
Effort = 3.0*(32) 1.12 = 146 Person-months
Schedule = 2.5*(146)0.35
= 14 monthsAverage Staffing = 146 MM /14 months
= 10 FSP
29