User story estimation and sizing is the process before development begins by which a development team predicts (approximately) how much effort a task will likely take to complete.
Once a user story has been written and groomed, it is ready for the development team to estimate the size of the ticket in the form of story points. This is accomplished with the whole Scrum team together but only the developers should provide story point estimates. Rather than estimating the size of a task in terms of how much time it’ll take, the size of a user story is usually estimated by its: Effort Complexity
Estimating the size of a user story in time (for example - hours or days), is not recommended. One reason is because each developer on a team has different expertise and skill sets. What will take a senior developer a few hours might take a junior developer a few days. Sizing based on effort and complexity provides a more common, measurable baseline that each team member can agree to.
The purpose of user story estimation and sizing is to establish a system whereby a scrum team can:
- Establish a common metric of relative effort
- Measure team speed and velocity
- Predict what points can be completed in a given time period
This process provides an opportunity for each scrum team member to ask questions and for the developers to get clarification or weigh in on the technical aspects of a ticket.
A common method of sizing user stories is by using the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21). Many development teams also use a method called planning poker which utilizes the Fibonacci sequence to streamline the estimation process.