The question in agile development is the other way up – how can I be sure enough features will be delivered to achieve the objectives and realise the benefits? And the truth is, that’s still a really tough question.
Unfortunately, no methodology – agile or otherwise – can completely mitigate the risks of software development, because it’s inherently a potent cocktail of unpredictability (people, software, estimates, change).
However agile development does provide clear, measurable, visible progress on a frequent basis, so it goes a long way in mitigating risks and identifying issues early, while there’s still time to react.
See also: Time waits for no man!