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

Work Breakdown Structure

Process contains

Process contains

Process leads to

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

The Bucket System