Professional Documents
Culture Documents
Topic 5
Learning outcome
To introduce Software estimation and its objectives To describe Software Estimation techniques To explore Estimation issue, factor and improvement
Guestimating
Estimation by guessing or just picking numbers out of the air is not the best way to derive a projects schedule and budget. Unfortunately, many inexperienced project managers tend to guesstimate, or guess at the estimates, because it is quick and easy.
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
Time Boxing
A box of time is allocated for a specific activity, task, or deliverable Can focus a team if used effectively Can demoralize a team if not used effectively
Top-Down
Top & middle managers determine overall project schedule &/or cost Lower level managers are expected to breakdown schedule/budget estimates into specific activities (WBS)
Bottom-Up
Schedules & budgets are constructed from WBS Starts with people who will be doing the work Schedules & budgets are the aggregate of detailed activities & costs
Analogous Estimates
Use information from previous, similar projects as a basis 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
Three Point
Use a weighted average approach or beta probability distribution approach 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 estimate b = normal estimate c = pessimistic estimate
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
How did we come up with these estimates? Using a technique, or combination of techniques, with the exception of guestimating!
Estimating Techniques Software Engineering Approaches Lines of Code (LOC) Function Points COCOMO
Example
Next Step: compute the value adjustment factor based on the following table
0 = no effect 1 = incidental 2 = moderate 3 = average 4 = significant 5 = essential
Function Points
Next: calculate the total adjusted function points: Unadjusted total x (0.65 + 0.01 x VAF) or
1050 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.63 pages 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
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, COTS packages, O-O application distribution, frameworks and components, etc. Models available on website and algorithms are published. Commercial software exists
COCOMO
Consists of three project types described as:
Organic small project teams, little innovation, constraints and deadlines are few, stable development environments, known familiar technology, few changes expected Semidetached medium sized project teams, some innovation, few constraints, tighter deadlines, and more changes expected, still a fairly stable development environment Embedded largest of the three in all categories, large project teams, constant innovation, many constraints, very tight deadlines, and many changes expected, complex development environment
Semidetached
Effort = 3.0 x KLOC1.12 Duration = 2.5 x Effort0.35
Embedded
Effort = 3.6 x KLOC1.20 Duration = 2.5 x Effort0.32
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
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
Lessons learned
Best Practices
Revision Monitor Focus on deliverables Control
Questions?