敏捷和架构
为了理解敏捷和架构的关系,我们继续讨论第1部分曾经讨论的3个主要的方法:XP、Scrum和RUP。 1, 极限编程:架构形成 XP是以程序员为中心的开发,其中没有一个核心实践明确讨论了软件架构,然而,这并不是说XP项目和XP团队不用或不理解架构在软件开发中的作用。Beck[2000]提到:“架构在XP项目中和在其他软件项目中一样重要”。因此,我们在概念上从XP方法入手是一个好的开端。接着Beck继续解释架构是如何形成的。 首次迭代,先挑选一些简单的和基本的故事,这些故事可以支持你创建整个架构。接下来,缩小范围,用最简单有效的方法实现这些故事。这个过程一旦结束,你就拥有了架构。 这些评论在XP的视角上提供了附加的解释。如果一个范围适度的系统,通过少量故事的一两次迭代展现出一个合理的架构基线,那么这种方法可能非常有效,使用这种模型就可能形成相当好的架构。并且,由于XP主要被推荐和应用于小团队,其有关团队大小和架构策略的观点是一致的。 此外,如果时间证明形成的系统架构不能支持系统继续演化,那么系统也可以较快地改写或者重构。事实上,重构代码是XP这个快速开发方法的关键组成部分,也是XP...