“迭代”和“增量”是敏捷软件开发中的两个重要概念。弄清楚“迭代”和“增量”以及其依据,我们就可以在实际的操作中有章法可循。为什么要迭代?我们为什么要进行迭代开发呢?您一定遇到过这样情况:“我们知道想要什么。但你能估算出构建它需要多长时间吗?”“在启动开发之前,我们必须将这些需求明确下来。”“客户不知道他们想要什么”“客户时常改变想法”“我虽然不知道客户想要什么,但我却知道怎么得到它。”怎么得到客户想要的东西呢?——迭代!我们不指望我们所构建的软件正是客户(或用户)所想要的,但我们可以先构建后修改,通过多次迭代找到真正适合客户(用户)的软件。当然,我们必须保证我们初次确定的方案是正确的、行得通的