This is a nice concise post on the benefits of agile planning from Martin Fowler:
http://martinfowler.com/bliki/FivePoundBag.htmlIt's somewhat of an art form getting it right. I've always liked the analogy of a bucket for each iteration. You want to make sure the bucket is full for each iteration (ie, don't have too few stories)
to maximise the team's velocity. It's always possible to overfill the bucket a little before stories start falling out but putting too much in can burn out the team, reduce the quality and cut corners on functionality.
Martin mentions estimation and tracking as a key inputs. I've found that getting developers to estimate at the task level rather than a story gives more focus and more acturate estimates. Getting the developers to track the time spent on each task on a card or board where they can also see their estimate also helps. Too often we don't close the feedback loops with estimation to see how the estiamtes compare too the actuals. This exercise improves the quality of the estimation.