Agile teams look at project work as an assignment to the collective team.
Rather than working in the units of time it will take to finish each piece of work,
they think about the amount of effort that will be required to complete the work,
and the complexity and amount of sustained concentration it will take to produce
it in a finished, tested, and workable form. For example, it may take an hour to
change a tire and also an hour to rewire the fuse box in your basement, but there
is a pronounced difference in the complexity and knowledge the person will need
to embrace in order to finish each task to a workable, usable, stopping place. The
sustained concentration and testing is much more difficult on rewiring the fuse
box than merely changing a tire.
Since the team will be committing to complete this work as a single entity, it
makes sense that they should also be in charge of looking at the details of what
will be produced and figuring out a way to show a relationship between tasks in
terms of their difficulty. Then, a relative number, usually called story points, can
be assigned each task (a smaller portion of a user story) to allow the group to intel-
ligently assess how much they can do in the upcoming iteration.
I am actually reading about this topic from a book titled Agile Practices for Waterfall Projects - Shifting Processes for Competitive Advantage Chapter 8 How Do Agile Teams Estimate? page 108-111 specifically reviews a few estimating processes:
- Fibonacci sequence
- Planning poker
- Team estimation game
- t-shirt sizes
- dog estimates
It looks like you can read the whole chapter through Google Books - best of luck.