UP(及大多数新方法)提倡风险驱动(risk-driven)与客户驱动(client-driven)相结合的迭代计划。这意味着早期的迭代目标要能够识别和降低最高风险,并且能构造客户最关心的可视化特性。
风险驱动迭代开发更为明确地包含了以架构为中心(architecture-centric)迭代开发的实践,意味着早期迭代要致力于核心架构的构造、测试和稳定。为什么?因为没有稳固的架构就会带来高风险。
书本中的迭代与实际项目中的迭代
本书案例研究中的第1次迭代源于学习目标而非实际项目目标。因此,第1次迭代不是以架构为中心或风险驱动的。在实际项目中,我们应该首先处理困难的和具有风险的事物。但在本书的内容中,是为了帮助人们学习基本的OOA/D和UML,因此我们需要从阐述基本原则的问题,而非最困难的主题和问题开始,这与实际情况不同。