When the team is reviewing the backlog and planning their sprint, they will begin to undertake the process of estimating for each user story so that they can define the work that will take place during the sprint.
Many developers and teams have extensive experience estimating how long coding a requirement will take. Traditionally this has taken the form of estimating how many hours it would take to code each requirement…and traditionally this method did not work very well.
Scrum varies the formula by asking that the team assign story points to each user story. These story points are a measure of the complexity of each story. They do not attempt to assign duration to each story, but instead allow a comparison between tasks.
You may ask why you shouldn’t assign hours to a user story. The reason is simple…each developer codes at a different rate. Having the team assign hours to a story assumes that they all can code at the same speed. Also, by estimating the complexity of each story, you have created a way for the team to analyze the stories from a more abstract vantage point. This can help to reduce bias during the estimating process.