I recently worked with some teams in India that were obsessed with effort estimation. It turned out their real problem wasn’t estimation, it was keeping the product in a properly tested, shippable state all the time — the basic requirement of Scrum. If the product is always shippable, and the user stories are always small, and the Product Owner is always prioritizing, we can always ship a product with the important stuff in it. If we get some estimates wrong, it just means we’ll omit the less important features. This isn’t a perfect situation, but it’s much better than what most companies do: ship late, or ship untested.
Agile teams generally use relative estimation approaches such as story points, sometimes a Fibonacci scale, sometimes an exponential scale. To learn how, watch this example of a Backlog Grooming Meeting. Note that the Scrum team does not pay much attention to the points during the example Sprint Planning Meeting. They are mostly to help the Product Owner make forecasts.