Search code examples
project-planningestimationuser-stories

Time estimation for a user story


How do you estimate the time needed to implement a user story? If it's something you had done before you know how long it'll take. But what about if it's completely new to you? How much time do you reserve for "surprises"?


Solution

  • A great technique for this is to break the story down to somewhat smaller tasks, and estimate them compared to each other (instead of absolutely). So you can say:

    • Task A will take 2 units (arbitrary)
    • Task B is about 2 times as complicated as Task A (4 units)
    • Task C is about half has complicated (1 unit)

    We're better at estimating relative complexity than absolute complexity. Then you actually perform one of the tasks, and figure out how much "real time" it takes you to implement 1 unit - now you can calculate all the tasks. You keep updating your estimates according to how you progress.

    This technique is from Agile Estimating and Planning by Mike Cohn, which is a great book on the subject.