Have you ever come across any project which got completed within the agreed upon time within initially agreed upon budget?. I am yet to. Still we strive for accurate estimates which is conflict with the basic characteristic of progressive elaboration, which is applicable to all projects. In the agile world, we do not strive for too much accuracy for estimates and at the same time we need some kind of a budgetary estimate. We have to define the roadmap for projects and plan for the necessary resources for the project even if they are not definitive (rolling wave or moving window planning). In order to make a definite quantity of fruit salad we need to know how many Apple's, oranges and pineapples are required. We are not really worried about whether it is a large, small or medium sized apple.
In a similar fashion, the stories are given weightages based on the amount of work involved to complete them. The most commonly used scale is the fibonacci series of 0,1,2,3,5,8,13,21 and so on where 1 is the least. 0 is for those stories which are not possible to estimate at the moment.
Playing poker is the most popular estimation technique used. The ser stories to be estimated are explained by the product owner and all the queries by the estimation team are answered. Then the estimators individually assign a weightage to the story under consideration. During this process discussion among the estimators are discouraged to avoid any sort of bias. Once the story points are allocated individually then they are shown together and consensus is achieved through discussions. Decisions based on majority or seniority are not allowed. Everything is driven my meritocracy of the logic, idea.
If we take a closer look at poker for estimation, it is the implementation of the good old technique of wide band Delphi, where experts estimate individually and then consensus arrived.