Upload
aru6374
View
219
Download
0
Embed Size (px)
Citation preview
8/14/2019 Topic5 Project Estimates
1/38
8/14/2019 Topic5 Project Estimates
2/38
8/14/2019 Topic5 Project Estimates
3/38
8/14/2019 Topic5 Project Estimates
4/38
Cost estimation objectives
To establish a budget for a software project. To provide a means of controlling project costs. To monitor progress against that budget by
comparing planned with estimated costs. To establish a cost database for future
estimation. Cost estimation and planning/scheduling are closely related
activities.
8/14/2019 Topic5 Project Estimates
5/38
Software cost components
Hardware and software costs. Travel and training costs.
Effort costs (the dominant factor in most projects) The salaries of engineers involved in the project; Social and insurance costs.
Effort costs must take overheads into account Costs of building, heating, lighting.
Costs of networking and communications. Costs of shared facilities (e.g library, staff restaurant, etc.).
8/14/2019 Topic5 Project Estimates
6/38
Estimation Techniques - TraditionalProject Management Approaches
Guesstimating Delphi Technique
Time Boxing Top-Down Bottom-Up Three point
Analogous Estimates (Past experiences)
8/14/2019 Topic5 Project Estimates
7/38
Guestimating
Estimation by guessing or just picking numbers out of the air isnot the best way to derive a projects schedule and budget.Unfortunately, many inexperienced project managers tend toguesstimate, or guess at the estimates , because it is quickand easy.
8/14/2019 Topic5 Project Estimates
8/38
Delphi Technique
Involves multiple, anonymous experts Each expert makes an estimate
Estimates compared If close, can be averaged If not, do another iteration until consensus is reached
8/14/2019 Topic5 Project Estimates
9/38
Time Boxing
A box of time is allocatedfor a specific activity, task, ordeliverable
Can focus a team if usedeffectively
Can demoralize a team if notused effectively
8/14/2019 Topic5 Project Estimates
10/38
Top-Down
Top & middle managersdetermine overall projectschedule &/or cost
Lower level managers areexpected to breakdownschedule/budget estimatesinto specific activities (WBS)
8/14/2019 Topic5 Project Estimates
11/38
Bottom-Up
Schedules & budgets areconstructed from WBS
Starts with people who willbe doing the work
Schedules & budgets arethe aggregate of detailedactivities & costs
8/14/2019 Topic5 Project Estimates
12/38
Analogous Estimates
Use information from previous, similar projects as abasis for estimation Usually done in a Top -down approach Have 3 or 4 experts review requirements Make sure you have the experience and that the two
systems are very similar Can use time, or LOC, or Function Points
8/14/2019 Topic5 Project Estimates
13/38
Three Point
Use a weighted average approach or beta probability distributionapproach to capture three point estimates for each work package Optimistic, Normal, Pessimistic
Equations for expected value (E), and the standard deviation (SD) are: E = (a + 4b + c)/6; SD = (c-a)/6
a = the optimistic estimateb = normal estimate
c = pessimistic estimate
8/14/2019 Topic5 Project Estimates
14/38
Three Point Adds the element of risk into its calculations SMEs determine three types of estimates:
Most Likely
Optimistic Pessimistic
Next the SME uses the weighted average formula
8/14/2019 Topic5 Project Estimates
15/38
Three Point ExampleWeighted average =8 workdays + 4 X 10 workdays + 24 workdays = 12 days
6
where:optimistic time= 8 daysmost likely time = 10 days pessimistic time = 24 days
Therefore, youd use 12 days on the schedule instead of 10when using this technique.
E = (a + 4b + c)/6
8/14/2019 Topic5 Project Estimates
16/38
6.2 Test Results Report6.2.1 Review test plan with client 1 day6.2.2 Carry out test plan 5 days6.2.3 Analyze results 2 days6.2.4 Prepare test results report and presentation 3 days
6.2.5 Present test results to client 1 day6.2.6 Address any software issues or problems 5 days
Estimates are made for eachactivity in the WBS
How did we come up with these estimates? Using a technique,or combination of techniques, with the exception of guestimating!
8/14/2019 Topic5 Project Estimates
17/38
Estimating Techniques -Software Engineering Approaches
Lines of Code (LOC) Function Points
COCOMO
8/14/2019 Topic5 Project Estimates
18/38
Task Sizing Lines of Code
Has been one of the most used methods Based on historical results Effort, dollars, documentation, software bugs, and
number of resources Advantages
Can be very quick and inexpensive to generate Can be done early in the process
Universal metric Can be generated easily, in most environments
automatically Facilitate a lessons-learned process
8/14/2019 Topic5 Project Estimates
19/38
Lines of Code - Disadvantages
Must compensate for technology differences Cant be done well unless relevant history exists Must determine what counts as a line of code What level of resource is generating the code No industry standards Need to distinguish between auto-generated
code and original work Needs to be continually updated
8/14/2019 Topic5 Project Estimates
20/38
Function Points Analysis
used to estimate time and dollars based on thegenerated system requirements specification
A function point measures the size of a businessfunction that the new system needs to have such as aninput screen or report
Function Point analysis can be done at any point in theproject but are not considered accurate until late inthe planning phase
8/14/2019 Topic5 Project Estimates
21/38
Process of Function PointsStep 1 : Count the number of business functions within each of the
following categories: user inputs, user outputs, inquiries, datastructures, and external interfaces
Step 2 : Determine the complexity level of each function as simple,medium, or complex. For example output complexity is determinedby the number of elements involved, any complex calculations orcomplex process logic and the number of data structures.
Step 3 : Assign weights for each level of complexity within eachcategory
Step 4 : Multiply each function by its weight and then sum each
product to obtain the total unadjusted function points.Step 5 : Compute the Value Adjustment Factor (VAF)Step 6 : Compute adjusted function point total using the formula
[Unadjusted total x (0.65 + 0.01 x VAF)]
8/14/2019 Topic5 Project Estimates
22/38
Example
8/14/2019 Topic5 Project Estimates
23/38
Next Step: compute the value adjustmentfactor based on the following table
0 = no effect1 = incidental2 = moderate3 = average4 = significant
5 = essential
8/14/2019 Topic5 Project Estimates
24/38
Function Points Next : calculate the total adjusted function points:
Unadjusted total x (0.65 + 0.01 x VAF) or1050 x (0.65 + 0.01 x 40) = 1102.50
Results
Effort = (1.49 hrs effort per f/point) (1102.50) = 1,642.7 hrs
Documentation (.25 pages per f/point) (1102.50) = 275.63pages
Bugs (.025 bugs per f/point) (1102.50) = 27.5 bugs User Instructed Rework (.04 per f/point) (1102.50) = 44.1 Dollars ($105.10 per f/point) (1102.50) = $115,872.75
8/14/2019 Topic5 Project Estimates
25/38
Uses for Function Points
# of pages of documentation per FP Levels of effort per FP (person months) Level of expertise per FP (expert, novice) Cost per FP
New derivative called Feature Points or ObjectPoints
8/14/2019 Topic5 Project Estimates
26/38
Advantages with Function Points It is independent of programming language and technology It can be used early in the project life cycle at the end of the
requirements discovery phase or design phase A wealth of research exists to support the process
Impact of scope changes easier for all to comprehend andtrack Organizations can track their own results and improve the
function point estimates
It can be used in any development environment
8/14/2019 Topic5 Project Estimates
27/38
Issues with Function Points
Requires many subjective evaluations (complexity ratings andenvironmental factors)
Accuracy is greatly increased only after the detailed designphase or after a few project iterations have been performed
Takes some time (training) to perfect and can vary dependingon who is doing the calculations due to personal bias
8/14/2019 Topic5 Project Estimates
28/38
COCOMO
COnstructive COst MOdel First developed by Barry Boehm in 1981 Most widely accepted models available today Revised into version II in 1995 Version II setup to handle new development
methodologies; RAD, Iterative/Incremental, COTSpackages, O-O application distribution, frameworksand components, etc.
Models available on website and algorithms arepublished. Commercial software exists
8/14/2019 Topic5 Project Estimates
29/38
COCOMO Consists of three project types described as:
Organic small project teams, little innovation, constraintsand deadlines are few, stable development environments,known familiar technology, few changes expected
Semidetached medium sized project teams, someinnovation, few constraints, tighter deadlines, and morechanges expected, still a fairly stable developmentenvironment
Embedded largest of the three in all categories, largeproject teams, constant innovation, many constraints, verytight deadlines, and many changes expected, complexdevelopment environment
8/14/2019 Topic5 Project Estimates
30/38
COCOMO Effort Sizing
Organic: Effort = 2.4 x KLOC1.05 where KLOC = 1000 lines of code Duration = 2.5 x Effort 0.38
Semidetached Effort = 3.0 x KLOC1.12 Duration = 2.5 x Effort 0.35
Embedded Effort = 3.6 x KLOC1.20 Duration = 2.5 x Effort 0.32
8/14/2019 Topic5 Project Estimates
31/38
COCOMO Effort Example
Semi-Detached
10,600 Java LOC = 200 FP * 53
Effort = 3.0 * KLOC1.12
= 3.0 * (10.6) 1.12
= 42.21
8/14/2019 Topic5 Project Estimates
32/38
COCOMO Duration Example
Duration = 2.5 * Effort 0.35
= 2.5 *(42.21) 0.35
= 9.26 months
People Required = Effort / Duration= 42.21 / 9.26
= 4.55
8/14/2019 Topic5 Project Estimates
33/38
COCOMO Advantages
Can be Quick Can be done early in the project
Can be tailored to fit any organization Can be applied at different phases of the life cycle Many models exist to aid organizations in getting started
8/14/2019 Topic5 Project Estimates
34/38
COCOMO Issues
Ignores documentation and other requirements No compensation for customer attributes (availability, knowledge,
cooperation) Ignores personnel turnover issues Based on historical data which may be obsolete Used only to estimate the development effort, other phases of the project
(planning, implementation) are not accounted for
Wh i
8/14/2019 Topic5 Project Estimates
35/38
What can cause inaccurateestimates?
Scope changes Overlooked tasks Poor developer-
usercommunication
Poor understandingof project goals
Insufficient analysis
No (or poor)methodology
Changes in team
Red tape Lack of project control Not identifying or
understanding impactof risks
8/14/2019 Topic5 Project Estimates
36/38
Other Factors to Consider When Estimating
Rate at which requirements may change Experience & capabilities of project team Process or methods used in development Specific activities to be performed
Programming languages or development tools to be used Probable number of bugs or defects & removal methods Environment or ergonomics of work space Geographic separation of team across locations Schedule pressure placed on the team
b
8/14/2019 Topic5 Project Estimates
37/38
How can estimates beimproved?
Experience!
Lessons learned Best Practices
Revision Monitor Focus on deliverables Control
8/14/2019 Topic5 Project Estimates
38/38
Questions?