关于敏捷开发和风险控制的问题

1,如果我决定使用时间箱方式进行迭代开发,并确定好每个迭代周期的截至时间。我的问题是:假设在某个迭代中,客户需求变化巨大,造成无法在该次迭代的截至时间内完成任务,大量的该次迭代计划中的任务需要从wish list中拿出,如何处理这种需求变化与时间箱方式的矛盾?
2,第二个问题是关于项目估算,假设由于种种原因,项目估算出现重大失误,原来的预计的工时可能只有实际需要的50%,而项目采用了迭代增量式开发方式,并已经确定了迭代次数以及周期。除了延期交付之外,按原来的迭代计划显然已经无法及时交付了,如何处理迭代开发与赶工期的关系?如何调整迭代计划?

请多指教,谢谢。

两个问题都是因为需求不确定引起。
敏捷开发每个阶段是要和客户密切接触,确定需求,在前台无法完全确定需求前,给用户看的是原型,同时项目框架要对未知需求有相对的扩展性和容错性;
项目估算应该往大化估算。
对现在已有结果,只能通过搞好客户关系,重新确定需求和估算。