Estimation Techniques
Effort Estimation in Software Development
Estimation by analogy
Having done a similar projects in the past and knowing its size, you estimate each major piece of the new project as a percentage of the size of a similar piece of the previous project. An experienced estimator can produce reasonably good size estimates by analogy if accurate size values are available for the previous project and if the new project is sufficiently similar to the previous one. To do this kind of estimation you need to have a base of projects for comparing.
Pros:
- Easy to collect data for evaluation
- Good accurate estimation, accuracy within 50%
- Can be used in the early stages of development
- No need to have business area knowledge
Cons:
- Need to have estimated projects base
- Quality of estimation depends on quality of the base
- Inaccurate estimates of previous projects, would affect current estimation
Expert judgment
This model are based on consultation of one or more people considered to be experts in software development. Just make sure that everyone has the same understanding of what needs to be delivered. To improve quality of expert judgment, need to use groups of experts.
Pros:
- Easy to organize and make
- Might be very accurate
Cons:
- Quality of estimation depends on expert experience
- Hard to reproduce, two experts will have different estimations
Work Breakdown Structure (WBS)
The Work Breakdown Structure is a method of breaking a project requirements into a list of features and deliverables. After this items can be draft estimated.
Pros:
- Detailed and understand relationships between deliverables and steps
- Transparency and monitoring
- Best for allocating cost and time estimates
Cons:
- Full and detailed requirements
- Scope of the project should be defined
- Poorly constructed WBS may result a negative project outcomes
How it looks
Process contains
Process leads to
Planning Poker
Getting everybody in the team involved in the estimating process is critical to coming up with accurate estimates that reflect the true understanding and investment of the team. To begin, team must choose the most easiest task, consider it as 1 ST issue, for comparing other tasks with it in future. Each team member is given a set of cards with numbers on them. The numbers are usually ordered from 0 to 21 using the Fibonacci sequence: 0, 1, 2, 3, 5, 8, 13, and 21. Good technique to estimate a very small number of items, from 2 to 10.
Pros:
- Very accurate
Cons:
- Very slow
- All team need to be involved
- All team members need to have the same vision of the scope of 1 SP
The Bucket System
Using the same process as Planning Poker, a team estimate items by placing them into “buckets”. The buckets are numbered by Story/Functional Points. So each team member takes feature, read it and place into the bucket. In This way can be estimated large numbers of items, from 50 - 500.
Pros:
- Very fast
- Collaborative
Cons:
- Experienced team
- Roughly estimates
- Relative results