Estimation based on hours or story points
What should be the efficient way for forecasting sprint work ? Whether it should be decided based of hours/task efforts or story points ?
What do you mean by "efficient"?
A common way to forecast sprint work is to use Story Points. They are arbitrary and can be given fairly easily once the team is used to the concept.
Hours for tasks are also done by some teams but not as common from what I have seen.
Would you rather be effective or efficient?
Scrum does not require the Development Team to use story points. Scrum only requires that a Product Backlog item have an estimate. How a Development Team estimates is up to them. They may choose T Shirt Sizes, number of Product Backlog items, gut feel or other techniques. Regardless, whatever the measure, it should be based on the amount of PBIs turned into a "Done" Increment, on average, every Sprint.
Story points may work great for the Development Team, and if they do, keep at it. In my experience points cause more problems than they are worth.
Help them understand that there are many options, to experiment to see what works for them, and let them decide.
The Scrum Master's motto: Take it to the Team!
What should be the efficient way for forecasting sprint work ? Whether it should be decided based of hours/task efforts or story points ?
I would say "whatever the team finds most efficient" - whatever lets the team go into Sprint Planning, understand the size and scope of each Product Backlog Item, and determine (based on the team's capacity) how many Product Backlog Items are likely to get done.
I've worked with teams that favor Story Points. However, more recently, I've been coming around to the idea of not giving a numerical estimate and favoring thin, discrete slices of work. However, ideal hours also makes a lot of sense to me, since it's very easy to judge how close the sum of ideal hours is to the team's actual working time in the upcoming Sprint. In fact, the earliest Story Points were based on ideal time and a load factor.