Fundamental Estimation Techniques Flashcards
What does it mean to estimate Size?
Estimating Size refers to estimating the scope of technical work of a given feature set - in units such as lines of code, function points, stories or some other measure.
What does it mean to estimate Features?
Estimating Features refers to estimating how many features can be delivered within schedule and budget constraints.
What is a Small project?
Around 5 tech people or less, duration of at most approx. 3 months.
What is a Medium project?
Around 5-25 tech people, projects which last 3-12 months
What is a Large project?
25 or more tech people, 6-12 months or more
How does a small project affect estimates?
Small projects typically can’t use the statistically oriented techniques that larger projects can because variations in individual productivity drown out other factors.
The best estimation techniques tend to be “bottom-up”, based on estimates created by individuals who will actually do the work.
How does a large project affect estimates?
The techniques differ significantly from the beginning of a project (Top-down-techniques), the middle (combination of top-down and bottom-up) and the end (Bottom-Up)
How does a medium project affect estimates?
They have the advantage of being able to use virtually all estimation techniques that large projects can use, and several of the small-project techniques, too.
Which development styles are important in relation to estimation?
Sequential, where a lot of requirements are defined upfront, vs iterative, where a lot of requirements are defined after construction is underway.
How does the development style affect estimates?
Both styles usually start top-down or statistically-based estimation and migrate toward bottom-up techniques.
Iterative projects transition to refining their estimates more quickly using project specific data.
Which factors should be taken into account when selecting estimation techniques?
- What should be estimated (Size vs Features)
- The size of the project
- The development stage
- The development style
- Accuracy needed
What is estimated with “Count”?
Size, Features
For which project sizes can “Count” be used?
Small, Medium and Large
In which Development Stages can “Count” be used?
Early, Middle and Late
For which development styles can “Count” be used?
Iterative and Sequential
Which level of accuracy is possible with “Count”?
High
What is estimated with “Compute”?
Size, Effort, Schedule, Features
For which project sizes can “Compute” be used?
Small, Medium and Large
In which Development Stage can “Compute” be used?
Early and Middle
For which Development Styles can “Compute” be used?
Iterative and Sequential
Which level of accuracy is possible with “Compute”?
High
What is “Count”?
Counting means to count things which are directly available. If the number of bugs is available, you can just count them instead of estimating them.
What is “Compute”?
Some countable things are not directly related to effort. For instance, when counting requirements, often only the average effort per requirement is available. Applying this to the counted result is “Computing”.
What are the guidelines to find something to be counted?
- Count things which are correlated with the size of software
- Count things which are available sooner than later
- Count something that provides a meaningful average (at least 20 items)
- Count something you understand and have checked your assumptions
- Count something you can count with minimal effort