1.9.5 第4阶段:迭代用例
一旦代码框架运行起来,我们增加的每一组特征本身就是一个小项目。在一次迭代(iteration)期间,我们增加一组特征,一次迭代是一个相当短的开发时期。
一次迭代有多长时间?理想情况下,每次迭代为一到三个星期(具体随实现语言而异)。在这个期间的最后,我们得到一个集成的、测试过的、比前一周期有更多功能的系统。特别有趣的是迭代的基础:一个用例。每个用例是一组相关功能,在一次迭代中加入系统。这不仅为我们更好地提供了“用例应当处于什么范围内”的概念,而且还对用例概念进行了巩固,在分析和设计之后这个概念并未丢弃,它是整个软件建造过程中开发的基本单元。
当我们达到目标功能或外部最终期限到了,并且客户对当前版本满意时,我们就停止迭代。(记住,软件行业是建立在双方约定的基础之上。)因为这个过程是迭代的,所以我们有许多机会交货,而不是只有一个终点;开放源代码项目是在一次迭代的和高反馈的环境中开发,而这正是它成功的原因。
有许多理由说明迭代开发过程是有价值的。我们可以更早地揭露和解决严重问题,客户有足够的机会改变它们的意见,程序员会更满意,能更精确地掌握项目。而另一个重要的好处是对风险承担者(stakeholder)意见的反馈,他们能从项目当前状态准确地看到各方面因素。这可以减少或消除令人头脑昏昏然的会议,增强风险承担者的信心和支持。