We definitely need estimation to plan our software development, in agile we do estimation in little different way than traditional effort estimation, its easy, interesting and yes effective too.
In Agile Estimation we can estimate at its different hierarchy item ( read about story hierarchy ), in this article we are focusing on estimating user stories and its tasks.
Traditionally we use to estimate efforts to develop a functionality, where in agile we estimate Business values or Complexity of a user story level. And estimate efforts in Task level. The unit of estimating user story for its value or complexity is story points, and the unit of estimating a task for its effort is Hours.
We usually relate T-Shirt sizing with Story sizing to mark the relative difference between user story size, e.g., Extra Small , Small, Medium, Large, Extra Large etc, We will discuss about story points in details, later in this article.
The below diagram will help you under stand story level estimation and Task level estimation.