Effort Estimation
Outline
  • Fundamentals
  • What works
  • Why things go wrong
  • Case Study
  • Questions & Answers
Outline
  • Fundamentals
  • What works
  • Why things go wrong
  • Case Study
  • Questions & Answers
Estimates

• Estimation is essential for development but often is a ‘guess’.

• We must negotiate expectations for collaboration

  • I’ll check in the unit tests by noon
  • I’ll have the search feature implemented by Friday
  • We will have the project done in December

• Why do we need to estimate?

  • We need to set expectations
  • We need to allocate time and resources
  • Other tasks depend on its completion
  • We need to make better estimates in the future
 
Effort

• Effort can be structured based on the visibility of results.

  • Tasks – effort that produces an identifiable and valuable output
  • Activities – a sequence of tasks 
  • Projects – a complex sequence of activities

• Estimation with any accuracy gets increasingly hard, perhaps impossible for certain processes.

  • Complex projects
  • Changes in requirements or resources
  • Dependencies on client stakeholders

• Projects are seen to fail or succeed based on the accuracy of the initial estimates.

 
How we estimate

• Comparison – this task is like another task I completed

• Ranking – this task is harder (or easier) than another task

• Coercion– we are told how long a task will take

• Time-boxing – I can allocate only this amount of time

• Three=-points – Optimistic, pessimistic, likely paths

• We often neglect our experience in estimating tasks.

  • Estimates express ‘ideal’ time and effort
  • Communication
  • Meetings
  • Set up and tear-down
 
Overview: Effort Estimation