When using an agile approach there is a different way of making estimations, you don’t calculate hours but use story-points. Story points are a number indicating the difficulty of a user story (and thus indicating the amount of time/cost it will take to build it).
When we start on a new version of easygenerator we will from a business perspective assign priorities to the user stories. Very large developments (epic) stories are divided into smaller stories that fit in one sprint. The development team will give rough estimations on the stories with the highest priorities (the ‘must haves’ and ‘need to haves’). Based on these estimations the priorities are reviewed by the product owner and me. Sometimes when you see that it will take a lot of time to complete a user story you will decide that it is not that important after all, and vise versa. This way the user stories are organized by priority in the backlog.